You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2022/05/23 08:26:12 UTC

[dubbo-awesome] branch master updated (2ebf6f1 -> eaea8e5)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git


    from 2ebf6f1  Update D3.1-thinsdk-sidecar-mesh.md
     new 209054c  更新2022.5.19会议记录
     new 4eb56e1  Merge branch 'master' into patch-1
     new a6174f5  Merge branch 'master' into patch-1
     new eaea8e5  Merge pull request #69 from conghuhu/patch-1

The 41 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 proposals/D3.1-thinsdk-sidecar-mesh.md | 8 ++++++++
 1 file changed, 8 insertions(+)


[dubbo-awesome] 30/41: Merge pull request #67 from CrazyHZM/weekly-meeting

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 4e7d624cc2eb81f83392ffe82a8a2f27fa496bb7
Merge: 913caaa 3299dd9
Author: huazhongming <cr...@gmail.com>
AuthorDate: Fri May 13 10:39:56 2022 +0800

    Merge pull request #67 from CrazyHZM/weekly-meeting
    
    13th May 2022 : Dubbo Weekly Meeting

 weeklymeeting/2022-05-13/MetadataService.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)


[dubbo-awesome] 26/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit be81376eff02a6f8390776dfe2f791b1e2e236b0
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri Apr 22 14:26:56 2022 +0800

    Update README.md
---
 README.md | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index 6daea57..442ee44 100644
--- a/README.md
+++ b/README.md
@@ -2,22 +2,13 @@
 
 Collections of Apache dubbo relevant informations
 
+## Bi-Weekly Meetings
 
+## Proposals
 
-Video playing address:
+## Events
 
- 
+## Tasks
+
+## Meetups & Conferences
 
-| slides/meetup    | Video address                                      |
-| ---------------- | -------------------------------------------------- |
-| 201910@chengdu   | https://developer.aliyun.com/live/1522             |
-| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
-| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
-| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
-| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
-| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
-| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
-| 201809@chengdu    | https://yq.aliyun.com/live/500                     |
-| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
-| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
-| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |


[dubbo-awesome] 14/41: fix wrong link

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit c989bd47d0d6a940b2ecfd37cdc3c49beb1b8e88
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Apr 2 17:40:40 2022 +0800

    fix wrong link
---
 proposals/D3.2-proxyless-mesh.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/proposals/D3.2-proxyless-mesh.md b/proposals/D3.2-proxyless-mesh.md
index eb28174..3695a84 100644
--- a/proposals/D3.2-proxyless-mesh.md
+++ b/proposals/D3.2-proxyless-mesh.md
@@ -21,7 +21,7 @@ Proxyless 模式使得微服务又回到了 2.x 时代的部署架构,如上
 
 
 ## Related Proposals
-![sidecar-mesh](D1-thinsdk-sidecar-mesh.md)
+[sidecar-mesh](./D3.1-thinsdk-sidecar-mesh.md)
 
 ## Proposal
 


[dubbo-awesome] 17/41: Update 2022-idea-list.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 64f316a1d910718c0113e2fc704a967fd560fe10
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Apr 2 21:11:39 2022 +0800

    Update 2022-idea-list.md
---
 summerofcode/gsoc/2022-idea-list.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index b78d1ba..fcd5945 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -1,6 +1,6 @@
 # 报名须知
 * 请务必详细阅读指引:https://community.apache.org/gsoc.html#prospective-asf-mentors-read-this
-* 请务必在感兴趣的项目 Github Issue 下方留言。
+* 请务必在感兴趣的 Project 的 Issue 下方留言。
 * Google 官方报名地址:https://summerofcode.withgoogle.com/
 
 


[dubbo-awesome] 36/41: Update D3.1-thinsdk-sidecar-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 1b05eb5981f541db22823be5616c04ede70b6757
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri May 20 10:49:35 2022 +0800

    Update D3.1-thinsdk-sidecar-mesh.md
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index 551fc69..339b1ed 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -43,14 +43,14 @@
 
 ### ThinSDK 改造方案
 #### 应用启动
-Dubbo应用进程与Sidecar生命周期对齐,正常启动后,让Sidecar感知到该Endpoint是健康的。
+1. Dubbo应用进程与Sidecar生命周期对齐,正常启动后,让Sidecar感知到该Endpoint是健康的。
   * 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok。**这里具体是往哪个端口和地址发送请求?**
   * 运行态:通过健康检查来保活
 
-Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)
+2. Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)
   * 初步方案:发送POST /healthcheck/fail
 
-在启动过程中,除了生命周期对齐以外,其他主要需要做缩减的动作,对mesh主流程影响不大。
+3. 在启动过程中,除了生命周期对齐以外,其他主要需要做缩减的动作,对mesh主流程影响不大。
 
 #### 健康检查
 运行态,通过envoy的健康检查来保证Dubbo应用是否正常。目前Triple协议基于gRPC的Health接口实现健康检查。需要支持Envoy的HTTP健康检查Filter:
@@ -67,18 +67,15 @@ istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶
 #### 服务发现
 服务发现需要解决的问题是如何触发数据面的服务发现。目前Pilot的操作是在集群第一次启动时从Kubernetes中发现全量的Service、Workload数据,并将这些服务发现数据通过xDS下发给Envoy(Pilot-Agent)实例,后续则以增量的方式推送。
 
-在服务发现阶段,Dubbo应用仅仅与Envoy进行建连,并没有发起任何订阅的行为。
-
-
 > 应用如何配置?指定哪个协议的注册中心扩展
 > 框架如何改造?框架内的行为与流程是怎样的
 
 #### 服务调用
-解决Dubbo SDK的请求如何代理给sidecar?
+1. 解决Dubbo SDK的请求如何代理给sidecar?
   * sdk的RPC请求转换为类似如下格式的请求动作:http://demo.default.svc.cluster.local:50051。其中,demo为当前接口对应的 app-name
   * 避免dubbo之前的 Cluster 选址等问题
 
-第二阶段工作(路由等流量治理接入)
+2. 第二阶段工作(路由等流量治理接入)
 
 负载均衡策略的对接:交由Sidecar来做:
   * envoy支持的负载均衡策略:https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers


[dubbo-awesome] 37/41: Update D3.1-thinsdk-sidecar-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 256dddf92c02629a1bcde6c967031f8353af85c2
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri May 20 10:51:42 2022 +0800

    Update D3.1-thinsdk-sidecar-mesh.md
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index 339b1ed..d81147a 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -61,14 +61,14 @@
 #### 服务注册
 istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶段推荐使用Kubernetes Registry,Kubernetes 调度的服务将自动被Istion识别所以第一阶段暂不需要做额外操作。
 
-> 应用如何配置?指定哪个协议的注册中心扩展
-> 框架如何改造?框架内的行为与流程是怎样的
+> 应用如何配置?指定哪个协议的注册中心扩展  
+> 框架如何改造?框架内的行为与流程是怎样的  
 
 #### 服务发现
 服务发现需要解决的问题是如何触发数据面的服务发现。目前Pilot的操作是在集群第一次启动时从Kubernetes中发现全量的Service、Workload数据,并将这些服务发现数据通过xDS下发给Envoy(Pilot-Agent)实例,后续则以增量的方式推送。
 
-> 应用如何配置?指定哪个协议的注册中心扩展
-> 框架如何改造?框架内的行为与流程是怎样的
+> 应用如何配置?指定哪个协议的注册中心扩展  
+> 框架如何改造?框架内的行为与流程是怎样的  
 
 #### 服务调用
 1. 解决Dubbo SDK的请求如何代理给sidecar?


[dubbo-awesome] 29/41: 13th May 2022 : Dubbo Weekly Meeting

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 3299dd9df49d56d229ef73486bf284106bad08d2
Author: crazyhzm <cr...@gmail.com>
AuthorDate: Fri May 13 10:39:04 2022 +0800

    13th May 2022 : Dubbo Weekly Meeting
    
    Signed-off-by: crazyhzm <cr...@gmail.com>
---
 weeklymeeting/2022-05-13/MetadataService.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/weeklymeeting/2022-05-13/MetadataService.md b/weeklymeeting/2022-05-13/MetadataService.md
new file mode 100644
index 0000000..5057e01
--- /dev/null
+++ b/weeklymeeting/2022-05-13/MetadataService.md
@@ -0,0 +1,17 @@
+# 背景
+
+相关issue:https://github.com/apache/dubbo/issues/9662
+
+相关的PR:https://github.com/apache/dubbo/pull/9873
+
+问题简述:MetadataService是Dubbo3.0的一个内部服务,主要提供看对服务元数据信息的操作能力。MetadataService的服务调用与正常的业务服务调用无异。目前所有正常的业务服务所代表的url都会携带ServiceModel,并且在发起服务调用时,会将url中的ServiceModel作为调用RpcInvocation携带的ServiceModel。但是MetadataService所代表的url却没有携带,具体可见MetadataUtils.java内的逻辑。
+
+当用户配置了metadata-service-protocol: tri,也就意味着发起MetadataService服务调用采样了triple协议,而triple协议在调用时依赖了ServiceModel的相关信息。当发起MetadataService服务调用时,从invocation和url中没能拿到ServiceModel,从而报NPE。
+
+# 需要讨论的内容
+
+如果需要修复这个问题,大致有三个方案:
+
+1. 在现有的逻辑内向MetadataService注入ServiceModel,让MetadataService的服务发现与正常的业务服务引用保持相同的逻辑,代价是引入的ReferenceConfigBase比较重,其中很多内容都不太需要用到。
+2. 抽象出一套内置服务的逻辑,不走ref config,用于内部的轻量级服务,改动量需要评估,可能会较大。
+3. 单独在triple解决这个依赖问题,但是这治标不治本,后续协议依然会踩坑。


[dubbo-awesome] 21/41: add dubbo cli proposal

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 5d3d343c46979a531b975773e019db568bc356a2
Author: crazyhzm <cr...@gmail.com>
AuthorDate: Wed Apr 6 10:31:12 2022 +0800

    add dubbo cli proposal
---
 summerofcode/gsoc/2022-idea-list.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index 0c83ecb..81ce7f7 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -46,3 +46,7 @@ Istio 中 bookinfo 应用
 * Related issue: 
 * 总体目标:为了方便Dubbo的用户排查问题,为Dubbo社区提供解析Dubbo、Triple协议的工具。目前比较流行的抓包工具有wireshark等,但是Wireshark的开源许可证是GPL2,与Apache 2.0不兼容,因此我们需要实现解析Dubbo自身协议的工具。
 
+## 题目九:Dubbo CLI 实现
+
+* Related issue: 
+* 总体目标:Dubbo CLI将作为Dubbo的命令行工具,Dubbo应用进程的统一的运维操作组件。它可以对接Dubbo生态内的各类多语言SDK,并且能够用于安装Dubbo Admin、Dubbo Pixiu等组件。


[dubbo-awesome] 19/41: add gsoc

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 2fd7a1f701a6a38c519eaef3eccaae493896e994
Author: crazyhzm <cr...@gmail.com>
AuthorDate: Sun Apr 3 12:25:15 2022 +0800

    add gsoc
---
 summerofcode/gsoc/2022-idea-list.md | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index d6bce0b..0c83ecb 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -35,3 +35,14 @@ Istio 中 bookinfo 应用
 ## 题目六:rust 多语言实现
 * Related issue: 
 * 总体目标:为 Dubbo3 提供 rust 多语言实现
+
+## 题目七:python3 多语言实现
+
+* Related issue: 
+* 总体目标:为 Dubbo3 提供 python3 多语言实现
+
+## 题目八:Dubbo、Triple协议的抓包解析工具
+
+* Related issue: 
+* 总体目标:为了方便Dubbo的用户排查问题,为Dubbo社区提供解析Dubbo、Triple协议的工具。目前比较流行的抓包工具有wireshark等,但是Wireshark的开源许可证是GPL2,与Apache 2.0不兼容,因此我们需要实现解析Dubbo自身协议的工具。
+


[dubbo-awesome] 28/41: Update D3.2-proxyless-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 913caaaffd87a1eb3bc7cbfbb5e1755a93e739d3
Author: ken.lj <ke...@gmail.com>
AuthorDate: Wed May 11 16:02:40 2022 +0800

    Update D3.2-proxyless-mesh.md
---
 proposals/D3.2-proxyless-mesh.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/proposals/D3.2-proxyless-mesh.md b/proposals/D3.2-proxyless-mesh.md
index d85a9ee..830240c 100644
--- a/proposals/D3.2-proxyless-mesh.md
+++ b/proposals/D3.2-proxyless-mesh.md
@@ -43,8 +43,11 @@ Proxyless 模式使得微服务又回到了 2.x 时代的部署架构,如上
 
 ### Details
 
+启动参数读取
+特有的配置
 应用级服务发现
 
+
 1. xDS 官方说明
 
 https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol


[dubbo-awesome] 23/41: Merge pull request #3 from kevinw66/patch-1

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 564f4db56d30d451f941043bb7a194d1b9d6bd9f
Merge: 0c3b241 9d8919d
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Apr 18 11:05:40 2022 +0800

    Merge pull request #3 from kevinw66/patch-1
    
    Update D4-observability.md

 proposals/D4-observability.md | 59 +++++++++++++++++++++++++------------------
 1 file changed, 34 insertions(+), 25 deletions(-)


[dubbo-awesome] 25/41: Update .asf.yaml

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit ec518e14915411e2fd277f53e47fe34b76b767c9
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri Apr 22 14:24:59 2022 +0800

    Update .asf.yaml
---
 .asf.yaml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
index 8d84e69..072f6cf 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -3,3 +3,12 @@ notifications:
     issues:       notifications@dubbo.apache.org
     pullrequests: notifications@dubbo.apache.org
     jira_options: link label link label
+github:
+  homepage: https://dubbo.apache.org/
+  features:
+    # Enable wiki for documentation
+    wiki: true
+    # Enable issue management
+    issues: true
+    # Enable projects for project management boards
+    projects: true


[dubbo-awesome] 38/41: Merge branch 'master' into patch-1

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 4eb56e17b7be8d2b538cf02238985f53c2343b82
Merge: 209054c 256dddf
Author: conghuhu <56...@users.noreply.github.com>
AuthorDate: Fri May 20 10:53:07 2022 +0800

    Merge branch 'master' into patch-1

 proposals/D3.1-thinsdk-sidecar-mesh.md | 75 +++++++++++++++++++---------------
 1 file changed, 41 insertions(+), 34 deletions(-)



[dubbo-awesome] 01/41: init

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit e7475b0bd1c5412a9b710ba0fa3aeae755ac4893
Author: beiwei.ly <be...@alibaba-inc.com>
AuthorDate: Wed Sep 4 20:05:27 2019 +0800

    init
---
 README.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29


[dubbo-awesome] 31/41: add metting result

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit d0212f3ab455c85ef8ea624f9997ac0aa2bce2ce
Author: crazyhzm <cr...@gmail.com>
AuthorDate: Fri May 13 21:17:03 2022 +0800

    add metting result
    
    Signed-off-by: crazyhzm <cr...@gmail.com>
---
 weeklymeeting/2022-05-13/MetadataService.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/weeklymeeting/2022-05-13/MetadataService.md b/weeklymeeting/2022-05-13/MetadataService.md
index 5057e01..147bedf 100644
--- a/weeklymeeting/2022-05-13/MetadataService.md
+++ b/weeklymeeting/2022-05-13/MetadataService.md
@@ -15,3 +15,12 @@
 1. 在现有的逻辑内向MetadataService注入ServiceModel,让MetadataService的服务发现与正常的业务服务引用保持相同的逻辑,代价是引入的ReferenceConfigBase比较重,其中很多内容都不太需要用到。
 2. 抽象出一套内置服务的逻辑,不走ref config,用于内部的轻量级服务,改动量需要评估,可能会较大。
 3. 单独在triple解决这个依赖问题,但是这治标不治本,后续协议依然会踩坑。
+
+----
+
+
+
+会议纪要:
+
+1. ServiceModel和referenceConfig 解耦,来支持MetadataService的ServiceModel注入需求,避免引入重量级的ReferenceConfig
+2. Triple 协议的stub存储全局的信息,待优化。


[dubbo-awesome] 13/41: init some columns: proposals and summerofcode

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 032748651d14c86b7a7d5d19e8c8751e09b6175c
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Apr 2 17:38:46 2022 +0800

    init some columns: proposals and summerofcode
---
 .gitignore                                         |   2 +
 images/mesh-mix.png                                | Bin 0 -> 332680 bytes
 images/mesh-thinsdk-1.png                          | Bin 0 -> 46448 bytes
 images/mesh-xds-1.png                              | Bin 0 -> 26318 bytes
 images/mesh-xds-2.png                              | Bin 0 -> 40196 bytes
 images/multi-instance.png                          | Bin 0 -> 193479 bytes
 images/observability-2.png                         | Bin 0 -> 24738 bytes
 images/observability.png                           | Bin 0 -> 24738 bytes
 proposals/D0-triple.md                             |   0
 .../D1-application-level-service-discovery.md      |   0
 proposals/D1.1-service-discovery-reflection.md     |   0
 proposals/D2-multi-instances.md                    | 114 ++++++
 proposals/D3-mesh.md                               |  48 +++
 proposals/D3.1-thinsdk-sidecar-mesh.md             |  94 +++++
 proposals/D3.2-proxyless-mesh.md                   | 454 +++++++++++++++++++++
 proposals/D4-observability.md                      | 125 ++++++
 proposals/D5-router-chain.md                       |   0
 proposals/D6-url.md                                |   0
 proposals/D7-async.md                              |   0
 proposals/D8-qos.md                                |   0
 proposals/D9-backpressure.md                       |   0
 summerofcode/cas-ospp/2022-idea-list.md            |  90 ++++
 summerofcode/gsoc/2022-idea-list.md                |  13 +
 23 files changed, 940 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0cc2124
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.iml
+.idea/
diff --git a/images/mesh-mix.png b/images/mesh-mix.png
new file mode 100644
index 0000000..2a11eac
Binary files /dev/null and b/images/mesh-mix.png differ
diff --git a/images/mesh-thinsdk-1.png b/images/mesh-thinsdk-1.png
new file mode 100644
index 0000000..e70cdcc
Binary files /dev/null and b/images/mesh-thinsdk-1.png differ
diff --git a/images/mesh-xds-1.png b/images/mesh-xds-1.png
new file mode 100644
index 0000000..f402e1a
Binary files /dev/null and b/images/mesh-xds-1.png differ
diff --git a/images/mesh-xds-2.png b/images/mesh-xds-2.png
new file mode 100644
index 0000000..b92d311
Binary files /dev/null and b/images/mesh-xds-2.png differ
diff --git a/images/multi-instance.png b/images/multi-instance.png
new file mode 100644
index 0000000..2194b6c
Binary files /dev/null and b/images/multi-instance.png differ
diff --git a/images/observability-2.png b/images/observability-2.png
new file mode 100644
index 0000000..bf9679f
Binary files /dev/null and b/images/observability-2.png differ
diff --git a/images/observability.png b/images/observability.png
new file mode 100644
index 0000000..bf9679f
Binary files /dev/null and b/images/observability.png differ
diff --git a/proposals/D0-triple.md b/proposals/D0-triple.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D1-application-level-service-discovery.md b/proposals/D1-application-level-service-discovery.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D1.1-service-discovery-reflection.md b/proposals/D1.1-service-discovery-reflection.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D2-multi-instances.md b/proposals/D2-multi-instances.md
new file mode 100644
index 0000000..573eaf4
--- /dev/null
+++ b/proposals/D2-multi-instances.md
@@ -0,0 +1,114 @@
+# D2 - Multi-instances
+* Authors: Albumen, Dewei Gong, Jun Liu
+
+## Objective
+在本设计内,我们主要涉及的内容为Dubbo的指标体系,并且需要设计的内容总共涉及三块,指标收集、本地聚合、指标推送。
+* 指标收集:我们将Dubbo内部需要监控的指标推送至统一的Collector中进行存储。
+* 本地聚合:指标收集获取的均为基础指标,而一些分位数指标则需通过本地聚合计算得出。
+* 指标推送:收集和聚合后的指标通过一定的方式推送至第三方服务器,本文档只涉及Prometheus。
+
+* 我们将原来的MetricsConfig配置重构后供可观测性使用,并且只有在柔性服务开启或者Metrics,Config配置存在的情况下才会开启指标收集的功能。
+
+## Background
+Java 提供的静态变量(static field)能力可以将持有对象引用的行为绑定到类上面来,这给开发者提供了巨大的便利。注入单例模式、工厂模式等设计模式的实现方案都依赖了静态变量的功能。通过使用静态变量,开发者可以在任何时间、任何地点简单地获取到所需要的对象信息。
+
+```java
+public class Test {
+    public static Object obj;
+}
+Test.obj = xxx;
+```
+
+在一直以来的 Dubbo 框架开发中,静态变量受到了广泛地应用,诸如使用一个全局共享的 ConfigManager 来存储全局配置信息、ServiceRepository 来存储服务信息,不论从中心化管理配置或者是参数获取的便利性的角度来说,这种设计都是最佳的。在 Dubbo 2.7 以前的所有版本,Dubbo 所需要的运行时配置信息都通过全局静态变量获取,通过 RPC 服务三元组(interface + version + group)的方式进行唯一定位。
+
+但是随着 Dubbo 用户基数的不断扩大以及在阿里集团内由 Dubbo 作为内核的 HSF3 框架都对原来的这种设计模式提出了挑战。
+
+对于开源用户,社区收到的诉求主要包括以下几点:
+1. 在同一个应用内能够创建多个三元组一样的订阅。这个行为在 Dubbo 2.7 中虽然没有做强限制,但是由于 Dubbo 很多参数是取自全局的,而这个获取的索引使用的就是三元组。如果用户创建了两个三元组一样的订阅,他们的参数会被相互覆盖,地址推送等功能也会收到很大的影响。
+2. Java 提供了自定义 ClassLoader 的机制可以自定义指定类的加载器来源,但是对于 Dubbo 来说并没有去支持多 ClassLoader 的场景,在动态代理生成和序列化场景下都不支持 ClassLoader 切换的行为。
+3. Dubbo 众多的测试用例都共享了同一份配置信息,导致在进行单元测试的时候极为容易造成环境污染的问题。
+
+对于阿里集团内大规模落地来说,我们遇到的问题主要有:
+1. 阿里集团内有众多的中间件框架,这些框架提供了各种各样的类加载方式,同时业务方期望在同一应用内的配置等信息是相互隔离的。
+2. 一些业务方的定制逻辑需要支持动态热部署的模式,具体体现在动态对某个虚拟环境进行销毁,这需要 Dubbo 内的生命周期管理更加完善。
+3. 集团内有多个对 Spring 容器进行定制化开发的框架,需要 Dubbo 能够支持多个 Spring Context 独立管理生命周期的场景。
+
+基于众多的这些原因,在八月初的时候我们决定对 Dubbo 的生命周期进行重构,经过一个月的紧张开发,目前社区版本已经完整支持了多实例化的功能,Dubbo 的生命周期也变得更加清晰。
+
+## Related Proposals
+
+## Proposal
+整个 Dubbo 多实例的设计我们按照了三层模型来配置,分别是 Framework 框架层、Application 应用层、Module 模块层。
+
+[multi-instance](../images/multi-instance.png)
+
+基于三层机制,我们可以将 Dubbo 按照一定规则进行隔离:
+1. Framework 与 Framework 之间完全隔离,相当于是使用了两个完全不同的 Dubbo 实例
+2. Application 与 Application 之间按照应用名进行隔离,但是相互有些地共享 Protocol、Serialization 层,目标是达到在同一个 dubbo 端口(20880)上可以承载多个应用,而每个应用独立上报地址信息。
+3. Module 与 Module 之间可以由用户自定义进行进行隔离,可以是热部署周期的一个状态、也可以是 Spring Context 的一个 Context。通过 Module,用户可以对 Dubbo 的生命周期粒度进行最小的管理。
+
+为了实现 Dubbo 多实例化,Dubbo 框架内做的最多的变化是修改掉大部分的从静态变量中获取的参数的逻辑,最明显的逻辑是 Dubbo 内部用于参数传递的 URL 对象带上了 ScopeModel 状态,这个 ScopeModel 对应的就是上面提到的三层模型的具体数据承载对象。
+
+### 使用方式
+
+多实例重构版本之后的 Dubbo 对于大多数用户的使用来说是无感知的,改造后的 DubboBootstrap 已经变成一个独立的启动器,用户可以通过 DubboBootstrap 定制多实例的使用。
+
+下面是使用多实例的一个简单的例子。
+
+```java
+    ServiceConfig<DemoService> service = new ServiceConfig<>();
+    service.setInterface(DemoService.class);
+    service.setRef(new DemoServiceImpl());
+
+    ReferenceConfig<DemoService> reference1 = new ReferenceConfig<>();
+    reference1.setInterface(DemoService.class);
+
+    ReferenceConfig<DemoService> reference2 = new ReferenceConfig<>();
+    reference2.setInterface(DemoService.class);
+
+	// 创建一个启动器(自动创建新 ApplicationModel)
+    DubboBootstrap bootstrap1 = DubboBootstrap.newInstance();
+	// 指定应用名
+    bootstrap1.application(new ApplicationConfig("dubbo-demo-app-1"))
+        .registry(new RegistryConfig("nacos://localhost:8848"))
+        // 创建一个模块
+        .newModule()
+        	// 在模块内发布服务
+    		.service(service)
+        .endModule()
+        // 创建一个模块
+        .newModule()
+        	// 在模块内订阅服务
+    		.reference(reference1)
+        .endModule()
+        .start();
+
+	// 创建一个启动器(自动创建新 ApplicationModel)
+    DubboBootstrap bootstrap2 = DubboBootstrap.newInstance();
+	// 指定应用名
+    bootstrap2.application(new ApplicationConfig("dubbo-demo-app-2"))
+        .registry(new RegistryConfig("nacos://localhost:8848"))
+        // 创建一个模块
+        .newModule()
+        	// 在模块内订阅服务
+    		.reference(reference2)
+        .endModule()
+        .start();
+
+	// stub1 与 stub2 是两个独立的订阅,互相隔离
+
+	// 订阅的 stub
+    DemoService stub1 = reference1.get();
+    System.out.println(stub1.sayHello("Hello World!"));
+
+	// 订阅的 stub
+    DemoService stub2 = reference2.get();
+    System.out.println(stub2.sayHello("Hello World!"));
+
+    bootstrap1.stop();
+    bootstrap2.stop();
+```
+
+这个例子对外发布了一个 DemoService 的服务,由 dubbo-demo-app-1 这个应用提供。同时我们创建了两个订阅,分别是在 dubbo-demo-app-1 应用和 dubbo-demo-app-2 应用中,然后我们去对两个订阅进行调用,得到预期的结果。
+
+这里需要注意的是虽然两个订阅的服务信息是完全一致的,在多实例化改造后,这两个订阅对于消费端来说是完全隔离的,也就是在最新版本的 Dubbo 中是支持三元组一样的情况下通过变更参数来创建多个订阅的行为的了。
\ No newline at end of file
diff --git a/proposals/D3-mesh.md b/proposals/D3-mesh.md
new file mode 100644
index 0000000..28b997e
--- /dev/null
+++ b/proposals/D3-mesh.md
@@ -0,0 +1,48 @@
+# Dubbo Mesh (draft)
+* Authors: Zhongming Hua, Jun Liu
+
+## Objective
+## Background
+## Related Proposals
+## Proposal
+### 场景
+1. 场景一(适用不具备Dubbo SDK定制能力,并且完全没有接入Mesh的用户群体):Sidecar仅托管服务发现能力以及进出口流量,该群体有三种分支场景:
+   ○ 希望增加Sidecar组件,来完成Mesh改造。Sidecar仍然发现原有的注册中心(非kubernetes)内的服务,需要定制控制面来适配第三方注册中心。
+   ○ 希望增加Sidecar组件,来完成Mesh改造。服务注册想要切换到控制面官方支持的注册中心,比如istio支持Kubernetes等,此时可以选择采用Dubbo内的 Kubernetes Registry方案。Sidecar发现Kubernetes内的服务。
+   ○ 不希望增加Sidecar,来完成Mesh改造。
+2. 场景二(适用已经具备对 Dubbo SDK、数据面、控制面的定制能力,并且完全没有接入Mesh的用户群体):已经基于目前Dubbo版本,做了不同于社区方案的kubernetes 服务注册,比如服务注册模型在kubernetes中的存储模型和存储方式将不一定按照dubbo内的方案来执行。
+   ○ 希望增加Sidecar组件,对接istio、Envoy等,来完成Mesh改造。
+   ○ 希望不增加Sidecar组件,来完成Mesh改造。
+
+### Mesh模式
+   ● 完全Proxy Mesh模式
+   ● 主次模式:Proxy Mesh回切到Proxyless Mesh模式(两种并存,主Proxy Mesh,次Proxyless Mesh)
+   ● 完全Proxyless Mesh模式
+#### Proxy Mesh(ThinSDK)模式
+   描述:Proxy Mesh有两种一种是Sidecar、另一种是集中式Proxy。(是否要考虑集中式Proxy的情况)注:下文提到的Proxy Mesh暂时都指代Sidecar模式。
+
+方案:Proxy Mesh采用Dubbo内部的直连模式来完成Dubbo SDK与Sidecar之间的通信。
+
+待做事项:
+1. 缩小Dubbo SDK包(新增一个Dubbo ThinSDK Library,名字叫dubbo-thin.jar ??):dubbo-thin.jar应该更加专注于RPC本身。
+   ○ 服务发现
+   ○ 路由(Router、Loadbalance)
+   ○ 服务注册(Optional)
+   ○ 减少部分可观测性(Optional)
+   ■ Metrics数据上报,如果去掉Dubbo的Metrics上报,能会丢失应用于Sidecar之间的rt损耗等。
+   ■ Tracing:可以去掉。
+   ■ Logging:不能去掉。
+2. 减少不必要的类加载
+3. 梳理需要适配的内容:
+   ○ Cluster内比如merge功能
+4. 增强与Sidecar之间的交互(dubbo 、triple)
+   ○ 健康状态感知(心跳保活)
+   ○ 部分配置露出并且透传,比如timeout、retry等。(主要为请求链路上的配置)
+   ○ 广播模式配置透传
+5. 是否要加强Dubbo SDK侧对mesh的配置露出(待讨论):新增MeshConfig,将Dubbo内部的一些模型进行封装,比如sidecar之间的连接数(consumer的connections),改为与sidecar之间的连接数等,让mesh配置更加突出。
+
+#### 主次模式
+无需缩小包
+方案一:采用新增容错策略、并新增恢复能力(恢复到Proxy Mesh模式)
+方案二:通过心跳保活探测来触发切换能力,并通过重连来触发恢复Proxy Mesh模式的能力。
+#### Proxyless Mesh模式
diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
new file mode 100644
index 0000000..a90987d
--- /dev/null
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -0,0 +1,94 @@
+# 3.1 Dubbo Thin SDK (draft)
+* Authors: Zhongming Hua, Jun Liu
+
+## Objective
+## Background
+## Related Proposals
+## Proposal
+
+### 四大流程的核心逻辑介绍
+
+除了应用启动和服务注册流程以外,其他两大流程都是在直连模式下:服务发现以及服务调用流程。其中应用下线不单独列出来主要是优雅下线时候的处理
+#### 应用启动
+以下是应用启动的大致流程(省略了spring容器启动等与mesh无关的流程):
+1. ApplicationDeployer #initialize():注册ShutdownHook ->开启配置中心 -> 加载应用配置 -> 初始化ModuleDeployer -> 开启元数据中心
+2. ApplicationDeployer #doStart():ModuleDeployer #start()
+3. ModuleDeployer #start():ModuleDeployer #initialize() -> 暴露服务 -> 引用服务
+4. ApplicationDeployer #onModuleStarted():暴露 MetadataService 服务-> 上报元数据信息-> 注册应用实例地址
+#### 服务暴露
+   以下是服务暴露的流程:
+1. 暴露 injvm 协议的服务
+2. 暴露 Triple 协议的服务
+3. 发起服务注册:registry 协议
+4. 暴露 MetadataService 服务
+5. 发起服务注册:service-discovery-registry 协议
+#### 服务发现
+   在应用启动中的服务引用过程包含了服务发现,以下是直连模式下的引用服务流程:
+
+1. TripleProtocol #refer
+2. 创建 TripleInvoker 实例
+3. 与对端建连(ConnectionManager #connect)
+4. 将 TripleInvoker 实例包装成ClusterInvoker,附加集群相关处理能力(Cluster #join)
+5. 新增Cluster Interceptor(主要是附加一些容错策略、结果处理策略)
+6. 推送consumer端元数据信息
+7. 创建代理
+
+#### 服务调用
+1. InvokerInvocationHandler #invoke()
+2. filter chain处理:ConsumerContextFilter 、FutureFilter 、MonitorFilter 、RouterSnapshotFilter
+3. 执行 router chain(直连模式不需要路由)
+4. 执行负载均衡策略(由于是直连一个sidecar,所以负载均衡策略没有效果):(AbstractClusterInvoker #select)
+5. TripleInvoker #doInvoke()
+6. DefaultFuture2 #received
+
+### 四大流程涉及的改造点
+#### 应用启动
+
+● Dubbo应用进程与Sidecar生命周期对齐
+○ 正常启动后,让Sidecar感知到该Endpoint是健康的。
+■ 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok
+○ 运行态:通过健康检查来保活
+○ Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)
+■ 初步方案:发送POST /healthcheck/fail
+● 在启动过程中,除了生命周期对齐以外,其他主要需要做缩减的动作,对mesh主流程影响不大。
+
+#### 健康检查
+运行态,通过envoy的健康检查来保证Dubbo应用是否正常。目前Triple协议基于gRPC的Health接口实现健康检查。需要支持Envoy的HTTP健康检查Filter:
+● https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/health_check/v3/health_check.proto#envoy-v3-api-msg-extensions-filters-http-health-check-v3-healthcheck
+● https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/health_check.proto
+#### 服务注册
+istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶段推荐使用Kubernetes Registry。目前已经有Kubernetes Registry的实现,主要以 CRD 的方式存储到 Kubernetes 的 etcd 中:
+● 元数据内容存储在annotation中。
+● 应用名对应 Kubernetes service模型。
+● hosts:{IDL service name}.{namespace}.svc.cluster.local
+但是对于Kubernetes 服务注册还缺少了许多内容,应用级别的服务注册需要考虑interface name与应用名称的映射关系,除此之外还有自定义label、namespace等。需要增加对外的配置。
+#### 服务发现
+服务发现需要解决的问题是如何触发数据面的服务发现。目前Pilot的操作是在集群第一次启动时从Kubernetes中发现全量的Service、Workload数据,并将这些服务发现数据通过xDS下发给Envoy(Pilot-Agent)实例,后续则以增量的方式推送。
+在服务发现阶段,Dubbo应用仅仅与Envoy进行建连,并没有发起任何订阅的行为。
+#### 服务调用
+● 负载均衡策略的对接:交由Sidecar来做:
+○ envoy支持的负载均衡策略:https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers
+● 服务路由:路由规则的存储,将Kubernetes API Server作为Config Store,注册Kubernetes CRD资源来作为路由规则的存储。通过RDS下发路由规则到Sidecar,由Sidecar来做服务路由。
+○ 涉及到现有的路由规则如何迁移到istio中路由规则管控的问题。
+目前triple协议默认的header:
+
+[:scheme: http, :method: POST, :path: /org.apache.dubbo.demo.GreeterService/sayHello, :authority: 127.0.0.1:50051, grpc-accept-encoding: gzip, te: trailers, content-type: application/grpc+proto, tri-consumer-appname: dubbo-demo-triple-api-consumer]
+
+● 在进行服务调用时:
+○ :authority会被识别成一个virtual host,需要适配
+○ 需要支持envoy header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers
+○ 需要支持envoy router的header:调用时支持Envoy router header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#id7
+○ 对比google grpc 和envoy grpc的差异,适配header内容:https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/grpc_service.proto.html#envoy-api-field-core-grpcservice-envoy-grpc
+
+
+
+### 会议目的:
+● 确定第一阶段的目标
+● 讨论整体的方案
+
+### 会议记录:
+优雅下线的时候已经有相关的逻辑。
+接口级别的服务注册对接sidecar
+多实例:应用。
+没有mesh 迁移到mesh的方案
+gRPC 相关的支持内容调研
\ No newline at end of file
diff --git a/proposals/D3.2-proxyless-mesh.md b/proposals/D3.2-proxyless-mesh.md
new file mode 100644
index 0000000..eb28174
--- /dev/null
+++ b/proposals/D3.2-proxyless-mesh.md
@@ -0,0 +1,454 @@
+# D3.2 - Dubbo Proxyless Mesh (draft)
+* Authors: Albumen, Jun Liu
+
+## Objective
+通过不同语言版本的 Dubbo3 SDK 直接实现 xDS 协议解析,实现 Dubbo 与 Control Plane 的直接通信,进而实现控制面对流量管控、服务治理、可观测性、安全等的统一管控,规避 Sidecar 模式带来的性能损耗与部署架构复杂性。
+
+## Background
+* [Service Mesh](https://istio.io/)  
+* [控制面 xDS & UDPA](https://github.com/cncf/udpa)  
+
+经典的 Sidecar Mesh 部署架构有很多优势,如平滑升级、多语言、业务侵入小等,但也带来了一些额外的问题,比如:
+- Proxy 带来的性能损耗,在复杂拓扑的网络调用中将变得尤其明显
+- 流量拦截带来的架构复杂性 
+- Sidecar 生命周期管理 
+- 部署环境受限,并不是所有环境都满足 Sidecar 流量拦截条件 
+- 一定有更灵活的选择
+
+针对 Sidecar Mesh 模型的问题,Dubbo 社区自很早之前就做了 Dubbo 直接对接到控制面的设想与思考,并在国内开源社区率先提出了 Proxyless Mesh 的概念,当然就 Proxyless 概念的说法而言,最开始是谷歌提出来的。
+
+Proxyless 模式使得微服务又回到了 2.x 时代的部署架构,如上图所示,和我们上面看的 Dubbo 经典服务治理模式非常相似,所以说这个模式并不新鲜, Dubbo 从最开始就是这么样的设计模式。但相比于 Mesh 架构,Dubbo2 并没有强调控制面的统一管控,而这点恰好是 Service Mesh 所强调的,强调对流量、可观测性、证书等的标准化管控与治理,也是 Mesh 理念先进的地方。
+
+
+## Related Proposals
+![sidecar-mesh](D1-thinsdk-sidecar-mesh.md)
+
+## Proposal
+
+![xds-2](../images/mesh-xds-2.png)
+
+在 Dubbo3 Proxyless 架构模式下,Dubbo 进程将直接与控制面通信,Dubbo 进程之间也继续保持直连通信模式,我们可以看出 Proxyless 架构的优势:
+
+- 没有额外的 Proxy 中转损耗,因此更适用于性能敏感应用
+- 更有利于遗留系统的平滑迁移
+- 架构简单,容易运维部署
+- 适用于几乎所有的部署环境
+
+### Architecture
+![!xds-1](../images/mesh-xds-1.png)
+
+### Details
+
+1. xDS 官方说明
+
+https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol
+
+● Listener Discovery Service (LDS): Returns Listener resources. Used basically as a convenient root for the gRPC client's configuration. Points to the RouteConfiguration.
+● Route Discovery Service (RDS): Returns RouteConfiguration resources. Provides data used to populate the gRPC service config. Points to the Cluster.
+● Cluster Discovery Service (CDS): Returns Cluster resources. Configures things like load balancing policy and load reporting. Points to the ClusterLoadAssignment.
+● Endpoint Discovery Service (EDS): Returns ClusterLoadAssignment resources. Configures the set of endpoints (backend servers) to load balance across and may tell the client to drop requests.
+
+2. 协议基础:protobuf + gRPC
+
+实现方案 1:使用 io.grpc 的依赖手动创建原生 gRPC 服务
+实现方案 2:使用 Dubbo 3.0 的新协议
+
+3.  测试环境控制平面 mock
+
+Envoy 提供的 Java 实例控制平面 https://github.com/envoyproxy/java-control-plane
+
+4.  Java 版协议支持
+
+Envoy 提供的 Java 版控制平面 API https://search.maven.org/search?q=g:io.envoyproxy.controlplane
+
+协议可利用内容
+
+● LDS: envoy.api.v2.Listener
+● RDS: envoy.api.v2.RouteConfiguration
+● CDS: envoy.api.v2.Cluster
+● EDS: envoy.api.v2.ClusterLoadAssignment
+
+LDS  
+
+Listener 发现协议,在 sidecar 部署模式下用户配置本地监听器,由于 Dubbo 去接入 xDS 本身就是一个 proxy-less 的模式,所以 LDS 很多的配置是不需要考虑的。
+针对 LDS 协议,需要做的有获取适配的监听器用于获取路由配置。
+对于 LDS 协议,有些控制平面并不能保证获取到的监听器是唯一的,所以需要兼容获取到多个监听器时的配置情况。
+
+RDS  
+
+Route 发现协议,通过路由配置可以对请求的地址进行匹配,经过一定的策略后获取对应的上游 Cluster 集群。
+针对 RDS 协议,可以在基于 Listener 监听器的配置,获取到一组对应的路由协议。然后根据服务自省框架对应的服务名筛选出对应的 Cluster 集群。
+对于 RDS 协议,有些控制平面并不能保证获取到的l路由组是唯一的,所以需要兼容获取到多个路由组时的配置情况。
+在 RDS 的结果中包括了流控还有重试的配置,这些可以作为路由配置和负载均衡部分的默认配置来源。
+
+CDS  
+
+Cluster 发现协议,可以获取到对应集群内的配置(如超时时间、重试限制、元数据信息等),是基于 RDS 获取的。
+CDS 的结果可以作为路由配置和负载均衡部分的配置来源。
+
+EDS  
+
+Endpoint 发现协议,可以获取到集群中对应节点信息,即是服务间通信的底层节点信息。
+通过 EDS 的结果,可以获取到对应的节点地址信息、权重信息、健康信息,进而组成服务自省框架最基础的实例信息。
+
+接入模型设计  
+
+采用注册中心的模式对接,配置通过 ServiceInstance 运行时配置传出,通过 Invoker 传递到服务调用时。
+
+服务发现逻辑  
+
+xDS 接入以注册中心的模式对接,节点发现同其他注册中心的服务自省模型一样,对于 xDS 的负载均衡和路由配置通过 ServiceInstance 的动态运行时配置传出,在构建 Invoker 的时候将配置参数传入配置地址。
+
+
+服务调用逻辑  
+
+在 RPC 调用链路中,当获取负载均衡策略时根据 Invoker 的参数信息构建负载均衡信息(适配 EDS 的权重信息),对于集群的重试逻辑配置则工具 RDS 和 CDS 的配置进行修改。
+
+协议内容示例  
+
+LDS  
+
+获取默认本地监听器,根据 Dubbo 支持的 RPC 协议读取过滤链中对应 "routeConfigName" 字段
+```json
+{
+  "name": "0.0.0.0_9080",
+  "address": {
+    "socketAddress": {
+      "address": "0.0.0.0",
+      "portValue": 9080
+    }
+  },
+  "filterChains": [
+    {
+      "filterChainMatch": {
+        "applicationProtocols": [
+          "http/1.0",
+          "http/1.1",
+          "h2c"
+        ]
+      },
+      "filters": [
+        {
+          "name": "envoy.filters.network.http_connection_manager",
+          "typedConfig": {
+            "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager",
+            "statPrefix": "outbound_0.0.0.0_9080",
+            "rds": {
+              "configSource": {
+                "ads": {},
+                "resourceApiVersion": "V3"
+              },
+              "routeConfigName": "9080"
+            },
+            "httpFilters": ···,
+            "tracing": {
+              "clientSampling": {
+                "value": 100
+              },
+              "randomSampling": {
+                "value": 100
+              },
+              "overallSampling": {
+                "value": 100
+              }
+            },
+            "streamIdleTimeout": "0s",
+            "accessLog": ···,
+            "useRemoteAddress": false,
+            "generateRequestId": true,
+            "upgradeConfigs": [
+              {
+                "upgradeType": "websocket"
+              }
+            ],
+            "normalizePath": true
+          }
+        }
+      ]
+    },
+    {
+      "filterChainMatch": {},
+      "filters": ···,
+      "name": "PassthroughFilterChain"
+    }
+  ],
+  "deprecatedV1": {
+    "bindToPort": false
+  },
+  "listenerFilters": [
+    ···
+  ],
+  "listenerFiltersTimeout": "5s",
+  "continueOnListenerFiltersTimeout": true,
+  "trafficDirection": "OUTBOUND"
+}
+```
+
+
+RDS
+
+根据 LDS 的 "routeConfigName" 参数获取 RDS
+匹配服务名和 "domains" 字段,读取 "cluster" 字段
+```json
+{
+    "name": "9080",
+    "virtualHosts": [
+        ···,
+        {
+            "name": "details.default.svc.cluster.local:9080",
+            "domains": [
+                "details.default.svc.cluster.local",
+                "details.default.svc.cluster.local:9080",
+                "details",
+                "details:9080",
+                "details.default.svc.cluster",
+                "details.default.svc.cluster:9080",
+                "details.default.svc",
+                "details.default.svc:9080",
+                "details.default",
+                "details.default:9080",
+                "172.20.206.174",
+                "172.20.206.174:9080"
+            ],
+            "routes": [
+                {
+                    "name": "default",
+                    "match": {
+                        "prefix": "/"
+                    },
+                    "route": {
+                        "cluster": "outbound|9080||details.default.svc.cluster.local",
+                        "timeout": "0s",
+                        "retryPolicy": {
+                            "retryOn": "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes",
+                            "numRetries": 2,
+                            "retryHostPredicate": [
+                                {
+                                    "name": "envoy.retry_host_predicates.previous_hosts"
+                                }
+                            ],
+                            "hostSelectionRetryMaxAttempts": "5",
+                            "retriableStatusCodes": [
+                                503
+                            ]
+                        },
+                        "maxGrpcTimeout": "0s"
+                    },
+                    "decorator": {
+                        "operation": "details.default.svc.cluster.local:9080/*"
+                    }
+                }
+            ],
+            "includeRequestAttemptCount": true
+        },
+        {
+            "name": "productpage.default.svc.cluster.local:9080",
+            "domains": [
+                "productpage.default.svc.cluster.local",
+                "productpage.default.svc.cluster.local:9080",
+                "productpage",
+                "productpage:9080",
+                "productpage.default.svc.cluster",
+                "productpage.default.svc.cluster:9080",
+                "productpage.default.svc",
+                "productpage.default.svc:9080",
+                "productpage.default",
+                "productpage.default:9080",
+                "172.20.132.203",
+                "172.20.132.203:9080"
+            ],
+            "routes": [
+                {
+                    "name": "default",
+                    "match": {
+                        "prefix": "/"
+                    },
+                    "route": {
+                        "cluster": "outbound|9080||productpage.default.svc.cluster.local",
+                        "timeout": "0s",
+                        "retryPolicy": {
+                            "retryOn": "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes",
+                            "numRetries": 2,
+                            "retryHostPredicate": [
+                                {
+                                    "name": "envoy.retry_host_predicates.previous_hosts"
+                                }
+                            ],
+                            "hostSelectionRetryMaxAttempts": "5",
+                            "retriableStatusCodes": [
+                                503
+                            ]
+                        },
+                        "maxGrpcTimeout": "0s"
+                    },
+                    "decorator": {
+                        "operation": "productpage.default.svc.cluster.local:9080/*"
+                    }
+                }
+            ],
+            "includeRequestAttemptCount": true
+        },
+        {
+            "name": "ratings.default.svc.cluster.local:9080",
+            "domains": [
+                "ratings.default.svc.cluster.local",
+                "ratings.default.svc.cluster.local:9080",
+                "ratings",
+                "ratings:9080",
+                "ratings.default.svc.cluster",
+                "ratings.default.svc.cluster:9080",
+                "ratings.default.svc",
+                "ratings.default.svc:9080",
+                "ratings.default",
+                "ratings.default:9080",
+                "172.20.66.58",
+                "172.20.66.58:9080"
+            ],
+            "routes": [
+                {
+                    "name": "default",
+                    "match": {
+                        "prefix": "/"
+                    },
+                    "route": {
+                        "cluster": "outbound|9080||ratings.default.svc.cluster.local",
+                        "timeout": "0s",
+                        "retryPolicy": {
+                            "retryOn": "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes",
+                            "numRetries": 2,
+                            "retryHostPredicate": [
+                                {
+                                    "name": "envoy.retry_host_predicates.previous_hosts"
+                                }
+                            ],
+                            "hostSelectionRetryMaxAttempts": "5",
+                            "retriableStatusCodes": [
+                                503
+                            ]
+                        },
+                        "maxGrpcTimeout": "0s"
+                    },
+                    "decorator": {
+                        "operation": "ratings.default.svc.cluster.local:9080/*"
+                    }
+                }
+            ],
+            "includeRequestAttemptCount": true
+        },
+        {
+            "name": "reviews.default.svc.cluster.local:9080",
+            "domains": [
+                "reviews.default.svc.cluster.local",
+                "reviews.default.svc.cluster.local:9080",
+                "reviews",
+                "reviews:9080",
+                "reviews.default.svc.cluster",
+                "reviews.default.svc.cluster:9080",
+                "reviews.default.svc",
+                "reviews.default.svc:9080",
+                "reviews.default",
+                "reviews.default:9080",
+                "172.20.193.13",
+                "172.20.193.13:9080"
+            ],
+            "routes": [
+                {
+                    "name": "default",
+                    "match": {
+                        "prefix": "/"
+                    },
+                    "route": {
+                        "cluster": "outbound|9080||reviews.default.svc.cluster.local",
+                        "timeout": "0s",
+                        "retryPolicy": {
+                            "retryOn": "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes",
+                            "numRetries": 2,
+                            "retryHostPredicate": [
+                                {
+                                    "name": "envoy.retry_host_predicates.previous_hosts"
+                                }
+                            ],
+                            "hostSelectionRetryMaxAttempts": "5",
+                            "retriableStatusCodes": [
+                                503
+                            ]
+                        },
+                        "maxGrpcTimeout": "0s"
+                    },
+                    "decorator": {
+                        "operation": "reviews.default.svc.cluster.local:9080/*"
+                    }
+                }
+            ],
+            "includeRequestAttemptCount": true
+        }
+    ],
+    "validateClusters": false
+}
+```
+
+CDS  
+
+根据 "cluster" 字段获取集群配置信息
+
+```json
+{
+    "transportSocketMatches": ···,
+    "name": "outbound|9080||details.default.svc.cluster.local",
+    "type": "EDS",
+    "edsClusterConfig": {
+        "edsConfig": {
+            "ads": {},
+            "resourceApiVersion": "V3"
+        },
+        "serviceName": "outbound|9080||details.default.svc.cluster.local"
+    },
+    "connectTimeout": "10s",
+    "circuitBreakers": {
+        "thresholds": [
+            {
+                "maxConnections": 4294967295,
+                "maxPendingRequests": 4294967295,
+                "maxRequests": 4294967295,
+                "maxRetries": 4294967295
+            }
+        ]
+    },
+    "metadata": {
+        "filterMetadata": {
+            "istio": {
+                "config": "/apis/networking.istio.io/v1alpha3/namespaces/default/destination-rule/details"
+            }
+        }
+    },
+    "filters": ···
+}
+```
+
+EDS  
+
+根据 "cluster" 字段获取节点信息
+
+```json
+{
+    "name": "outbound|9080||ratings.default.svc.cluster.local",
+    "addedViaApi": true,
+    "hostStatuses": [
+        {
+            "address": {
+                "socketAddress": {
+                    "address": "172.21.128.222",
+                    "portValue": 9080
+                }
+            },
+            "stats": ···,
+            "healthStatus": {
+                "edsHealthStatus": "HEALTHY"
+            },
+            "weight": 1,
+            "locality": {}
+        }
+    ]
+}
+```
+
diff --git a/proposals/D4-observability.md b/proposals/D4-observability.md
new file mode 100644
index 0000000..732853a
--- /dev/null
+++ b/proposals/D4-observability.md
@@ -0,0 +1,125 @@
+# D4 - Observability
+* Authors: Zhiguo Wu, Dewei Gong, Jun Liu
+
+## Objective
+在本设计内,我们主要涉及的内容为Dubbo的指标体系,并且需要设计的内容总共涉及三块,指标收集、本地聚合、指标推送。
+* 指标收集:我们将Dubbo内部需要监控的指标推送至统一的Collector中进行存储。
+* 本地聚合:指标收集获取的均为基础指标,而一些分位数指标则需通过本地聚合计算得出。
+* 指标推送:收集和聚合后的指标通过一定的方式推送至第三方服务器,本文档只涉及Prometheus。
+
+* 我们将原来的MetricsConfig配置重构后供可观测性使用,并且只有在柔性服务开启或者Metrics,Config配置存在的情况下才会开启指标收集的功能。
+
+## Background
+## Related Proposals
+[backpressure](./D9-backpressure.md)
+## Proposal
+### 指标收集
+指标通过common模块下的MetricsCollector存储所有指标数据,供柔性服务、指标推送获取。  
+收集指标时,默认只收集基础指标,而一些单机聚合指标则需要开启服务柔性或者本地聚合后另起线程计算。此处若开启服务柔性,则本地聚合默认开启。且柔性服务依赖本地聚合的数据。  
+柔性服务开启方式暂定。 
+
+本地聚合开启方式:  
+```xml
+<dubbo:metrics>
+    <dubbo:aggregation enable="true" />
+</dubbo:metrics>
+```
+
+### 基础指标
+基础指标此处不建议收集太具体的指标,更具体的指标可通过Prometheus的Promql计算获得,或者通过开启本地聚合,另起线程计算。  
+
+**基础指标目前暂定以下:**
+总请求数、总成功数、总失败数、正在处理的请求数、线程数、请求响应时间(补充中。。。)
+
+**数据流转**
+在common包下定义MetricsCollector来收集Dubbo内部各类指标,若开启本地聚合则另起线程,基于MetricsCollector内已存在指标进行统计计算后再次写入该类中。
+若开启了本地聚合,则指标接口(仿照MetadataService写一个MetricsService)从MetricsCollector中获取其需要的数据。    
+若开启了指标推送(Prometheus为例),则Prometheus SPI中将common包下Dubbo自定义的指标类(如Counter、Gauge等)转换为Prometheus自己的指标类。最后通过用户配置的推送方式(pull、push)来将指标推送至Prometheus服务器中。  
+
+具体如下图所示。  
+![observability](../images/observability.png)  
+
+### 指标聚合
+其中指标聚合大部分需要通过滑动窗口计算,此处先介绍采用的滑动窗口算法
+### 滑动窗口
+此处滑动窗口以Prometheus JavaClient的TimeWindowQuantiles为例  
+假设我们初始有6个bucket,每个窗口时间设置为2分钟  
+每次写入指标数据时,我们会将数据分别写入6个bucket内。每隔两分钟移动一个bucket并且清除原来bucket内的数据。 
+读取指标时,我们读取当前current指向的bucket,以达到滑动窗口的效果。  
+具体如下图所示。  
+![observability](../images/observability2.png)
+
+
+在每个bucket内,我们计算分位数指标时也有3种常用算法可选用
+1、TDigest(极端分位精确度高,如p1 p99,中间分位精确度低,如p50。推荐使用该方式)
+    1.1、https://op8867555.github.io/posts/2018-04-09-tdigest.html
+1.2、https://blog.csdn.net/csdnnews/article/details/116246540
+1.3、开源实现:https://github.com/tdunning/t-digest
+2、HdrHistogram(精确度低)
+2.1、https://caorong.github.io/2016/07/31/hdrhistogram/
+2.2、开源实现:https://github.com/HdrHistogram/HdrHistogram
+3、CKMS(允许一定错误率,由用户自己设置,Prometheus的TimeWindowQuantiles内部使用了该算法。资料偏少,大致看看即可)
+3.1、https://caorong.github.io/2020/08/03/quartile-%20algorithm/
+3.2、https://www.stevenengelhardt.com/2018/03/29/calculating-percentiles-on-streaming-data-part-7-cormode-korn-muthukrishnan-srivastava/
+3.3、http://dimacs.rutgers.edu/~graham/pubs/papers/bquant-icde.pdf  
+
+**参数设计**  
+指标聚合参数:
+```xml
+<dubbo:metrics>
+    <dubbo:aggregation enable="true" bucket-num="5" time-window-seconds="10"/>
+</dubbo:metrics>
+```
+
+由于聚合指标的计算消耗较大,故在本地聚合开启时,Dubbo内部会开启另外的线程做指标的聚合计算,获取更精确的分位数指标。
+
+### 本地聚合
+本地聚合指将一些简单的指标通过计算获取各分位数指标的过程。  
+
+**具体指标**   
+* qps: 基于滑动窗口获取动态qps
+* rt: 基于滑动窗口获取动态rt
+* 失败请求数: 基于滑动窗口获取最近时间内的失败请求数
+* 成功请求数: 基于滑动窗口获取最近时间内的成功请求数
+* 处理中请求数: 前后增加Filter简单统计即可
+*(补充中。。。)
+
+**指标接口**  
+指标接口将提供一个类似于MetadataService的MetricsService,该Service不仅提供柔性服务所需的接口级数据,也提供所有指标的查询方式。  
+其中方法级指标的查询的接口可按如下方式声明
+
+```java
+public class MethodMetrics {
+  private Integer qps;
+  private Quantile rt;
+  private Integer succeed;
+  private Integer failed;
+  private Integer processing;
+}
+
+public class Quantile {
+  private Double p99;
+  private Double p95;
+  private Double max;
+  private Double avg;
+  private Double min;
+  private Double last;
+}
+```
+
+### 指标推送
+指标推送只有用户在设置了<dubbo:metrics />配置且配置protocol参数后才开启,若只开启指标聚合,则默认不推送指标。
+Promehteus Pull ServiceDiscovery
+● 使用dubbo-admin等类似的中间层,启动时根据配置将本机 IP、Port、MetricsURL 推送地址信息至dubbo-admin(或任意中间层)的方式,暴露HTTP ServiceDiscovery供prometheus读取,配置方式如<dubbo:metrics protocol="prometheus" mode="pull" address="${dubbo-admin.address}" port="20888" url="/metrics"/>,其中在pull模式下address为可选参数,若不填则需用户手动在Prometheus配置文件中配置地址
+○ 优点:稳定,并且能通过中间层移除已下线的应用,只保留存活应用供Prometheus读取
+○ 缺点:不够轻量,如果用户没有使用dubbo-admin则必须引入。如果用户自己实现了dubbo控制台则需提供类似http-sd-starter模块供集成,并且该模块需实现健康检查代码,检测已下线的dubbo应用并移除
+Prometheus Push Pushgateway
+● 用户直接在Dubbo配置文件中配置Prometheus Pushgateway的地址即可,如<dubbo:metrics protocol="prometheus" mode="push" address="${prometheus.pushgateway-url}" interval="5" />,其中interval代表推送间隔
+○ 优点:方便,用户只需要引入依赖,并加上这一行配置即可直接采集指标
+○ 缺点:Push方式Prometheus无法自动删除已下线的应用的指标,需要用户手动处理
+
+### 整体结构设计
+1、移除原来与 Metrics 相关的类
+2、创建新模块 dubbo-metrics/dubbo-metrics-api、dubbo-metrics/dubbo-metrics-prometheus,MetricsConfig 作为该模块的配置类
+3、若不使用micrometer,则在common模块下实现自己的Counter、Gauge等,并在dubbo-metrics/dubbo-metrics-prometheus手动转换成prometheus对应的类型
+4、若使用micrometer,则Collector中使用基本类型代表指标,如Long、Double等,并在dubbo-metrics-api中引入micrometer,由micrometer对内部指标进行转换
\ No newline at end of file
diff --git a/proposals/D5-router-chain.md b/proposals/D5-router-chain.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D6-url.md b/proposals/D6-url.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D7-async.md b/proposals/D7-async.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D8-qos.md b/proposals/D8-qos.md
new file mode 100644
index 0000000..e69de29
diff --git a/proposals/D9-backpressure.md b/proposals/D9-backpressure.md
new file mode 100644
index 0000000..e69de29
diff --git a/summerofcode/cas-ospp/2022-idea-list.md b/summerofcode/cas-ospp/2022-idea-list.md
new file mode 100644
index 0000000..e02710b
--- /dev/null
+++ b/summerofcode/cas-ospp/2022-idea-list.md
@@ -0,0 +1,90 @@
+## tls证书中心化管理滚动更新
+
+Dubbo 作为一个 RPC 框架,在处理请求的时候只能无条件(即使采用 token 鉴权机制)认为来自对端的数据是可信的,因此如果 Dubbo 传输的数据被中间人截获,将对 Dubbo 请求的处理造成严重的影响。而基于连接的 TLS 机制可以很好的解决这个问题,但是当前 Dubbo 对于证书的管理较为简单,也无法适配动态证书生效的情况,因此需要一个中心化的组件来管控 Dubbo 的证书,基于可信通道下发认证信息。基于此 Dubbo 可以做到将节点的连接暴露的互联网中进行通信,降低节点间通信成本,和提高应用间可信程度。
+
+参考:mTLS 机制
+
+## 端口协议复用
+
+一个端口支持多种协议可以使部署和运维更为方便,甚至在一些特殊的开发场景也能降低复杂度。例如:一个业务逻辑需要提供给不同语言、不同业务方进行调用。
+当前大多数 rpc 框架均不支持该逻辑(包括 Dubbo)
+以 Dubbo 举例,使用Triple 协议并开启所有默认服务,会开启如下默认端口
+● Triple: 50051
+● Metadata : 20880
+● Qos: 22222
+如果后续增加其他功能可能还会更多,这很不优雅,并且还启动了多个 Netty Server,造成了资源浪费。
+如果本地需要测试,在不修改配置的情况下端口会冲突导致启动失败,体验很差。
+目标
+实现服务端同端口多协议暴露,将各种协议服务使用一种统一的方式使用同一个 Netty Server 进行暴露
+● 将Qos 协议和 Triple 协议使用同一个端口暴露
+● (Optional)将 Dubbo 的其他协议进行接入
+1. 对于协议切换/架构升级的场景,通常需要同时暴露多个协议,单端口多协议能最大程度上带来运维的便捷性。
+2. 从后端开发的角度一套业务代码加少许配置就能暴露多个端口也能带来降低开发成本
+   目前 Dubbo 支持一个应用对外发布多种 RPC 协议,但这些 RPC 协议都需要独立占用一个服务端端口,另外 Dubbo QoS 也同样占用了一个端口。维护这些端口的监听需要消耗一定的资源,同时暴露多端口对于运维也存在一定复杂度,如 VIP /域名等。因此可以通过在同一个端口支持多种复用协议来降低复杂度,提高易用性。
+   Background
+   One port supports multiple protocols, which makes deployment and operation and maintenance more convenient and simple, and even reduces complexity in special development scenarios. For example, a business logic needs to be provided to different languages and different business parties for invocation.
+   Most current RPC frameworks do not support this logic (including Dubbo).
+   Taking Dubbo as an example, using the Triple protocol and enabled all default services will open the following default ports.
+   ● Triple: 50051
+   ● Metadata : 20880
+   ● Qos: 22222
+   If other functions are added in the future, there may be more, which is very inelegant, and multiple Netty Servers are also started, resulting in a waste of resources.
+   If you need to test locally, the port conflict will cause the startup to fail without modifying the configuration, and the experience is very poor.
+   Goal
+   Implement multi-protocol exposure on the same port on the server side, and expose various protocol services using the same Netty Server in a unified way.
+   ● Expose the QoS protocol and the Triple protocol using the same port
+   ● (optional)Implement other protocols of Dubbo in this way.
+   Meaning
+   ● Start the various protocol services in a unified manner
+   ● Support the same port exposed multiple protocols
+   Before
+   ● Netty
+
+## 优雅下线
+   对于部署了 Dubbo 服务的应用,由于应用发布需要重启进程,这个时候很多在途请求会由于进程的关闭而失败。因此 Dubbo 需要一种机制,在应用进程退出前通知所有的消费端不再发起新的请求,同时等待所有在途请求结束后再关闭进程。
+
+## 完善故障排查机制与流程
+
+当前 Dubbo 在使用的时候由于环境等种种原因,可能会出现如地址找不到、请求超时等异常。在大多数地方都有日志进行记录,本项目希望能为 Dubbo 提供一种快速的故障排查机制,包括但不限于在日志中透出排查网页信息、故障排查码,亦或者是自动感知上下文情况自动分析获取解决办法等。
+
+admin api 迁移 qos 去中心化管控
+
+Dubbo 拥有多种治理规则,如基于标签路由等,这些规则都是基于 Dubbo Admin 中心化进行管控。本题目希望将 Dubbo Admin 的 API 迁移到 Dubbo QoS 中,以此来达到不需要部署 Dubbo Admin 的后端程序即可对集群进行管控的目的。
+
+## 对外暴露的 API 信息控制
+
+在 Dubbo 版本迭代过程中,内部相互依赖的接口签名很容易被改动。但是这些仅 Dubbo 内部使用的 API 很多被用户误使用。为了更好地控制 Dubbo 对外暴露的 API 信息,Dubbo 希望将 API 分类为三种类型:暴露给用户开放使用的、内部 Dubbo 使用的、单元测试使用的。基于此在 Dubbo 编译的时候进行强制卡点,避免用户依赖内部使用的 API。
+
+参考:Guava 的 VisibleForTesting 和 kolin 的 OptIn、JDK9 中开始提供的 module 机制
+
+## dubbo-website 界面交互优化
+
+
+## 性能调优:Profiling & Benchmark
+在选型 RPC 框架时,性能是用户关心的一个核心因素,好的 RPC 框架一方面可以减少长尾请求,提供可预测的稳定响应时间,另一方面是单次调用响应时间最少。 这对于提升终端用户的体验以及降低界面加载速度来说是至关重要的。
+从框架内部看,对于一个成熟的框架,内部也需要通过微基准测试的方式来保证内部处理是趋向最优的。这样在发布版本或提交 PR 时,能够简单直观的发现框架的性能是否有所下降,也能更快的定位到修改点对最终性能的影响。通过这种方式也能鼓励那些喜欢性能调优的外部人员参与到社区内部,来为开源社区贡献自己的一份力量,从而进一步促进社区的稳定发展和运行。
+目前 Dubbo 缺少全局上和框架内部的性能数据。提供完善的性能测试套件和微基准测试套件能够给所有 Dubbo 用户和开发者更加直观的理解 Dubbo 的性能,并写出性能友好的代码。Benchamrk 能够方便用户调研框架以及开发者进行框架开发和性能调优,有利于框架的发展和让用户使用 Dubbo。
+
+目标:
+增加 Dubbo Java/ GO 的  benchmark ,包括但不限于 Triple / Dubbo  协议 / 内部框架实现,方式可以是微基准测试或提供 Profiling 的工具/脚本。
+
+
+## Dubbo Reactive Stream
+Reactive Stream 提供了一套标准的异步流处理 API, 在能够让应用写出事件驱动的程序的同时,也通过 backpressure 的方式保证了节点的稳定。Triple 协议在通信协议层面为 Dubbo 框架增加了流式场景的支持,在此基础上能够实现上层包括大文件传输和推送机制的业务需求。但目前的用户 API 较为原始,需要用户实现 StreamObserver 。而 Reactive Stream 作为反应式编程的事实标准,反压策略也能最大程度的保证处理大规模流数据时不会产生 Buffer Overflow 。Dubbo + Reactive Stream Stub的组合模式可以给用户带来最方便的流式使用方式以及全链路异步性能提升。
+
+目标
+Dubbo Compiler 的 code generator  支持生成  Reative Stream Stub API ,如 reactor / rxjava ,提供相应使用文档和实例,支持 backpressure
+
+## Triple stub generator
+### Describe the proposal
+Gradle is a promising build tool for modern jvm language users, we shoulde support it when users using dubbo.
+Dubbo has a maven compiler plugin for generating protos, but the [protobuf-gradle-plugin](https://github.com/google/protobuf-gradle-plugin) does not support specifing `MainClass` . So Dubbo's compiler can not work with gradle. Hoping anyone can help to fix it.
+
+Here are some candidate solutions
+- Publish multiple maven plugins with determined `MainClass`
+- Write a build script template for generating Dubbo proto files
+- Write a plugin like [akka](https://plugins.gradle.org/plugin/com.lightbend.akka.grpc.gradle)
+- Support `MainClass` in `protobuf-gradle-plugin`
+
+
+
diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
new file mode 100644
index 0000000..2bc101b
--- /dev/null
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -0,0 +1,13 @@
+## 可观测性
+Github Issue
+## Proxyless Mesh  
+## Proxy Mesh - Thin SDK
+## admin api 迁移 qos 去中心化管控
+## 服务治理场景化用例设计
+[Github Issue]()    
+
+**任务描述**  
+Dubbo 拥有多种治理规则,如基于标签路由、条件路由等,但是这些治理规则的使用具有一定的难度,用户也很难直观的了解到其对应的使用场景。因此 Dubbo 期望有这样的一些场景化的用例能够体现 Dubbo 的治理能力,帮助用户将治理规则迁移到真实业务场景中使用。
+
+**参考:**  
+Istio 中 bookinfo 应用


[dubbo-awesome] 03/41: add dubbo slides

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit f21643b7ec7634d8bb5fd6e3be73121f6c11c4f4
Author: beiwei.ly <be...@alibaba-inc.com>
AuthorDate: Wed Sep 4 20:09:50 2019 +0800

    add dubbo slides
---
 .../What's Dubbo and How It Works - ACNA2018.pdf     | Bin 0 -> 1674372 bytes
 ...\234\215\345\212\241\346\262\273\347\220\206.pdf" | Bin 0 -> 5308981 bytes
 slides/design/Dubbo_Framework_Extensions.pdf         | Bin 0 -> 2794705 bytes
 slides/design/Dubbo_RPC_Features.pdf                 | Bin 0 -> 2948713 bytes
 slides/design/Framework_Design_Principles.pdf        | Bin 0 -> 2264335 bytes
 slides/design/High_Performance_Remoting.pdf          | Bin 0 -> 1952042 bytes
 slides/design/Service_Framework_Practices.pdf        | Bin 0 -> 2529214 bytes
 ...o-(Incubating)-Open-Source-Present-and-Future.pdf | Bin 0 -> 1019017 bytes
 ...an's-practice-on-microservice-architecture-en.pdf | Bin 0 -> 1960943 bytes
 ...idian's-practice-on-microservice-architecture.pdf | Bin 0 -> 8538565 bytes
 .../201805@Beijing/dubbo-present-and-future.pdf      | Bin 0 -> 2933275 bytes
 ...oduction-to-4th-aliware-performance-challenge.pdf | Bin 0 -> 2314985 bytes
 ...ilding-microservice-with-dubbo-and-springboot.pdf | Bin 0 -> 713925 bytes
 .../dubbo-cloud-native-practices-and-thoughts.pdf    | Bin 0 -> 4355514 bytes
 ...ubbo-practices-on-internet-finance-industries.pdf | Bin 0 -> 3864319 bytes
 .../201806@Shanghai/dubbo-status-and-roadmap.pdf     | Bin 0 -> 1153052 bytes
 .../201806@Shanghai/nacos-open-source-initiative.pdf | Bin 0 -> 2401444 bytes
 .../201807@shenzhen/dubbo-present-and-2.7-update.pdf | Bin 0 -> 3272870 bytes
 .../201807@shenzhen/microservice-in-lexinfintech.pdf | Bin 0 -> 4691511 bytes
 slides/meetup/201807@shenzhen/sentinel.pdf           | Bin 0 -> 8521000 bytes
 .../How to Involve in Dubbo Community .pdf           | Bin 0 -> 68222111 bytes
 slides/meetup/201809@chendu/dubbo-mesh.pdf           | Bin 0 -> 2766936 bytes
 .../201809@chendu/dubbo-present-and-2.7-update.pdf   | Bin 0 -> 5332523 bytes
 .../meetup/201809@chendu/how-sentinel-help-dubbo.pdf | Bin 0 -> 10287993 bytes
 slides/meetup/201809@chendu/nacos-release-plan.pdf   | Bin 0 -> 26793776 bytes
 .../201812@hangzhou/dubbo-2.7-introduction.pdf       | Bin 0 -> 15444064 bytes
 .../dubbo-practice-in-netease-koala.pdf              | Bin 0 -> 7466163 bytes
 .../how-to-involve-in-dubbo-community.pdf            | Bin 0 -> 50775578 bytes
 .../201812@hangzhou/nacos-support-in-dubbo.pdf       | Bin 0 -> 13028171 bytes
 .../201812@hangzhou/sentinel-support-for-dubbo.pdf   | Bin 0 -> 45227984 bytes
 .../troubleshooting-dubbo-with-arthas.pdf            | Bin 0 -> 46743526 bytes
 .../201901@guangzhou/Dubbo-2.7.0-and-dubbo-admin.pdf | Bin 0 -> 7446611 bytes
 ...ice-architecture-practise-in-telecom-operator.pdf | Bin 0 -> 2387956 bytes
 .../Dubbo-rest-present-and-future.pdf                | Bin 0 -> 2566873 bytes
 .../201901@guangzhou/How-to-contribute-to-Dubbo.pdf  | Bin 0 -> 727886 bytes
 .../201901@guangzhou/Introduction-to-Sentinel.pdf    | Bin 0 -> 6941270 bytes
 .../201901@guangzhou/Nacos-practise-in-Huya.pdf      | Bin 0 -> 4215065 bytes
 .../Node.js-Dubbo-RPC-in-practise.pdf                | Bin 0 -> 3529802 bytes
 .../meetup/201903@nanjing/Dubbo2.js-from-0-to-1.pdf  | Bin 0 -> 1888589 bytes
 .../Fescar-exploring-microservice-consistency.pdf    | Bin 0 -> 2378274 bytes
 ...troduction-to-Dubbo-2.7-new-feature-with-demo.pdf | Bin 0 -> 2632878 bytes
 .../Introduction-to-Dubbo-Spring-Cloud.pdf           | Bin 0 -> 2112200 bytes
 .../Use-case-Dubbo-practice-in-whale-cloud.pdf       | Bin 0 -> 1291677 bytes
 ...\256\241\344\270\216\345\256\236\347\216\260.pdf" | Bin 0 -> 1306185 bytes
 ...\273\272\350\256\276\350\256\276\346\203\263.pdf" | Bin 0 -> 1069088 bytes
 slides/meetup/201905@beijing/DUBBO ROADMAP 2019.pdf  | Bin 0 -> 973753 bytes
 ...71\346\200\247\344\273\213\347\273\215-sczyh.pdf" | Bin 0 -> 2631593 bytes
 ...1\200\211\346\213\251 - Spring Cloud Alibaba.pdf" | Bin 0 -> 1456353 bytes
 ...r \350\277\201\347\247\273\345\210\260 Nacos.pdf" | Bin 0 -> 1054804 bytes
 ...\222\214\346\240\207\345\207\206\345\214\226.pdf" | Bin 0 -> 983325 bytes
 ...m.1 -- sentinel with microservice in practice.pdf | Bin 0 -> 2098542 bytes
 ...am.2 -- dubbo practice in china life overseas.pdf | Bin 0 -> 1142099 bytes
 .../am.3 -- dubbo practice in pinan bank.pdf         | Bin 0 -> 720807 bytes
 .../pm.1 -- nacos cloud native roadmap.pdf           | Bin 0 -> 1440973 bytes
 ...ive in spring cloud - spring cloud with dubbo.pdf | Bin 0 -> 1178891 bytes
 .../pm.3 -- high concurrency dubbo gateway.pdf       | Bin 0 -> 963782 bytes
 .../pm.4 -- What's new in Dubbo 2.7.4.pdf            | Bin 0 -> 1157844 bytes
 ... chaos engineering to build high availability.pdf | Bin 0 -> 1662010 bytes
 ...m.6 -- dubbo transaction - seata introduction.pdf | Bin 0 -> 2044469 bytes
 ...\256\241\345\210\222\344\273\213\347\273\215.pdf" | Bin 0 -> 2100853 bytes
 ...\236\266\346\236\204\350\247\243\345\257\206.pdf" | Bin 0 -> 8087664 bytes
 ...200\346\272\220Dubbo\345\212\237\350\203\275.pdf" | Bin 0 -> 6657478 bytes
 ...UBBO GO@2019.08.17\344\270\212\346\265\26702.pdf" | Bin 0 -> 4954203 bytes
 ...\257_\350\221\243\350\211\272\350\215\203_v2.pdf" | Bin 0 -> 5356876 bytes
 ...\216\237\347\224\237\345\256\236\346\210\230.pdf" | Bin 0 -> 6025351 bytes
 .../8.Dubbo Roadmap 2019 Shanghai.pdf                | Bin 0 -> 3270140 bytes
 slides/qcon2018/dubbo-present-and-future.pdf         | Bin 0 -> 2216832 bytes
 .../Introduction-to-Apache-Dubbo-Ecosystem.pdf       | Bin 0 -> 1643541 bytes
 68 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/slides/ApacheCon NA 2018/What's Dubbo and How It Works - ACNA2018.pdf b/slides/ApacheCon NA 2018/What's Dubbo and How It Works - ACNA2018.pdf
new file mode 100644
index 0000000..256c99c
Binary files /dev/null and b/slides/ApacheCon NA 2018/What's Dubbo and How It Works - ACNA2018.pdf differ
diff --git "a/slides/GIAC 2019/GIAC 2019 - Dubbo Spring Cloud \351\207\215\346\226\260\345\256\232\344\271\211\345\276\256\346\234\215\345\212\241\346\262\273\347\220\206.pdf" "b/slides/GIAC 2019/GIAC 2019 - Dubbo Spring Cloud \351\207\215\346\226\260\345\256\232\344\271\211\345\276\256\346\234\215\345\212\241\346\262\273\347\220\206.pdf"
new file mode 100644
index 0000000..383e5fb
Binary files /dev/null and "b/slides/GIAC 2019/GIAC 2019 - Dubbo Spring Cloud \351\207\215\346\226\260\345\256\232\344\271\211\345\276\256\346\234\215\345\212\241\346\262\273\347\220\206.pdf" differ
diff --git a/slides/design/Dubbo_Framework_Extensions.pdf b/slides/design/Dubbo_Framework_Extensions.pdf
new file mode 100755
index 0000000..9cedbd8
Binary files /dev/null and b/slides/design/Dubbo_Framework_Extensions.pdf differ
diff --git a/slides/design/Dubbo_RPC_Features.pdf b/slides/design/Dubbo_RPC_Features.pdf
new file mode 100755
index 0000000..157d120
Binary files /dev/null and b/slides/design/Dubbo_RPC_Features.pdf differ
diff --git a/slides/design/Framework_Design_Principles.pdf b/slides/design/Framework_Design_Principles.pdf
new file mode 100755
index 0000000..8372e6b
Binary files /dev/null and b/slides/design/Framework_Design_Principles.pdf differ
diff --git a/slides/design/High_Performance_Remoting.pdf b/slides/design/High_Performance_Remoting.pdf
new file mode 100755
index 0000000..862e3af
Binary files /dev/null and b/slides/design/High_Performance_Remoting.pdf differ
diff --git a/slides/design/Service_Framework_Practices.pdf b/slides/design/Service_Framework_Practices.pdf
new file mode 100755
index 0000000..200fd3b
Binary files /dev/null and b/slides/design/Service_Framework_Practices.pdf differ
diff --git a/slides/lc32018/Apache-Dubbo-(Incubating)-Open-Source-Present-and-Future.pdf b/slides/lc32018/Apache-Dubbo-(Incubating)-Open-Source-Present-and-Future.pdf
new file mode 100644
index 0000000..87d490e
Binary files /dev/null and b/slides/lc32018/Apache-Dubbo-(Incubating)-Open-Source-Present-and-Future.pdf differ
diff --git a/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture-en.pdf b/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture-en.pdf
new file mode 100644
index 0000000..1187529
Binary files /dev/null and b/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture-en.pdf differ
diff --git a/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture.pdf b/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture.pdf
new file mode 100644
index 0000000..7ab90bd
Binary files /dev/null and b/slides/meetup/201805@Beijing/dubbo-and-weidian's-practice-on-microservice-architecture.pdf differ
diff --git a/slides/meetup/201805@Beijing/dubbo-present-and-future.pdf b/slides/meetup/201805@Beijing/dubbo-present-and-future.pdf
new file mode 100644
index 0000000..8eb97dc
Binary files /dev/null and b/slides/meetup/201805@Beijing/dubbo-present-and-future.pdf differ
diff --git a/slides/meetup/201805@Beijing/introduction-to-4th-aliware-performance-challenge.pdf b/slides/meetup/201805@Beijing/introduction-to-4th-aliware-performance-challenge.pdf
new file mode 100644
index 0000000..950a06e
Binary files /dev/null and b/slides/meetup/201805@Beijing/introduction-to-4th-aliware-performance-challenge.pdf differ
diff --git a/slides/meetup/201805@Beijing/quickly-building-microservice-with-dubbo-and-springboot.pdf b/slides/meetup/201805@Beijing/quickly-building-microservice-with-dubbo-and-springboot.pdf
new file mode 100644
index 0000000..b0bb247
Binary files /dev/null and b/slides/meetup/201805@Beijing/quickly-building-microservice-with-dubbo-and-springboot.pdf differ
diff --git a/slides/meetup/201806@Shanghai/dubbo-cloud-native-practices-and-thoughts.pdf b/slides/meetup/201806@Shanghai/dubbo-cloud-native-practices-and-thoughts.pdf
new file mode 100644
index 0000000..8ca7cd4
Binary files /dev/null and b/slides/meetup/201806@Shanghai/dubbo-cloud-native-practices-and-thoughts.pdf differ
diff --git a/slides/meetup/201806@Shanghai/dubbo-practices-on-internet-finance-industries.pdf b/slides/meetup/201806@Shanghai/dubbo-practices-on-internet-finance-industries.pdf
new file mode 100644
index 0000000..eddb056
Binary files /dev/null and b/slides/meetup/201806@Shanghai/dubbo-practices-on-internet-finance-industries.pdf differ
diff --git a/slides/meetup/201806@Shanghai/dubbo-status-and-roadmap.pdf b/slides/meetup/201806@Shanghai/dubbo-status-and-roadmap.pdf
new file mode 100644
index 0000000..e910dd6
Binary files /dev/null and b/slides/meetup/201806@Shanghai/dubbo-status-and-roadmap.pdf differ
diff --git a/slides/meetup/201806@Shanghai/nacos-open-source-initiative.pdf b/slides/meetup/201806@Shanghai/nacos-open-source-initiative.pdf
new file mode 100644
index 0000000..2d23b2a
Binary files /dev/null and b/slides/meetup/201806@Shanghai/nacos-open-source-initiative.pdf differ
diff --git a/slides/meetup/201807@shenzhen/dubbo-present-and-2.7-update.pdf b/slides/meetup/201807@shenzhen/dubbo-present-and-2.7-update.pdf
new file mode 100644
index 0000000..1bd1e1a
Binary files /dev/null and b/slides/meetup/201807@shenzhen/dubbo-present-and-2.7-update.pdf differ
diff --git a/slides/meetup/201807@shenzhen/microservice-in-lexinfintech.pdf b/slides/meetup/201807@shenzhen/microservice-in-lexinfintech.pdf
new file mode 100644
index 0000000..146178e
Binary files /dev/null and b/slides/meetup/201807@shenzhen/microservice-in-lexinfintech.pdf differ
diff --git a/slides/meetup/201807@shenzhen/sentinel.pdf b/slides/meetup/201807@shenzhen/sentinel.pdf
new file mode 100644
index 0000000..9e210d8
Binary files /dev/null and b/slides/meetup/201807@shenzhen/sentinel.pdf differ
diff --git a/slides/meetup/201809@chendu/How to Involve in Dubbo Community .pdf b/slides/meetup/201809@chendu/How to Involve in Dubbo Community .pdf
new file mode 100644
index 0000000..8957152
Binary files /dev/null and b/slides/meetup/201809@chendu/How to Involve in Dubbo Community .pdf differ
diff --git a/slides/meetup/201809@chendu/dubbo-mesh.pdf b/slides/meetup/201809@chendu/dubbo-mesh.pdf
new file mode 100644
index 0000000..849d123
Binary files /dev/null and b/slides/meetup/201809@chendu/dubbo-mesh.pdf differ
diff --git a/slides/meetup/201809@chendu/dubbo-present-and-2.7-update.pdf b/slides/meetup/201809@chendu/dubbo-present-and-2.7-update.pdf
new file mode 100644
index 0000000..524afd2
Binary files /dev/null and b/slides/meetup/201809@chendu/dubbo-present-and-2.7-update.pdf differ
diff --git a/slides/meetup/201809@chendu/how-sentinel-help-dubbo.pdf b/slides/meetup/201809@chendu/how-sentinel-help-dubbo.pdf
new file mode 100644
index 0000000..7f6a811
Binary files /dev/null and b/slides/meetup/201809@chendu/how-sentinel-help-dubbo.pdf differ
diff --git a/slides/meetup/201809@chendu/nacos-release-plan.pdf b/slides/meetup/201809@chendu/nacos-release-plan.pdf
new file mode 100644
index 0000000..c089f54
Binary files /dev/null and b/slides/meetup/201809@chendu/nacos-release-plan.pdf differ
diff --git a/slides/meetup/201812@hangzhou/dubbo-2.7-introduction.pdf b/slides/meetup/201812@hangzhou/dubbo-2.7-introduction.pdf
new file mode 100644
index 0000000..174571d
Binary files /dev/null and b/slides/meetup/201812@hangzhou/dubbo-2.7-introduction.pdf differ
diff --git a/slides/meetup/201812@hangzhou/dubbo-practice-in-netease-koala.pdf b/slides/meetup/201812@hangzhou/dubbo-practice-in-netease-koala.pdf
new file mode 100644
index 0000000..3bac737
Binary files /dev/null and b/slides/meetup/201812@hangzhou/dubbo-practice-in-netease-koala.pdf differ
diff --git a/slides/meetup/201812@hangzhou/how-to-involve-in-dubbo-community.pdf b/slides/meetup/201812@hangzhou/how-to-involve-in-dubbo-community.pdf
new file mode 100644
index 0000000..da198e5
Binary files /dev/null and b/slides/meetup/201812@hangzhou/how-to-involve-in-dubbo-community.pdf differ
diff --git a/slides/meetup/201812@hangzhou/nacos-support-in-dubbo.pdf b/slides/meetup/201812@hangzhou/nacos-support-in-dubbo.pdf
new file mode 100644
index 0000000..8cd7a2f
Binary files /dev/null and b/slides/meetup/201812@hangzhou/nacos-support-in-dubbo.pdf differ
diff --git a/slides/meetup/201812@hangzhou/sentinel-support-for-dubbo.pdf b/slides/meetup/201812@hangzhou/sentinel-support-for-dubbo.pdf
new file mode 100644
index 0000000..4434f52
Binary files /dev/null and b/slides/meetup/201812@hangzhou/sentinel-support-for-dubbo.pdf differ
diff --git a/slides/meetup/201812@hangzhou/troubleshooting-dubbo-with-arthas.pdf b/slides/meetup/201812@hangzhou/troubleshooting-dubbo-with-arthas.pdf
new file mode 100644
index 0000000..d54b24b
Binary files /dev/null and b/slides/meetup/201812@hangzhou/troubleshooting-dubbo-with-arthas.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Dubbo-2.7.0-and-dubbo-admin.pdf b/slides/meetup/201901@guangzhou/Dubbo-2.7.0-and-dubbo-admin.pdf
new file mode 100644
index 0000000..7bf763e
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Dubbo-2.7.0-and-dubbo-admin.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Dubbo-microservice-architecture-practise-in-telecom-operator.pdf b/slides/meetup/201901@guangzhou/Dubbo-microservice-architecture-practise-in-telecom-operator.pdf
new file mode 100644
index 0000000..4ec53f0
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Dubbo-microservice-architecture-practise-in-telecom-operator.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Dubbo-rest-present-and-future.pdf b/slides/meetup/201901@guangzhou/Dubbo-rest-present-and-future.pdf
new file mode 100644
index 0000000..da21bfb
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Dubbo-rest-present-and-future.pdf differ
diff --git a/slides/meetup/201901@guangzhou/How-to-contribute-to-Dubbo.pdf b/slides/meetup/201901@guangzhou/How-to-contribute-to-Dubbo.pdf
new file mode 100644
index 0000000..7122df5
Binary files /dev/null and b/slides/meetup/201901@guangzhou/How-to-contribute-to-Dubbo.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Introduction-to-Sentinel.pdf b/slides/meetup/201901@guangzhou/Introduction-to-Sentinel.pdf
new file mode 100644
index 0000000..63fa4c8
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Introduction-to-Sentinel.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Nacos-practise-in-Huya.pdf b/slides/meetup/201901@guangzhou/Nacos-practise-in-Huya.pdf
new file mode 100644
index 0000000..1612e06
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Nacos-practise-in-Huya.pdf differ
diff --git a/slides/meetup/201901@guangzhou/Node.js-Dubbo-RPC-in-practise.pdf b/slides/meetup/201901@guangzhou/Node.js-Dubbo-RPC-in-practise.pdf
new file mode 100644
index 0000000..5a9d856
Binary files /dev/null and b/slides/meetup/201901@guangzhou/Node.js-Dubbo-RPC-in-practise.pdf differ
diff --git a/slides/meetup/201903@nanjing/Dubbo2.js-from-0-to-1.pdf b/slides/meetup/201903@nanjing/Dubbo2.js-from-0-to-1.pdf
new file mode 100644
index 0000000..3cd58c5
Binary files /dev/null and b/slides/meetup/201903@nanjing/Dubbo2.js-from-0-to-1.pdf differ
diff --git a/slides/meetup/201903@nanjing/Fescar-exploring-microservice-consistency.pdf b/slides/meetup/201903@nanjing/Fescar-exploring-microservice-consistency.pdf
new file mode 100644
index 0000000..59d4d48
Binary files /dev/null and b/slides/meetup/201903@nanjing/Fescar-exploring-microservice-consistency.pdf differ
diff --git a/slides/meetup/201903@nanjing/Introduction-to-Dubbo-2.7-new-feature-with-demo.pdf b/slides/meetup/201903@nanjing/Introduction-to-Dubbo-2.7-new-feature-with-demo.pdf
new file mode 100644
index 0000000..d856ec1
Binary files /dev/null and b/slides/meetup/201903@nanjing/Introduction-to-Dubbo-2.7-new-feature-with-demo.pdf differ
diff --git a/slides/meetup/201903@nanjing/Introduction-to-Dubbo-Spring-Cloud.pdf b/slides/meetup/201903@nanjing/Introduction-to-Dubbo-Spring-Cloud.pdf
new file mode 100644
index 0000000..ba56e78
Binary files /dev/null and b/slides/meetup/201903@nanjing/Introduction-to-Dubbo-Spring-Cloud.pdf differ
diff --git a/slides/meetup/201903@nanjing/Use-case-Dubbo-practice-in-whale-cloud.pdf b/slides/meetup/201903@nanjing/Use-case-Dubbo-practice-in-whale-cloud.pdf
new file mode 100644
index 0000000..ec7e80b
Binary files /dev/null and b/slides/meetup/201903@nanjing/Use-case-Dubbo-practice-in-whale-cloud.pdf differ
diff --git "a/slides/meetup/201905@beijing/Apache Dubbo \346\234\215\345\212\241\350\207\252\347\234\201\350\256\276\350\256\241\344\270\216\345\256\236\347\216\260.pdf" "b/slides/meetup/201905@beijing/Apache Dubbo \346\234\215\345\212\241\350\207\252\347\234\201\350\256\276\350\256\241\344\270\216\345\256\236\347\216\260.pdf"
new file mode 100644
index 0000000..1b995df
Binary files /dev/null and "b/slides/meetup/201905@beijing/Apache Dubbo \346\234\215\345\212\241\350\207\252\347\234\201\350\256\276\350\256\241\344\270\216\345\256\236\347\216\260.pdf" differ
diff --git "a/slides/meetup/201905@beijing/Apache Dubbo \347\224\237\346\200\201\344\275\223\347\263\273\345\214\226\345\273\272\350\256\276\350\256\276\346\203\263.pdf" "b/slides/meetup/201905@beijing/Apache Dubbo \347\224\237\346\200\201\344\275\223\347\263\273\345\214\226\345\273\272\350\256\276\350\256\276\346\203\263.pdf"
new file mode 100644
index 0000000..31f1a74
Binary files /dev/null and "b/slides/meetup/201905@beijing/Apache Dubbo \347\224\237\346\200\201\344\275\223\347\263\273\345\214\226\345\273\272\350\256\276\350\256\276\346\203\263.pdf" differ
diff --git a/slides/meetup/201905@beijing/DUBBO ROADMAP 2019.pdf b/slides/meetup/201905@beijing/DUBBO ROADMAP 2019.pdf
new file mode 100644
index 0000000..6b51480
Binary files /dev/null and b/slides/meetup/201905@beijing/DUBBO ROADMAP 2019.pdf differ
diff --git "a/slides/meetup/201905@beijing/Sentinel 1.6.0 \347\275\221\345\205\263\346\265\201\346\216\247\346\226\260\347\211\271\346\200\247\344\273\213\347\273\215-sczyh.pdf" "b/slides/meetup/201905@beijing/Sentinel 1.6.0 \347\275\221\345\205\263\346\265\201\346\216\247\346\226\260\347\211\271\346\200\247\344\273\213\347\273\215-sczyh.pdf"
new file mode 100644
index 0000000..d50c338
Binary files /dev/null and "b/slides/meetup/201905@beijing/Sentinel 1.6.0 \347\275\221\345\205\263\346\265\201\346\216\247\346\226\260\347\211\271\346\200\247\344\273\213\347\273\215-sczyh.pdf" differ
diff --git "a/slides/meetup/201905@beijing/Spring Cloud \345\256\230\346\226\271\346\226\260\351\200\211\346\213\251 - Spring Cloud Alibaba.pdf" "b/slides/meetup/201905@beijing/Spring Cloud \345\256\230\346\226\271\346\226\260\351\200\211\346\213\251 - Spring Cloud Alibaba.pdf"
new file mode 100644
index 0000000..a496cf9
Binary files /dev/null and "b/slides/meetup/201905@beijing/Spring Cloud \345\256\230\346\226\271\346\226\260\351\200\211\346\213\251 - Spring Cloud Alibaba.pdf" differ
diff --git "a/slides/meetup/201905@beijing/\344\270\272\344\273\200\344\271\210\350\246\201\346\212\212\346\263\250\345\206\214\344\270\255\345\277\203\344\273\216 Zookeeper \350\277\201\347\247\273\345\210\260 Nacos.pdf" "b/slides/meetup/201905@beijing/\344\270\272\344\273\200\344\271\210\350\246\201\346\212\212\346\263\250\345\206\214\344\270\255\345\277\203\344\273\216 Zookeeper \350\277\201\347\247\273\345\210\260 Nacos.pdf"
new file mode 100644
index 0000000..1865d1b
Binary files /dev/null and "b/slides/meetup/201905@beijing/\344\270\272\344\273\200\344\271\210\350\246\201\346\212\212\346\263\250\345\206\214\344\270\255\345\277\203\344\273\216 Zookeeper \350\277\201\347\247\273\345\210\260 Nacos.pdf" differ
diff --git "a/slides/meetup/201905@beijing/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241\351\232\276\351\242\230\345\234\250\345\276\256\346\234\215\345\212\241\346\236\266\346\236\204\344\270\213\347\232\204\350\247\243\346\263\225\345\222\214\346\240\207\345\207\206\345\214\226.pdf" "b/slides/meetup/201905@beijing/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241\351\232\276\351\242\230\345\234\250\345\276\256\346\234\215\345\212\241\346\236\266\346\236\204\344 [...]
new file mode 100644
index 0000000..20e4d89
Binary files /dev/null and "b/slides/meetup/201905@beijing/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241\351\232\276\351\242\230\345\234\250\345\276\256\346\234\215\345\212\241\346\236\266\346\236\204\344\270\213\347\232\204\350\247\243\346\263\225\345\222\214\346\240\207\345\207\206\345\214\226.pdf" differ
diff --git a/slides/meetup/201907@shenzhen/am.1 -- sentinel with microservice in practice.pdf b/slides/meetup/201907@shenzhen/am.1 -- sentinel with microservice in practice.pdf
new file mode 100644
index 0000000..b27dc85
Binary files /dev/null and b/slides/meetup/201907@shenzhen/am.1 -- sentinel with microservice in practice.pdf differ
diff --git a/slides/meetup/201907@shenzhen/am.2 -- dubbo practice in china life overseas.pdf b/slides/meetup/201907@shenzhen/am.2 -- dubbo practice in china life overseas.pdf
new file mode 100644
index 0000000..08a24ba
Binary files /dev/null and b/slides/meetup/201907@shenzhen/am.2 -- dubbo practice in china life overseas.pdf differ
diff --git a/slides/meetup/201907@shenzhen/am.3 -- dubbo practice in pinan bank.pdf b/slides/meetup/201907@shenzhen/am.3 -- dubbo practice in pinan bank.pdf
new file mode 100644
index 0000000..4bdd88d
Binary files /dev/null and b/slides/meetup/201907@shenzhen/am.3 -- dubbo practice in pinan bank.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.1 -- nacos cloud native roadmap.pdf b/slides/meetup/201907@shenzhen/pm.1 -- nacos cloud native roadmap.pdf
new file mode 100644
index 0000000..eef20a9
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.1 -- nacos cloud native roadmap.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.2 -- service invocation new alternative in spring cloud - spring cloud with dubbo.pdf b/slides/meetup/201907@shenzhen/pm.2 -- service invocation new alternative in spring cloud - spring cloud with dubbo.pdf
new file mode 100644
index 0000000..8ad48d6
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.2 -- service invocation new alternative in spring cloud - spring cloud with dubbo.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.3 -- high concurrency dubbo gateway.pdf b/slides/meetup/201907@shenzhen/pm.3 -- high concurrency dubbo gateway.pdf
new file mode 100644
index 0000000..52cb783
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.3 -- high concurrency dubbo gateway.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.4 -- What's new in Dubbo 2.7.4.pdf b/slides/meetup/201907@shenzhen/pm.4 -- What's new in Dubbo 2.7.4.pdf
new file mode 100644
index 0000000..1b9a35a
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.4 -- What's new in Dubbo 2.7.4.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.5 -- use chaos engineering to build high availability.pdf b/slides/meetup/201907@shenzhen/pm.5 -- use chaos engineering to build high availability.pdf
new file mode 100644
index 0000000..f9284bb
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.5 -- use chaos engineering to build high availability.pdf differ
diff --git a/slides/meetup/201907@shenzhen/pm.6 -- dubbo transaction - seata introduction.pdf b/slides/meetup/201907@shenzhen/pm.6 -- dubbo transaction - seata introduction.pdf
new file mode 100644
index 0000000..ee76e84
Binary files /dev/null and b/slides/meetup/201907@shenzhen/pm.6 -- dubbo transaction - seata introduction.pdf differ
diff --git "a/slides/meetup/201908@shanghai/1.\345\210\230\345\206\233 Dubbo 2.7.3_4\347\211\210\346\234\254\346\226\260\347\211\271\346\200\247\345\217\212\345\217\221\347\211\210\350\256\241\345\210\222\344\273\213\347\273\215.pdf" "b/slides/meetup/201908@shanghai/1.\345\210\230\345\206\233 Dubbo 2.7.3_4\347\211\210\346\234\254\346\226\260\347\211\271\346\200\247\345\217\212\345\217\221\347\211\210\350\256\241\345\210\222\344\273\213\347\273\215.pdf"
new file mode 100644
index 0000000..1f56160
Binary files /dev/null and "b/slides/meetup/201908@shanghai/1.\345\210\230\345\206\233 Dubbo 2.7.3_4\347\211\210\346\234\254\346\226\260\347\211\271\346\200\247\345\217\212\345\217\221\347\211\210\350\256\241\345\210\222\344\273\213\347\273\215.pdf" differ
diff --git "a/slides/meetup/201908@shanghai/2.\345\237\272\344\272\216Dubbo\345\276\256\346\234\215\345\212\241\346\241\206\346\236\266\344\272\277\347\272\247\347\275\221\345\205\263\346\236\266\346\236\204\350\247\243\345\257\206.pdf" "b/slides/meetup/201908@shanghai/2.\345\237\272\344\272\216Dubbo\345\276\256\346\234\215\345\212\241\346\241\206\346\236\266\344\272\277\347\272\247\347\275\221\345\205\263\346\236\266\346\236\204\350\247\243\345\257\206.pdf"
new file mode 100644
index 0000000..eb3e840
Binary files /dev/null and "b/slides/meetup/201908@shanghai/2.\345\237\272\344\272\216Dubbo\345\276\256\346\234\215\345\212\241\346\241\206\346\236\266\344\272\277\347\272\247\347\275\221\345\205\263\346\236\266\346\236\204\350\247\243\345\257\206.pdf" differ
diff --git "a/slides/meetup/201908@shanghai/3.Tengine\345\274\200\346\272\220Dubbo\345\212\237\350\203\275.pdf" "b/slides/meetup/201908@shanghai/3.Tengine\345\274\200\346\272\220Dubbo\345\212\237\350\203\275.pdf"
new file mode 100644
index 0000000..1b5a23e
Binary files /dev/null and "b/slides/meetup/201908@shanghai/3.Tengine\345\274\200\346\272\220Dubbo\345\212\237\350\203\275.pdf" differ
diff --git "a/slides/meetup/201908@shanghai/5.DUBBO GO@2019.08.17\344\270\212\346\265\26702.pdf" "b/slides/meetup/201908@shanghai/5.DUBBO GO@2019.08.17\344\270\212\346\265\26702.pdf"
new file mode 100644
index 0000000..232a2d4
Binary files /dev/null and "b/slides/meetup/201908@shanghai/5.DUBBO GO@2019.08.17\344\270\212\346\265\26702.pdf" differ
diff --git "a/slides/meetup/201908@shanghai/6.1450-1530_\346\220\272\347\250\213\347\232\204Dubbo\344\271\213\350\267\257_\350\221\243\350\211\272\350\215\203_v2.pdf" "b/slides/meetup/201908@shanghai/6.1450-1530_\346\220\272\347\250\213\347\232\204Dubbo\344\271\213\350\267\257_\350\221\243\350\211\272\350\215\203_v2.pdf"
new file mode 100644
index 0000000..72ec56f
Binary files /dev/null and "b/slides/meetup/201908@shanghai/6.1450-1530_\346\220\272\347\250\213\347\232\204Dubbo\344\271\213\350\267\257_\350\221\243\350\211\272\350\215\203_v2.pdf" differ
diff --git "a/slides/meetup/201908@shanghai/7.Nacos\344\272\221\345\216\237\347\224\237\345\256\236\346\210\230.pdf" "b/slides/meetup/201908@shanghai/7.Nacos\344\272\221\345\216\237\347\224\237\345\256\236\346\210\230.pdf"
new file mode 100644
index 0000000..351efa6
Binary files /dev/null and "b/slides/meetup/201908@shanghai/7.Nacos\344\272\221\345\216\237\347\224\237\345\256\236\346\210\230.pdf" differ
diff --git a/slides/meetup/201908@shanghai/8.Dubbo Roadmap 2019 Shanghai.pdf b/slides/meetup/201908@shanghai/8.Dubbo Roadmap 2019 Shanghai.pdf
new file mode 100644
index 0000000..2a96565
Binary files /dev/null and b/slides/meetup/201908@shanghai/8.Dubbo Roadmap 2019 Shanghai.pdf differ
diff --git a/slides/qcon2018/dubbo-present-and-future.pdf b/slides/qcon2018/dubbo-present-and-future.pdf
new file mode 100644
index 0000000..3e53292
Binary files /dev/null and b/slides/qcon2018/dubbo-present-and-future.pdf differ
diff --git a/slides/webinar/Introduction-to-Apache-Dubbo-Ecosystem.pdf b/slides/webinar/Introduction-to-Apache-Dubbo-Ecosystem.pdf
new file mode 100644
index 0000000..421522d
Binary files /dev/null and b/slides/webinar/Introduction-to-Apache-Dubbo-Ecosystem.pdf differ


[dubbo-awesome] 40/41: Merge branch 'master' into patch-1

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit a6174f54cf2eec72b64316cc55ac0b5bc47ab087
Merge: 4eb56e1 2ebf6f1
Author: conghuhu <56...@users.noreply.github.com>
AuthorDate: Sat May 21 16:05:06 2022 +0800

    Merge branch 'master' into patch-1

 proposals/D3.1-thinsdk-sidecar-mesh.md | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --cc proposals/D3.1-thinsdk-sidecar-mesh.md
index 06f1253,97d0a62..98b45fa
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@@ -93,16 -94,9 +94,17 @@@ istio中所支持的注册中心中成�
    *对比google grpc 和envoy grpc的差异,适配header内容:https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/grpc_service.proto.html#envoy-api-field-core-grpcservice-envoy-grpc
  
  
- ### 会议记录:
- 优雅下线的时候已经有相关的逻辑。
- 接口级别的服务注册对接sidecar
- 多实例:应用。
- 没有mesh 迁移到mesh的方案
- gRPC 相关的支持内容调研
+ ### 其他事项:
+ * 优雅下线的时候已经有相关的逻辑。
+ * 接口级别的服务注册对接sidecar
+ * 多实例:应用。
+ * 没有mesh 迁移到mesh的方案
+ * gRPC 相关的支持内容调研
 +
 +### 2022.5.19会议记录:
 +第一阶段需要解决的问题:
 +1. 通过gRPC+istio 的部署用例,分析拆分的步骤,完整的跑通;然后再做一个 Dubbo 的用例,做好文档记录。
 +2. 解决Dubbo SDK如何确定发送RPC请求的地址,比如http://demo.default.svc.cluster.local:50051,这个地址与envoy内部的路由相关。要根据接口组装出appname格式的地址。
 +3. 解决Dubbo sdk需要规避服务发现和直连的逻辑,如果不规避可能会报错。
 +4. 成功跑通经过Sidecar,从Consumer -> Provider的RPC调用。
++


[dubbo-awesome] 39/41: Update D3.1-thinsdk-sidecar-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 2ebf6f1751422a2960fd234ab468a3273b891503
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri May 20 10:53:31 2022 +0800

    Update D3.1-thinsdk-sidecar-mesh.md
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index d81147a..97d0a62 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -39,6 +39,7 @@
 6. DefaultFuture2 #received
 
 ## Related Proposals
+[Proxyless Mesh]()
 ## Proposal
 
 ### ThinSDK 改造方案
@@ -72,7 +73,7 @@ istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶
 
 #### 服务调用
 1. 解决Dubbo SDK的请求如何代理给sidecar?
-  * sdk的RPC请求转换为类似如下格式的请求动作:http://demo.default.svc.cluster.local:50051。其中,demo为当前接口对应的 app-name
+  * sdk的RPC请求转换为类似如下格式的请求动作:http://demo.default.svc.cluster.local:50051. 其中,demo为当前接口对应的 app-name
   * 避免dubbo之前的 Cluster 选址等问题
 
 2. 第二阶段工作(路由等流量治理接入)
@@ -93,9 +94,9 @@ istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶
   *对比google grpc 和envoy grpc的差异,适配header内容:https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/grpc_service.proto.html#envoy-api-field-core-grpcservice-envoy-grpc
 
 
-### 会议记录:
-优雅下线的时候已经有相关的逻辑。
-接口级别的服务注册对接sidecar
-多实例:应用。
-没有mesh 迁移到mesh的方案
-gRPC 相关的支持内容调研
+### 其他事项:
+* 优雅下线的时候已经有相关的逻辑。
+* 接口级别的服务注册对接sidecar
+* 多实例:应用。
+* 没有mesh 迁移到mesh的方案
+* gRPC 相关的支持内容调研


[dubbo-awesome] 35/41: Update D3.1-thinsdk-sidecar-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit e6b21a08288b7b2eda7a0f6a925b6d9fda5e2ed4
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri May 20 10:48:14 2022 +0800

    Update D3.1-thinsdk-sidecar-mesh.md
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index 0eddd25..551fc69 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -3,10 +3,7 @@
 
 ## Objective
 ## Background
-## Related Proposals
-## Proposal
-
-### 四大流程的核心逻辑介绍
+### Dubbo 基本工作原理介绍
 
 除了应用启动和服务注册流程以外,其他两大流程都是在直连模式下:服务发现以及服务调用流程。其中应用下线不单独列出来主要是优雅下线时候的处理
 #### 应用启动
@@ -41,10 +38,13 @@
 5. TripleInvoker #doInvoke()
 6. DefaultFuture2 #received
 
-### 四大流程涉及的改造点
+## Related Proposals
+## Proposal
+
+### ThinSDK 改造方案
 #### 应用启动
 Dubbo应用进程与Sidecar生命周期对齐,正常启动后,让Sidecar感知到该Endpoint是健康的。
-  * 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok。**这里具体是往哪个端口和地址发?**
+  * 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok。**这里具体是往哪个端口和地址发送请求?**
   * 运行态:通过健康检查来保活
 
 Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)


[dubbo-awesome] 33/41: 更新2022.5.19会议记录

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 209054cfd54df5f388212e9cbf2fbb28fb18d299
Author: conghuhu <56...@users.noreply.github.com>
AuthorDate: Fri May 20 10:23:51 2022 +0800

    更新2022.5.19会议记录
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index a90987d..9241ff2 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -91,4 +91,11 @@ istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶
 接口级别的服务注册对接sidecar
 多实例:应用。
 没有mesh 迁移到mesh的方案
-gRPC 相关的支持内容调研
\ No newline at end of file
+gRPC 相关的支持内容调研
+
+### 2022.5.19会议记录:
+第一阶段需要解决的问题:
+1. 通过gRPC+istio 的部署用例,分析拆分的步骤,完整的跑通;然后再做一个 Dubbo 的用例,做好文档记录。
+2. 解决Dubbo SDK如何确定发送RPC请求的地址,比如http://demo.default.svc.cluster.local:50051,这个地址与envoy内部的路由相关。要根据接口组装出appname格式的地址。
+3. 解决Dubbo sdk需要规避服务发现和直连的逻辑,如果不规避可能会报错。
+4. 成功跑通经过Sidecar,从Consumer -> Provider的RPC调用。


[dubbo-awesome] 11/41: Create .asf.yaml

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 69d4bf04a38e464a46015c8cc54d972f1ad20ca1
Author: Huang YunKun <ht...@gmail.com>
AuthorDate: Mon Jun 22 22:18:01 2020 +0800

    Create .asf.yaml
---
 .asf.yaml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..8d84e69
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,5 @@
+notifications:
+    commits:      commits@dubbo.apache.org
+    issues:       notifications@dubbo.apache.org
+    pullrequests: notifications@dubbo.apache.org
+    jira_options: link label link label


[dubbo-awesome] 22/41: Merge pull request #2 from CrazyHZM/add_gsoc

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 0c3b241d0f5e7dd86b5fa88dfdc44ced6f1e896c
Merge: 5f0c281 5d3d343
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Apr 18 11:05:29 2022 +0800

    Merge pull request #2 from CrazyHZM/add_gsoc
    
    add gsoc

 summerofcode/gsoc/2022-idea-list.md | 15 +++++++++++++++
 1 file changed, 15 insertions(+)


[dubbo-awesome] 20/41: Update D4-observability.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 9d8919dd2f96cb7e9b3b7c43a13b1d02c83415ef
Author: 吴治国 <wz...@gmail.com>
AuthorDate: Tue Apr 5 16:00:52 2022 +0800

    Update D4-observability.md
---
 proposals/D4-observability.md | 59 +++++++++++++++++++++++++------------------
 1 file changed, 34 insertions(+), 25 deletions(-)

diff --git a/proposals/D4-observability.md b/proposals/D4-observability.md
index 732853a..ed4f2c7 100644
--- a/proposals/D4-observability.md
+++ b/proposals/D4-observability.md
@@ -21,7 +21,7 @@
 本地聚合开启方式:  
 ```xml
 <dubbo:metrics>
-    <dubbo:aggregation enable="true" />
+    <dubbo:aggregation enabled="true" />
 </dubbo:metrics>
 ```
 
@@ -41,33 +41,34 @@
 
 ### 指标聚合
 其中指标聚合大部分需要通过滑动窗口计算,此处先介绍采用的滑动窗口算法
-### 滑动窗口
+
+**滑动窗口**
 此处滑动窗口以Prometheus JavaClient的TimeWindowQuantiles为例  
 假设我们初始有6个bucket,每个窗口时间设置为2分钟  
 每次写入指标数据时,我们会将数据分别写入6个bucket内。每隔两分钟移动一个bucket并且清除原来bucket内的数据。 
 读取指标时,我们读取当前current指向的bucket,以达到滑动窗口的效果。  
 具体如下图所示。  
-![observability](../images/observability2.png)
+![observability](../images/observability-2.png)
 
 
 在每个bucket内,我们计算分位数指标时也有3种常用算法可选用
-1、TDigest(极端分位精确度高,如p1 p99,中间分位精确度低,如p50。推荐使用该方式)
-    1.1、https://op8867555.github.io/posts/2018-04-09-tdigest.html
-1.2、https://blog.csdn.net/csdnnews/article/details/116246540
-1.3、开源实现:https://github.com/tdunning/t-digest
-2、HdrHistogram(精确度低)
-2.1、https://caorong.github.io/2016/07/31/hdrhistogram/
-2.2、开源实现:https://github.com/HdrHistogram/HdrHistogram
-3、CKMS(允许一定错误率,由用户自己设置,Prometheus的TimeWindowQuantiles内部使用了该算法。资料偏少,大致看看即可)
-3.1、https://caorong.github.io/2020/08/03/quartile-%20algorithm/
-3.2、https://www.stevenengelhardt.com/2018/03/29/calculating-percentiles-on-streaming-data-part-7-cormode-korn-muthukrishnan-srivastava/
-3.3、http://dimacs.rutgers.edu/~graham/pubs/papers/bquant-icde.pdf  
+* TDigest(极端分位精确度高,如p1 p99,中间分位精确度低,如p50。推荐使用该方式)
+    * https://op8867555.github.io/posts/2018-04-09-tdigest.html
+    * https://blog.csdn.net/csdnnews/article/details/116246540
+    * 开源实现:https://github.com/tdunning/t-digest
+* HdrHistogram(精确度低)
+    * https://caorong.github.io/2016/07/31/hdrhistogram/
+    * 开源实现:https://github.com/HdrHistogram/HdrHistogram
+* CKMS(允许一定错误率,由用户自己设置,Prometheus的TimeWindowQuantiles内部使用了该算法。资料偏少,大致看看即可)
+    * https://caorong.github.io/2020/08/03/quartile-%20algorithm/
+    * https://www.stevenengelhardt.com/2018/03/29/calculating-percentiles-on-streaming-data-part-7-cormode-korn-muthukrishnan-srivastava/
+    * http://dimacs.rutgers.edu/~graham/pubs/papers/bquant-icde.pdf  
 
 **参数设计**  
 指标聚合参数:
 ```xml
 <dubbo:metrics>
-    <dubbo:aggregation enable="true" bucket-num="5" time-window-seconds="10"/>
+    <dubbo:aggregation enabled="true" bucket-num="5" time-window-seconds="10"/>
 </dubbo:metrics>
 ```
 
@@ -84,7 +85,7 @@
 * 处理中请求数: 前后增加Filter简单统计即可
 *(补充中。。。)
 
-**指标接口**  
+### 指标接口
 指标接口将提供一个类似于MetadataService的MetricsService,该Service不仅提供柔性服务所需的接口级数据,也提供所有指标的查询方式。  
 其中方法级指标的查询的接口可按如下方式声明
 
@@ -109,17 +110,25 @@ public class Quantile {
 
 ### 指标推送
 指标推送只有用户在设置了<dubbo:metrics />配置且配置protocol参数后才开启,若只开启指标聚合,则默认不推送指标。
-Promehteus Pull ServiceDiscovery
-● 使用dubbo-admin等类似的中间层,启动时根据配置将本机 IP、Port、MetricsURL 推送地址信息至dubbo-admin(或任意中间层)的方式,暴露HTTP ServiceDiscovery供prometheus读取,配置方式如<dubbo:metrics protocol="prometheus" mode="pull" address="${dubbo-admin.address}" port="20888" url="/metrics"/>,其中在pull模式下address为可选参数,若不填则需用户手动在Prometheus配置文件中配置地址
-○ 优点:稳定,并且能通过中间层移除已下线的应用,只保留存活应用供Prometheus读取
-○ 缺点:不够轻量,如果用户没有使用dubbo-admin则必须引入。如果用户自己实现了dubbo控制台则需提供类似http-sd-starter模块供集成,并且该模块需实现健康检查代码,检测已下线的dubbo应用并移除
-Prometheus Push Pushgateway
-● 用户直接在Dubbo配置文件中配置Prometheus Pushgateway的地址即可,如<dubbo:metrics protocol="prometheus" mode="push" address="${prometheus.pushgateway-url}" interval="5" />,其中interval代表推送间隔
-○ 优点:方便,用户只需要引入依赖,并加上这一行配置即可直接采集指标
-○ 缺点:Push方式Prometheus无法自动删除已下线的应用的指标,需要用户手动处理
+
+1、Promehteus Pull ServiceDiscovery
+* 使用dubbo-admin等类似的中间层,启动时根据配置将本机 IP、Port、MetricsURL 推送地址信息至dubbo-admin(或任意中间层)的方式,暴露HTTP ServiceDiscovery供prometheus读取,配置方式如<dubbo:metrics protocol="prometheus" mode="pull" address="${dubbo-admin.address}" port="20888" url="/metrics"/>,其中在pull模式下address为可选参数,若不填则需用户手动在Prometheus配置文件中配置地址
+    * 优点:稳定,并且能通过中间层移除已下线的应用,只保留存活应用供Prometheus读取
+    * 缺点:不够轻量,如果用户没有使用dubbo-admin则必须引入。如果用户自己实现了dubbo控制台则需提供类似http-sd-starter模块供集成,并且该模块需实现健康检查代码,检测已下线的dubbo应用并移除
+    * 
+2、Prometheus Push Pushgateway
+* 用户直接在Dubbo配置文件中配置Prometheus Pushgateway的地址即可,如<dubbo:metrics protocol="prometheus" mode="push" address="${prometheus.pushgateway-url}" interval="5" />,其中interval代表推送间隔
+    * 优点:方便,用户只需要引入依赖,并加上这一行配置即可直接采集指标
+    * 缺点:Push方式Prometheus无法自动删除已下线的应用的指标,需要用户手动处理
+
+### 集成测试
+由于 Dubbo 原有一套指标体系,在可观测行对接完成之后需要清除旧代码并且修改集成测试相关代码
+
+### 整合 Spring 配置
+目前国内大部分用户都是基于 Spring 整合 Dubbo 使用,为了更方便用户配置相关内容,需要完善配置自动补全部分,并且对接 SpringBoot 的 Actuator
 
 ### 整体结构设计
 1、移除原来与 Metrics 相关的类
 2、创建新模块 dubbo-metrics/dubbo-metrics-api、dubbo-metrics/dubbo-metrics-prometheus,MetricsConfig 作为该模块的配置类
 3、若不使用micrometer,则在common模块下实现自己的Counter、Gauge等,并在dubbo-metrics/dubbo-metrics-prometheus手动转换成prometheus对应的类型
-4、若使用micrometer,则Collector中使用基本类型代表指标,如Long、Double等,并在dubbo-metrics-api中引入micrometer,由micrometer对内部指标进行转换
\ No newline at end of file
+4、若使用micrometer,则Collector中使用基本类型代表指标,如Long、Double等,并在dubbo-metrics-api中引入micrometer,由micrometer对内部指标进行转换


[dubbo-awesome] 15/41: Update 2022-idea-list.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 5dc5167e8f8e7e7b0c20d00996314c586123b486
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Apr 2 20:56:49 2022 +0800

    Update 2022-idea-list.md
---
 summerofcode/gsoc/2022-idea-list.md | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index 2bc101b..072bb3a 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -1,13 +1,33 @@
+# 报名须知
+* 请务必详细阅读指引:https://community.apache.org/gsoc.html#prospective-asf-mentors-read-this
+* 请务必在感兴趣的项目 Github Issue 下方留言。
+* Google 官方报名地址:https://summerofcode.withgoogle.com/
+
+
 ## 可观测性
-Github Issue
+* Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D4-observability.md
+* Project Links of different languages:
+  * Java https://github.com/apache/dubbo/issues/9886
+  * Golang 
 ## Proxyless Mesh  
+* Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.2-proxyless-mesh.md
+* Project Links of different languages:
+  * Java https://github.com/apache/dubbo/issues/9884
+  * Golang 
 ## Proxy Mesh - Thin SDK
+* Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.1-thinsdk-sidecar-mesh.md
+* Project Links of different languages:
+  * Java https://github.com/apache/dubbo/issues/9885
+  * Golang 
 ## admin api 迁移 qos 去中心化管控
+
 ## 服务治理场景化用例设计
 [Github Issue]()    
 
 **任务描述**  
-Dubbo 拥有多种治理规则,如基于标签路由、条件路由等,但是这些治理规则的使用具有一定的难度,用户也很难直观的了解到其对应的使用场景。因此 Dubbo 期望有这样的一些场景化的用例能够体现 Dubbo 的治理能力,帮助用户将治理规则迁移到真实业务场景中使用。
+Dubbo 拥有丰富的治理规则,如服务发现、负载均衡、路由策略(标签路由、条件路由)等,但是这些治理规则的使用具有一定的难度,用户也很难直观的了解到其对应的使用场景。因此 Dubbo 期望有这样的一些场景化的用例能够体现 Dubbo 的治理能力,帮助用户将治理规则迁移到真实业务场景中使用。
+
+这是一项相对比较有挑战性的任务,难度并不在编码本身,而在于对整个 Dubbo 及微服务体系要有比较总体的把握。如能顺利完成,对于参与者整体的视野提升将具有非常大的帮助。参与者可以导师一起协作完成。
 
 **参考:**  
 Istio 中 bookinfo 应用


[dubbo-awesome] 27/41: Update D3.2-proxyless-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 159ed4f3a2015ed6d085fb90b6a4eb34218c26d3
Author: ken.lj <ke...@gmail.com>
AuthorDate: Wed May 11 15:55:07 2022 +0800

    Update D3.2-proxyless-mesh.md
---
 proposals/D3.2-proxyless-mesh.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/proposals/D3.2-proxyless-mesh.md b/proposals/D3.2-proxyless-mesh.md
index 3695a84..d85a9ee 100644
--- a/proposals/D3.2-proxyless-mesh.md
+++ b/proposals/D3.2-proxyless-mesh.md
@@ -35,10 +35,16 @@ Proxyless 模式使得微服务又回到了 2.x 时代的部署架构,如上
 - 适用于几乎所有的部署环境
 
 ### Architecture
+#### 部署架构1
 ![!xds-1](../images/mesh-xds-1.png)
 
+#### 部署架构2
+
+
 ### Details
 
+应用级服务发现
+
 1. xDS 官方说明
 
 https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol


[dubbo-awesome] 32/41: Merge pull request #68 from CrazyHZM/metting_result

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 01929876edb86b64aa5980e8e998e3fef12cc10d
Merge: 4e7d624 d0212f3
Author: huazhongming <cr...@gmail.com>
AuthorDate: Fri May 13 21:18:29 2022 +0800

    Merge pull request #68 from CrazyHZM/metting_result
    
    Add  13th May 2022 : Dubbo Weekly Meeting Result

 weeklymeeting/2022-05-13/MetadataService.md | 9 +++++++++
 1 file changed, 9 insertions(+)


[dubbo-awesome] 41/41: Merge pull request #69 from conghuhu/patch-1

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit eaea8e50bd4bbc9935b233dfefc8562e768595fd
Merge: 2ebf6f1 a6174f5
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon May 23 16:26:09 2022 +0800

    Merge pull request #69 from conghuhu/patch-1

 proposals/D3.1-thinsdk-sidecar-mesh.md | 8 ++++++++
 1 file changed, 8 insertions(+)


[dubbo-awesome] 06/41: Delete video-playing-address.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 1810f2c31b273769eedbbe033ec66ff54f8689f0
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:28:48 2019 +0800

    Delete video-playing-address.md
---
 slides/meetup/video-playing-address.md | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/slides/meetup/video-playing-address.md b/slides/meetup/video-playing-address.md
deleted file mode 100644
index 2c979ec..0000000
--- a/slides/meetup/video-playing-address.md
+++ /dev/null
@@ -1,17 +0,0 @@
-Video playing address:
-
- 
-
-| meetup           | Video address                                                |
-| ---------------- | -------------------------------------------------- |
-| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |
-| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
-| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
-| 201809@chengdu   | https://yq.aliyun.com/live/500                     |
-| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
-| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
-| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
-| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
-| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
-| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
-| 201910@chengdu   | https://developer.aliyun.com/live/1522             |
\ No newline at end of file


[dubbo-awesome] 09/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit ffad280e5ebe6679a74e528e724b0dbd2ed59f07
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:44:52 2019 +0800

    Update README.md
---
 README.md | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 9659ed0..b8707cc 100644
--- a/README.md
+++ b/README.md
@@ -8,9 +8,7 @@ Video playing address:
 
  
 
-| slides/meetup    | Video address                                                |
-| ---------------- | -------------------------------------------------- |
-| meetup           | Video address                                      |
+| slides/meetup    | Video address                                      |
 | ---------------- | -------------------------------------------------- |
 | 201910@chengdu   | https://developer.aliyun.com/live/1522             |
 | 201908@shanghai  | https://developer.aliyun.com/live/1280             |


[dubbo-awesome] 02/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit a339895e2aa196fcd31ad0faac8f96cb5a1f22bb
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Wed Sep 4 20:07:19 2019 +0800

    Update README.md
---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index e69de29..43f77e0 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,3 @@
+# dubbo-awesome
+
+Collections of Apache dubbo relevant informations


[dubbo-awesome] 07/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 44f91198230e5fec105f0267df63bf95b367d28b
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:29:25 2019 +0800

    Update README.md
---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index f1b2b3c..567e540 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@ Collections of Apache dubbo relevant informations
 
 Video playing address:
 
-slides/meetup 
+ 
 
-| meetup           | Video address                                                |
+| slides/meetup    | Video address                                                |
 | ---------------- | -------------------------------------------------- |
 | 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |
 | 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |


[dubbo-awesome] 08/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 129802caca6db672b86f5ffdebe015deb6dcc003
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:44:23 2019 +0800

    Update README.md
---
 README.md | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 567e540..9659ed0 100644
--- a/README.md
+++ b/README.md
@@ -10,14 +10,16 @@ Video playing address:
 
 | slides/meetup    | Video address                                                |
 | ---------------- | -------------------------------------------------- |
-| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |
-| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
-| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
-| 201809@chengdu   | https://yq.aliyun.com/live/500                     |
-| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
-| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
-| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
-| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
-| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
-| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
+| meetup           | Video address                                      |
+| ---------------- | -------------------------------------------------- |
 | 201910@chengdu   | https://developer.aliyun.com/live/1522             |
+| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
+| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
+| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
+| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
+| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
+| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
+| 201809@chendu    | https://yq.aliyun.com/live/500                     |
+| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
+| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
+| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |


[dubbo-awesome] 12/41: upload slides from dubbo-go community

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 0aeb2cbd6f7fcfd1486069a783f7b08c6b36bde8
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Fri Jan 15 11:46:03 2021 +0800

    upload slides from dubbo-go community
---
 slides/go/cloudnative-yuyu-dubbogo-20201220.pdf       | Bin 0 -> 3167254 bytes
 slides/go/dubbo-go-meetup-fangyincheng.pdf            | Bin 0 -> 5110749 bytes
 slides/go/dubbo-go-zouyx.pdf                          | Bin 0 -> 3722878 bytes
 slides/go/dubbo3.0-cvictory.pdf                       | Bin 0 -> 2485461 bytes
 slides/go/dubbogo20191228-hangzhou.pdf                | Bin 0 -> 6323569 bytes
 .../go/dubbogo20200718-shanghai-gopher-dengming.pdf   | Bin 0 -> 2028920 bytes
 slides/go/panty_dubbo-go_share.pdf                    | Bin 0 -> 8570819 bytes
 7 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/slides/go/cloudnative-yuyu-dubbogo-20201220.pdf b/slides/go/cloudnative-yuyu-dubbogo-20201220.pdf
new file mode 100644
index 0000000..1110409
Binary files /dev/null and b/slides/go/cloudnative-yuyu-dubbogo-20201220.pdf differ
diff --git a/slides/go/dubbo-go-meetup-fangyincheng.pdf b/slides/go/dubbo-go-meetup-fangyincheng.pdf
new file mode 100644
index 0000000..8573ad8
Binary files /dev/null and b/slides/go/dubbo-go-meetup-fangyincheng.pdf differ
diff --git a/slides/go/dubbo-go-zouyx.pdf b/slides/go/dubbo-go-zouyx.pdf
new file mode 100644
index 0000000..53887e2
Binary files /dev/null and b/slides/go/dubbo-go-zouyx.pdf differ
diff --git a/slides/go/dubbo3.0-cvictory.pdf b/slides/go/dubbo3.0-cvictory.pdf
new file mode 100644
index 0000000..33bd231
Binary files /dev/null and b/slides/go/dubbo3.0-cvictory.pdf differ
diff --git a/slides/go/dubbogo20191228-hangzhou.pdf b/slides/go/dubbogo20191228-hangzhou.pdf
new file mode 100644
index 0000000..52dc1c3
Binary files /dev/null and b/slides/go/dubbogo20191228-hangzhou.pdf differ
diff --git a/slides/go/dubbogo20200718-shanghai-gopher-dengming.pdf b/slides/go/dubbogo20200718-shanghai-gopher-dengming.pdf
new file mode 100644
index 0000000..cff77f1
Binary files /dev/null and b/slides/go/dubbogo20200718-shanghai-gopher-dengming.pdf differ
diff --git a/slides/go/panty_dubbo-go_share.pdf b/slides/go/panty_dubbo-go_share.pdf
new file mode 100644
index 0000000..cca22ef
Binary files /dev/null and b/slides/go/panty_dubbo-go_share.pdf differ


[dubbo-awesome] 04/41: add video-playing-address.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 0d5d1352a9df4113451e7a87aa63e2d4bee798f2
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:08:51 2019 +0800

    add video-playing-address.md
    
    video-playing-address.md
---
 slides/meetup/video-playing-address.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/slides/meetup/video-playing-address.md b/slides/meetup/video-playing-address.md
new file mode 100644
index 0000000..2c979ec
--- /dev/null
+++ b/slides/meetup/video-playing-address.md
@@ -0,0 +1,17 @@
+Video playing address:
+
+ 
+
+| meetup           | Video address                                                |
+| ---------------- | -------------------------------------------------- |
+| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |
+| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
+| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
+| 201809@chengdu   | https://yq.aliyun.com/live/500                     |
+| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
+| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
+| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
+| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
+| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
+| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
+| 201910@chengdu   | https://developer.aliyun.com/live/1522             |
\ No newline at end of file


[dubbo-awesome] 18/41: Update 2022-idea-list.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 5f0c2819c0a433d94bd7b51b6d7e870bdac31403
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sun Apr 3 11:01:28 2022 +0800

    Update 2022-idea-list.md
---
 summerofcode/gsoc/2022-idea-list.md | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index fcd5945..d6bce0b 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -4,25 +4,25 @@
 * Google 官方报名地址:https://summerofcode.withgoogle.com/
 
 
-## 可观测性
+## 题目一:可观测性
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D4-observability.md
 * Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9886
   * Golang 
-## Proxyless Mesh  
+## 题目二:Proxyless Mesh  
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.2-proxyless-mesh.md
 * Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9884
   * Golang 
-## Proxy Mesh - Thin SDK
+## 题目三:Proxy Mesh - Thin SDK
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.1-thinsdk-sidecar-mesh.md
 * Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9885
   * Golang 
-## admin api 迁移 qos 去中心化管控
+## 题目四:admin api 迁移 qos 去中心化管控
 
-## 服务治理场景化用例设计
-Project link(https://github.com/apache/dubbo/issues/9887)    
+## 题目五:服务治理场景化用例设计
+* Related project link(https://github.com/apache/dubbo/issues/9887)    
 
 **任务描述**  
 Dubbo 拥有丰富的治理规则,如服务发现、负载均衡、路由策略(标签路由、条件路由)等,但是这些治理规则的使用具有一定的难度,用户也很难直观的了解到其对应的使用场景。因此 Dubbo 期望有这样的一些场景化的用例能够体现 Dubbo 的治理能力,帮助用户将治理规则迁移到真实业务场景中使用。
@@ -31,3 +31,7 @@ Dubbo 拥有丰富的治理规则,如服务发现、负载均衡、路由策
 
 **参考:**  
 Istio 中 bookinfo 应用
+
+## 题目六:rust 多语言实现
+* Related issue: 
+* 总体目标:为 Dubbo3 提供 rust 多语言实现


[dubbo-awesome] 34/41: Update D3.1-thinsdk-sidecar-mesh.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit eaa31e884b20a1ff16f075c5a93e8fde3b67928f
Author: ken.lj <ke...@gmail.com>
AuthorDate: Fri May 20 10:46:48 2022 +0800

    Update D3.1-thinsdk-sidecar-mesh.md
---
 proposals/D3.1-thinsdk-sidecar-mesh.md | 68 +++++++++++++++++++---------------
 1 file changed, 39 insertions(+), 29 deletions(-)

diff --git a/proposals/D3.1-thinsdk-sidecar-mesh.md b/proposals/D3.1-thinsdk-sidecar-mesh.md
index a90987d..0eddd25 100644
--- a/proposals/D3.1-thinsdk-sidecar-mesh.md
+++ b/proposals/D3.1-thinsdk-sidecar-mesh.md
@@ -43,52 +43,62 @@
 
 ### 四大流程涉及的改造点
 #### 应用启动
+Dubbo应用进程与Sidecar生命周期对齐,正常启动后,让Sidecar感知到该Endpoint是健康的。
+  * 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok。**这里具体是往哪个端口和地址发?**
+  * 运行态:通过健康检查来保活
 
-● Dubbo应用进程与Sidecar生命周期对齐
-○ 正常启动后,让Sidecar感知到该Endpoint是健康的。
-■ 初步方案:Dubbo应用与Sidecar建连,并且发送POST /healthcheck/ok
-○ 运行态:通过健康检查来保活
-○ Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)
-■ 初步方案:发送POST /healthcheck/fail
-● 在启动过程中,除了生命周期对齐以外,其他主要需要做缩减的动作,对mesh主流程影响不大。
+Dubbo应用优雅下线时,需要能够让Sidecar感知到该Endpoint下线了。(应用所在的Container原地热升级、应用优雅下线等场景)
+  * 初步方案:发送POST /healthcheck/fail
+
+在启动过程中,除了生命周期对齐以外,其他主要需要做缩减的动作,对mesh主流程影响不大。
 
 #### 健康检查
 运行态,通过envoy的健康检查来保证Dubbo应用是否正常。目前Triple协议基于gRPC的Health接口实现健康检查。需要支持Envoy的HTTP健康检查Filter:
-● https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/health_check/v3/health_check.proto#envoy-v3-api-msg-extensions-filters-http-health-check-v3-healthcheck
-● https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/health_check.proto
+* https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/health_check/v3/health_check.proto#envoy-v3-api-msg-extensions-filters-http-health-check-v3-healthcheck
+* https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/health_check.proto
+
+
 #### 服务注册
-istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶段推荐使用Kubernetes Registry。目前已经有Kubernetes Registry的实现,主要以 CRD 的方式存储到 Kubernetes 的 etcd 中:
-● 元数据内容存储在annotation中。
-● 应用名对应 Kubernetes service模型。
-● hosts:{IDL service name}.{namespace}.svc.cluster.local
-但是对于Kubernetes 服务注册还缺少了许多内容,应用级别的服务注册需要考虑interface name与应用名称的映射关系,除此之外还有自定义label、namespace等。需要增加对外的配置。
+istio中所支持的注册中心中成熟度最高的是Kubernetes,第一阶段推荐使用Kubernetes Registry,Kubernetes 调度的服务将自动被Istion识别所以第一阶段暂不需要做额外操作。
+
+> 应用如何配置?指定哪个协议的注册中心扩展
+> 框架如何改造?框架内的行为与流程是怎样的
+
 #### 服务发现
 服务发现需要解决的问题是如何触发数据面的服务发现。目前Pilot的操作是在集群第一次启动时从Kubernetes中发现全量的Service、Workload数据,并将这些服务发现数据通过xDS下发给Envoy(Pilot-Agent)实例,后续则以增量的方式推送。
+
 在服务发现阶段,Dubbo应用仅仅与Envoy进行建连,并没有发起任何订阅的行为。
+
+
+> 应用如何配置?指定哪个协议的注册中心扩展
+> 框架如何改造?框架内的行为与流程是怎样的
+
 #### 服务调用
-● 负载均衡策略的对接:交由Sidecar来做:
-○ envoy支持的负载均衡策略:https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers
-● 服务路由:路由规则的存储,将Kubernetes API Server作为Config Store,注册Kubernetes CRD资源来作为路由规则的存储。通过RDS下发路由规则到Sidecar,由Sidecar来做服务路由。
-○ 涉及到现有的路由规则如何迁移到istio中路由规则管控的问题。
-目前triple协议默认的header:
+解决Dubbo SDK的请求如何代理给sidecar?
+  * sdk的RPC请求转换为类似如下格式的请求动作:http://demo.default.svc.cluster.local:50051。其中,demo为当前接口对应的 app-name
+  * 避免dubbo之前的 Cluster 选址等问题
 
-[:scheme: http, :method: POST, :path: /org.apache.dubbo.demo.GreeterService/sayHello, :authority: 127.0.0.1:50051, grpc-accept-encoding: gzip, te: trailers, content-type: application/grpc+proto, tri-consumer-appname: dubbo-demo-triple-api-consumer]
+第二阶段工作(路由等流量治理接入)
 
-● 在进行服务调用时:
-○ :authority会被识别成一个virtual host,需要适配
-○ 需要支持envoy header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers
-○ 需要支持envoy router的header:调用时支持Envoy router header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#id7
-○ 对比google grpc 和envoy grpc的差异,适配header内容:https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/grpc_service.proto.html#envoy-api-field-core-grpcservice-envoy-grpc
+负载均衡策略的对接:交由Sidecar来做:
+  * envoy支持的负载均衡策略:https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers
+  * 服务路由:路由规则的存储,将Kubernetes API Server作为Config Store,注册Kubernetes CRD资源来作为路由规则的存储。通过RDS下发路由规则到Sidecar,由Sidecar来做服务路由。
+  * 涉及到现有的路由规则如何迁移到istio中路由规则管控的问题。
 
+目前triple协议默认的header:
+
+[:scheme: http, :method: POST, :path: /org.apache.dubbo.demo.GreeterService/sayHello, :authority: 127.0.0.1:50051, grpc-accept-encoding: gzip, te: trailers, content-type: application/grpc+proto, tri-consumer-appname: dubbo-demo-triple-api-consumer]
 
+在进行服务调用时:
+  * :authority会被识别成一个virtual host,需要适配
+  * 需要支持envoy header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers
+  * 需要支持envoy router的header:调用时支持Envoy router header:https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#id7
+  *对比google grpc 和envoy grpc的差异,适配header内容:https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/grpc_service.proto.html#envoy-api-field-core-grpcservice-envoy-grpc
 
-### 会议目的:
-● 确定第一阶段的目标
-● 讨论整体的方案
 
 ### 会议记录:
 优雅下线的时候已经有相关的逻辑。
 接口级别的服务注册对接sidecar
 多实例:应用。
 没有mesh 迁移到mesh的方案
-gRPC 相关的支持内容调研
\ No newline at end of file
+gRPC 相关的支持内容调研


[dubbo-awesome] 24/41: Update 2022-idea-list.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit c1048cff28ec9326ad4d15c4667a3c04c1623135
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Apr 18 11:23:31 2022 +0800

    Update 2022-idea-list.md
---
 summerofcode/gsoc/2022-idea-list.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index 81ce7f7..209b09d 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -50,3 +50,15 @@ Istio 中 bookinfo 应用
 
 * Related issue: 
 * 总体目标:Dubbo CLI将作为Dubbo的命令行工具,Dubbo应用进程的统一的运维操作组件。它可以对接Dubbo生态内的各类多语言SDK,并且能够用于安装Dubbo Admin、Dubbo Pixiu等组件。
+
+## 题目九:证书中心化管理滚动更新
+
+* Related issue: 
+* 总体目标:Dubbo CLI将作为Dubbo的命令行工具,Dubbo应用进程的统一的运维操作组件。它可以对接Dubbo生态内的各类多语言SDK,并且能够用于安装Dubbo Admin、Dubbo Pixiu等组件。
+
+## 题目九:API 模块化管理机制调研与实现
+
+* Related issue: 
+* 总体目标:在 Dubbo 版本迭代过程中,内部相互依赖的接口签名很容易被改动。但是这些仅 Dubbo 内部使用的 API 很多被用户误使用。为了更好地控制 Dubbo 对外暴露的 API 信息,Dubbo 希望将 API 分类为三种类型:暴露给用户开放使用的、内部 Dubbo 使用的、单元测试使用的。基于此在 Dubbo 编译的时候进行强制卡点,避免用户依赖内部使用的 API。
+
+参考:Guava 的 VisibleForTesting 和 kolin 的 OptIn、JDK9 中开始提供的 module 机制


[dubbo-awesome] 16/41: Update 2022-idea-list.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 1ccdb20d1c1d717505dcc03891a7a2ce09ae3e04
Author: ken.lj <ke...@gmail.com>
AuthorDate: Sat Apr 2 21:10:27 2022 +0800

    Update 2022-idea-list.md
---
 summerofcode/gsoc/2022-idea-list.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/summerofcode/gsoc/2022-idea-list.md b/summerofcode/gsoc/2022-idea-list.md
index 072bb3a..b78d1ba 100644
--- a/summerofcode/gsoc/2022-idea-list.md
+++ b/summerofcode/gsoc/2022-idea-list.md
@@ -6,23 +6,23 @@
 
 ## 可观测性
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D4-observability.md
-* Project Links of different languages:
+* Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9886
   * Golang 
 ## Proxyless Mesh  
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.2-proxyless-mesh.md
-* Project Links of different languages:
+* Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9884
   * Golang 
 ## Proxy Mesh - Thin SDK
 * Related proposal https://github.com/apache/dubbo-awesome/blob/master/proposals/D3.1-thinsdk-sidecar-mesh.md
-* Project Links of different languages:
+* Project links of different languages:
   * Java https://github.com/apache/dubbo/issues/9885
   * Golang 
 ## admin api 迁移 qos 去中心化管控
 
 ## 服务治理场景化用例设计
-[Github Issue]()    
+Project link(https://github.com/apache/dubbo/issues/9887)    
 
 **任务描述**  
 Dubbo 拥有丰富的治理规则,如服务发现、负载均衡、路由策略(标签路由、条件路由)等,但是这些治理规则的使用具有一定的难度,用户也很难直观的了解到其对应的使用场景。因此 Dubbo 期望有这样的一些场景化的用例能够体现 Dubbo 的治理能力,帮助用户将治理规则迁移到真实业务场景中使用。


[dubbo-awesome] 05/41: Update README.md

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit 1363bd02516cfbc1752b8e33af54805ac2868c0f
Author: Xin Wang <xi...@gmail.com>
AuthorDate: Mon Dec 23 22:28:04 2019 +0800

    Update README.md
---
 README.md | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/README.md b/README.md
index 43f77e0..f1b2b3c 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,23 @@
 # dubbo-awesome
 
 Collections of Apache dubbo relevant informations
+
+
+
+Video playing address:
+
+slides/meetup 
+
+| meetup           | Video address                                                |
+| ---------------- | -------------------------------------------------- |
+| 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |
+| 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
+| 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
+| 201809@chengdu   | https://yq.aliyun.com/live/500                     |
+| 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
+| 201901@guangzhou | https://yq.aliyun.com/live/795                     |
+| 201903@nanjing   | https://yq.aliyun.com/live/908                     |
+| 201905@beijing   | https://yq.aliyun.com/live/1081                    |
+| 201907@shenzhen  | https://developer.aliyun.com/live/1222             |
+| 201908@shanghai  | https://developer.aliyun.com/live/1280             |
+| 201910@chengdu   | https://developer.aliyun.com/live/1522             |


[dubbo-awesome] 10/41: fix typo in README.md (#1)

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-awesome.git

commit f28f8943e9e36da14102627745511ca6a58a7b62
Author: Yanxin <ya...@gmail.com>
AuthorDate: Fri Jun 19 10:32:04 2020 +0800

    fix typo in README.md (#1)
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index b8707cc..6daea57 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ Video playing address:
 | 201903@nanjing   | https://yq.aliyun.com/live/908                     |
 | 201901@guangzhou | https://yq.aliyun.com/live/795                     |
 | 201812@hangzhou  | https://yq.aliyun.com/live/652                     |
-| 201809@chendu    | https://yq.aliyun.com/live/500                     |
+| 201809@chengdu    | https://yq.aliyun.com/live/500                     |
 | 201807@shenzhen  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2354/mUid/0.html#dingbu |
 | 201806@Shanghai  | http://www.itdks.com/index.php/Act/apply_upgrade/id/2281/mUid/0.html#dingbu |
 | 201805@Beijing   | http://www.itdks.com/index.php/Act/apply_upgrade/id/2176/mUid/0.html#dingbu |