Re: Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread jun liu
I suggest to also put or paste the plain text on Github issue to let it easier 
for others to notice.

Jun

> On May 11, 2022, at 12:05 PM, yl C <32511...@gmail.com> wrote:
> 
> Hello Apache Dubbo Community,
> 
> Thanks for your replies. I'm sorry for the absence of attachments. The
> mailing list seemed to drop the attachment. I have uploaded the proposal to
> Google cloud disk.
> 
> Dubbo Proposal(English version)
> 
> Dubbo Proposal(中文版)
> 
> 
> Thanks,
> 
> Chen
> 
> Justin Mclean  于2022年5月11日周三 11:16写道:
> 
>> Hi,
>> 
>> The mailing list most likely dropped the attachment.
>> 
>> Kind Regards,
>> Justin
>> 



Re: Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread Jun Liu
Thanks Justin for the information.

Jun

> On May 11, 2022, at 11:16 AM, Justin Mclean  wrote:
> 
> Hi,
> 
> The mailing list most likely dropped the attachment.
> 
> Kind Regards,
> Justin



[VOTE] Release Apache Dubbo 3.0.8 RC1

2022-05-10 Thread Jun Liu
Hello Community,

This is a call for the vote to release Apache Dubbo version 3.0.8

The release candidates:
https://dist.apache.org/repos/dist/dev/dubbo/dubbo/3.0.8/

The staging repo:
https://repository.apache.org/content/repositories/orgapachedubbo-1209

Git tag for the release:
https://github.com/apache/dubbo/tree/dubbo-3.0.8

Hash for the release tag:
e915918e5c43319e1a7e2cab547685658d98b36a

Release Notes:
https://github.com/apache/dubbo/releases/tag/dubbo-3.0.8

The artifacts have been signed with Key 28681CB1, which can be
found in the keys file:
https://dist.apache.org/repos/dist/dev/dubbo/KEYS

The vote will be open for at least 72 hours or until necessary number of
votes are reached.

Please vote accordingly:

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove with the reason

Thanks,
The Apache Dubbo Team


Re: Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread yl C
 Hello Apache Dubbo Community,

Thanks for your replies. I'm sorry for the absence of attachments. The
mailing list seemed to drop the attachment. I have uploaded the proposal to
Google cloud disk.

Dubbo Proposal(English version)

Dubbo Proposal(中文版)


Thanks,

Chen

Justin Mclean  于2022年5月11日周三 11:16写道:

> Hi,
>
> The mailing list most likely dropped the attachment.
>
> Kind Regards,
> Justin
>


Re: Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread Justin Mclean
Hi,

The mailing list most likely dropped the attachment.

Kind Regards,
Justin


Re: support MemorySafeLinkedBlockingQueue

2022-05-10 Thread Jun Liu
Good job.

I noticed that PR on Github and we can discuss more about it before the next 
patch release.

Jun

> On May 9, 2022, at 9:47 PM, 邪龙(dragon-zhang) <1936978...@qq.com.INVALID> 
> wrote:
> 
> Hello community:
> 
> 
> Since PR[1] get merged, I found a better way to limit the memory used by 
> `BlockingQueue`.
> 
> 
> This `MemorySafeLinkedBlockingQueue` uses `MemoryLimitCalculator` to solve 
> the memory problem:  when the available memory of the JVM is less than a 
> certain value, the queue no longer `offer`.
> 
> 
> 
> 
> I submit a PR[2], you can see ISSUE[3] to get more details.
> 
> 
> If you are free, please see the PR[2] and help this PR[2] to solve the 
> problem better.
> 
> Looking forward to your reply.
> dragon-zhang
> 
> 
> [1] https://github.com/apache/dubbo/pull/9789
> [2] https://github.com/apache/dubbo/pull/10021
> 
> [3] https://github.com/apache/dubbo/issues/10020



Re: Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread Jun Liu
Hi,

Welcome. I could not find any attachment, did you forget to attach? 

It’s glad to hear you have some progress anyway after the discussions we had on 
supporting Proxyless Mesh.

Jun

> On May 11, 2022, at 12:34 AM, yl C <32511...@gmail.com> wrote:
> 
> Hi Apache Dubbo Community,
> 
> I'm Yanlan Chen, a master student from Beijing University of Posts and 
> Telecommunications. I wish to help Dubbo support for proxyless mesh.
> 
> My proposal is attached to this email.
> 
> Thanks,
> 
> Chen



Proposal -- Apache Dubbo GSoC2022 Proxyless Mesh support

2022-05-10 Thread yl C
 Hi Apache Dubbo Community,

I'm Yanlan Chen, a master student from Beijing University of Posts and
Telecommunications. I wish to help Dubbo support for proxyless mesh.

My proposal is attached to this email.

Thanks,

Chen


GSoc proposal from Cong Guoqing: Dubbo Thin SDK

2022-05-10 Thread 丛国庆
About Me

My name is Cong Guoqing. I graduated from Harbin Institute of Technology with a 
bachelor's degree and majored in software engineering with a master's degree in 
Shandong University.

In 2021, I had an internship at SenseTime. As a software development engineer, 
I participated in building Cosine open source community, and I am familiar with 
git collaborative development.

As a Java programmer, Dubbo is equivalent to Spring in the field of business 
development, and I often use Dubbo in business. This opportunity would like to 
participate in the integration of Dubbo and cloud native ,and I could 
contribute to the development of Dubbo.

I love programming and can commit 40 hours a week. When personal work conflicts 
with GSoC, I try to balance the two and quickly return to GSoC when the work at 
hand is completed. During the holidays, I will devote myself to the open source 
work and ensure that I can finish the task on time. Please rest assured that my 
tutor and the organization can rest assured.

 

Personal Technology Stack

Java(proficient), Spring WebFlux(familiar), SpringBoot(familiar), Spring Cloud 
Alibaba(familiar), Typescript+React(proficient), Go(know).

Proficient with Docker+Swam. Understand K8S operation mechanism.

 

The Project Design

1.  Application startup

l  Dubbo application process aligned with Sidecar lifecycle

○ Ensure that Sidecar detects that the Endpoint is healthy after normal startup.

Preliminary solution: The Dubbo application connects to Sidecar and sends POST 
/HealthCheck/OK

○ Operating state: Check the health check to ensure survival

○ If the Dubbo application goes offline gracefully, Sidecar must be able to 
sense that the Endpoint is offline.

Preliminary solution: Send POST /HealthCheck /fail

l  In the startup process, except for life cycle alignment, other major actions 
need to be reduced, which has little impact on the main mesh process.

2.  Health check

Run state, which verifies whether the Dubbo application is healthy through an 
envoy health check. At present, Triple protocol realizes Health check based on 
the Health interface of gRPC. You need to support the Envoy'S HTTP health check 
Filter.

3.  The service registry

The most mature of the registries supported in ISTIO is Kubernetes, and the 
Kubernetes Registry is recommended for phase one. At present, there is an 
implementation of Kubernetes Registry, which is mainly stored in Kubernetes 
ETCD in the form of CRD:

l  Metadata content is stored in annotations.

l  Application name corresponds to Kubernetes Service model.

l  Hosts: {IDL service name}.{namespace}.svc.cluster.local But for Kubernetes 
service registration is still missing a lot of content, application level 
service registration needs to consider the interface name and application name 
mapping relationship, in addition to the custom label, namespace, etc., need to 
increase the external configuration.

4.  Service discovery

The problem of service discovery is how to trigger service discovery on the 
data side. The current operation of Pilot is to discover the full Service and 
Workload data from Kubernetes on the first cluster startup, and send the 
Service discovery data to the Pilot Agent instance via xDS, and then push it 
increments. In the service discovery phase, the Dubbo application only connects 
to the Envoy and does not initiate any subscriptions.

5.  The service call

The interconnection of load balancing policies is performed by Sidecar instead 
of Dubbo.

Store the routing rules to Kubernetes API Server and register Kubernetes CRD 
resources as the storage of routing rules. Routing rules are delivered to 
Sidecar through RDS, and Sidecar acts as a service route.

 

Schedule

5.21-7.1: Discuss the overall idea with the supervisor, write design documents, 
and plan the overall scheme of the project.

7.2-7.23: The first stage of development, firstly develop the health check 
function of the application startup part, this stage is mainly to get familiar 
with the code.

7.24-9.4: The second phase of development, the development of health inspection 
and service registration, so that Dubbo can better use K8S as the registry, 
changing the original registry.

9.5-10.1: Phase 3 development, revamping Dubbo service discovery.

10.1-11.1: The fourth stage of development, Sidecar access, thin SDK closure 
and integration testing.

11.2-11.12: Sorted out projects and wrote defense reports.

 

Personal Project Experience

1. Qing Gateway—Design and implementation of high-performance responsive gateway

The Qing Gateway is a high-performance, multi-protocol, scalable, distributed, 
responsive API Gateway with an interactive management platform interface. The 
single-machine Gateway can withstand 10W QPS flow, the Gateway processing loss 
is only 1-3ms, and the performance is as good as that of Spring Cloud Gateway. 
Compatible with mainstream microservice tools: Nacos, Redis, MySQL. Based on