diff --git a/doc/apache/apache-release-procedure-20200306.md b/doc/apache/apache-release-procedure-20200306.md
deleted file mode 100644
index 3f677ff56b8a97f881ae3d1b9bf842754ddb05ab..0000000000000000000000000000000000000000
--- a/doc/apache/apache-release-procedure-20200306.md
+++ /dev/null
@@ -1,448 +0,0 @@
-
-# Apache 杞欢鍙戠増娴佺▼
-
-> author: wongoo@apache.org
-> last updated: 2020-03-06
-
-Apache寮€婧愯蒋浠舵槸鏈夌ぞ鍖洪┍鍔ㄧ殑锛屼负浜嗘彁楂樺彂甯冭蒋浠惰川閲忚€屾寚瀹氫簡杞欢鍙戝竷娴佺▼锛屾湰鏂囦富瑕佷粙缁嶆娴佺▼锛屼互缁欑涓€娆″彂甯冩墦鍖呯殑apacher鍙傝€冦€�
-
-濡傛灉浣犺鍑嗗鎵撳寘涓€涓猘pache杞欢浜嗭紝鎯冲繀浣犲凡缁忔槸涓€涓」鐩殑committer浜嗭紝鑰屼笖鐭ラ亾绀惧尯銆丳MC杩欎簺姒傚康锛岃€屼綘鐜板湪杩樻媴浠绘湰娆″彂甯冪殑 release manager 涓€鑱屻€�
-
-鍙戠増娴佺▼鍏跺疄涔熷緢绠€鍗曪紝鏃犻潪濡備笅锛�
-1. 鏁寸悊鍙樻洿鍐呭锛屾墦鍖呭苟瀵规墦鍖呮枃浠剁鍚嶏紱
-2. 灏嗙鍚嶆枃浠朵笂浼燼pache svn浠撳簱锛�
-3. 鍙戦偖浠惰绀惧尯PMC澶т浆鎶曠エ锛�
-4. 鎶曠エ閫氳繃鍚庡彂涓€涓姇绁ㄧ粨鏋滈€氬憡閭欢锛�
-5. 鍙戠増
-6. 鍙戠増閭欢閫氬憡绀惧尯鏂扮増鏈彂甯冿紱
-
-涓嬮潰璇︾粏鏁寸悊鍙戠増鐨勪竴浜涙祦绋嬫楠わ紝浣跨敤 dubbo 鐨勫瓙椤圭洰 dubbog-go-hessian2 鍙戠増涓轰緥锛�
-
-
-## 1. 鍙戠増鍑嗗
-
-鍙戠増鏂囦欢闇€瑕佺鍚嶏紝闇€瑕佸畨瑁卲gp宸ュ叿. 
-
-```bash
-$ brew install gpg
-$ gpg --version
-$ gpg --full-gen-key
-	(1) RSA and RSA (default)  <-- RSA 绫诲瀷
-	What keysize do you want? (2048) 4096  <-- key澶у皬涓�4096
-	0 = key does not expire    <-- 姘镐笉杩囨湡
-	Real name: Liu Yang
-	Email address: wongoo@apache.org
-	Comment: CODE SIGNING KEY
-
-	gpg: /Users/gelnyang/.gnupg/trustdb.gpg: trustdb created
-	gpg: key 7DB68550D366E4C0 marked as ultimately trusted
-	gpg: revocation certificate stored as '/Users/gelnyang/.gnupg/openpgp-revocs.d/1376A2FF67E4C477573909BD7DB68550D366E4C0.rev'
-	public and secret key created and signed.
-
-	pub   rsa4096 2019-10-17 [SC]
-	      1376A2FF67E4C477573909BD7DB68550D366E4C0
-	uid                      Liu Yang (CODE SIGNING KEY) <wongoo@apache.org>
-	sub   rsa4096 2019-10-17 [E]
-
-$ gpg --list-keys	
-	gpg: checking the trustdb
-	gpg: marginals needed: 3  completes needed: 1  trust model: pgp
-	gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
-	/Users/gelnyang/.gnupg/pubring.kbx
-	----------------------------------
-	pub   rsa4096 2019-10-17 [SC]
-	      1376A2FF67E4C477573909BD7DB68550D366E4C0
-	uid           [ultimate] Liu Yang (CODE SIGNING KEY) <wongoo@apache.org>
-	sub   rsa4096 2019-10-17 [E]
-
-
-# 鍏挜鏈嶅姟鍣ㄦ槸缃戠粶涓婁笓闂ㄥ偍瀛樼敤鎴峰叕閽ョ殑鏈嶅姟鍣�
-# 閫氳繃key id鍙戦€乸ublic key鍒発eyserver
-$ gpg --keyserver pgpkeys.mit.edu --send-key 1376A2FF67E4C477573909BD7DB68550D366E4C0
-	gpg: sending key 7DB68550D366E4C0 to hkp://pgpkeys.mit.edu
-# 鍏朵腑锛宲gpkeys.mit.edu涓洪殢鎰忔寫閫夌殑keyserver锛宬eyserver鍒楄〃涓猴細https://sks-keyservers.net/status/锛屼负鐩镐簰涔嬮棿鏄嚜鍔ㄥ悓姝ョ殑锛岄€変换鎰忎竴涓兘鍙互銆�
-
-# 濡傛灉鏈夊涓猵ublic key锛岃缃粯璁ey銆備慨鏀� ~/.gnupg/gpg.conf
-$ vi ~/.gnupg/gpg.conf
-default-key 7DB68550D366E4C0
-
-# 濡傛灉鏈夊涓猵ublic key, 涔熷彲浠ュ垹闄ゆ棤鐢ㄧ殑key锛�
-### 鍏堝垹闄ょ閽ワ紝鍐嶅垹闄ゅ叕閽�
-$ gpg --yes --delete-secret-keys shenglicao2@gmail.com   ###鑰佺殑绉侀挜锛屾寚鏄庨偖绠卞嵆鍙�
-$ gpg --delete-keys 1808C6444C781C0AEA0AAD4C4D6A8007D20DB8A4
-
-## 鐢变簬鍏挜鏈嶅姟鍣ㄦ病鏈夋鏌ユ満鍒讹紝浠讳綍浜洪兘鍙互鐢ㄤ綘鐨勫悕涔変笂浼犲叕閽ワ紝鎵€浠ユ病鏈夊姙娉曚繚璇佹湇鍔″櫒涓婄殑鍏挜鐨勫彲闈犳€с€�
-## 閫氬父锛屼綘鍙互鍦ㄧ綉绔欎笂鍏竷涓€涓叕閽ユ寚绾癸紝璁╁叾浠栦汉鏍稿涓嬭浇鍒扮殑鍏挜鏄惁涓虹湡銆�
-# fingerprint鍙傛暟鐢熸垚鍏挜鎸囩汗锛�
-$ gpg --fingerprint wongoo
-
-	pub   rsa4096 2019-10-17 [SC]
-	      1376 A2FF 67E4 C477 5739  09BD 7DB6 8550 D366 E4C0
-	uid           [ultimate] Liu Yang (CODE SIGNING KEY) <wongoo@apache.org>
-	sub   rsa4096 2019-10-17 [E]
-	# 灏嗕笂闈㈢殑 fingerprint 锛堝嵆 1376 A2FF 67E4 C477 5739  09BD 7DB6 8550 D366 E4C0锛夌矘璐村埌鑷繁鐨勭敤鎴蜂俊鎭腑锛�
-	# https://id.apache.org  OpenPGP Public Key Primary Fingerprint:
-```
-
-> 璇︾粏鍙傝€冿細
-> - 鍙戝竷绛惧悕: http://www.apache.org/dev/release-signing.html
-> - 鍙戝竷绛栫暐: http://www.apache.org/dev/release-distribution
-> - 灏嗗瘑閽ヤ笂浼犲埌鍏叡瀵嗛挜鏈嶅姟鍣�: https://www.apache.org/dev/openpgp.html#generate-key
-
-## 2. 鎵撳寘绛惧悕
-
-鍑嗗鎵撳寘鍓嶏紙灏ゅ叾鎻愮涓€娆℃墦鍖咃級闇€瑕佹敞鎰忎互涓嬪唴瀹�:
-- 姣忎釜鏂囦欢鐨凩ICENSE澶撮儴鏄惁姝g‘, 鍖呮嫭 `*.java`, `*.go`, `*.xml`, `Makefile` 绛�
-- LICENSE 鏂囦欢鏄惁瀛樺湪
-- NOTICE 鏂囦欢鏄惁瀛樺湪
-- CHANGE.md 鏄惁瀛樺湪 锛堝彉鏇村唴瀹规牸寮忕鍚堣鑼冿級
-
-浠ヤ笂鍙互鍙傝€冨叾浠栧凡鍙戝竷椤圭洰鐨勯厤缃€�
-
-
-```
-
-# NOTICE: 杩欓噷鍒囧垎鏀紝鍒嗘敮鍚嶇О涓嶈鍜岀増鏈彿锛坱ag鐢級绫讳技锛屼笉鐒朵細鏈夊啿绐�
-$ git checkout -b 1.4
-
-$ git tag -a v1.4.0-rc1 -m "v1.4.0 release candidate 1"
-
-$ git push --tags
-
-# 鎵撳寘
-$ git archive --format=tar 1.4 --prefix=dubbo-go-hessian2-v1.4.0/ | gzip > dubbo-go-hessian2-v1.4.0-src.tar.gz
-
-# 绛惧悕
-$ gpg -u wongoo@apache.org --armor --output dubbo-go-hessian2-v1.4.0-src.tar.gz.asc --detach-sign dubbo-go-hessian2-v1.4.0-src.tar.gz
-
-# 楠岃瘉绛惧悕
-$ gpg --verify dubbo-go-hessian2-v1.4.0-src.tar.gz.asc dubbo-go-hessian2-v1.4.0-src.tar.gz
-
-# hash
-$ shasum -a 512 dubbo-go-hessian2-v1.4.0-src.tar.gz > dubbo-go-hessian2-v1.4.0-src.tar.gz.sha512
-
-# 楠岃瘉 hash
-$ shasum --check dubbo-go-hessian2-v1.4.0-src.tar.gz.sha512
-
-```
-
-> 鍙戝竷鐗堟湰: http://www.apache.org/dev/release-publishing.html
-
-## 3. 涓婁紶鎵撳寘鏂囦欢鍒皊vn浠撳簱
-
-```
-$ svn checkout https://dist.apache.org/repos/dist/dev/dubbo
-
-$ cd dubbo
-
-# 鏇存柊
-$ svn update
-
-# 娣诲姞 绛惧悕 鍜� public key 鍒癒EYS鏂囦欢骞舵彁浜ゅ埌SVN浠撳簱
-# 杩欓噷鏄皢鍏挜KEYS鏀惧埌鏍圭洰褰�, 鏈夌殑椤圭洰鏀惧埌鏈鎵撳寘鏂囦欢鐩綍
-$ (gpg --list-sigs wongoo && gpg --armor --export wongoo) >> KEYS
-
-$ mkdir -p dubbo-go-hessian2/v1.4.0-rc1
-
-# 鎷疯礉鐩稿叧鏂囦欢鍒版柊寤虹洰褰曚笅
-
-$ tree dubbo-go-hessian2
-dubbo-go-hessian2
-鈹斺攢鈹€ v1.4.0-rc1
-    鈹溾攢鈹€ dubbo-go-hessian2-v1.4.0-src.tar.gz
-    鈹溾攢鈹€ dubbo-go-hessian2-v1.4.0-src.tar.gz.asc
-    鈹斺攢鈹€ dubbo-go-hessian2-v1.4.0-src.tar.gz.sha512
-
-$ svn add dubbo-go-hessian2
-$ svn add dubbo-go-hessian2/*
-$ svn status
-$ svn commit  --username wongoo -m "Release dubbo-go-hessian2 v1.4.0-rc1"
-```
-
-> 璇︾粏鍙傝€�: svn鐗堟湰绠$悊 https://www.apache.org/dev/version-control.html
-
-
-## 4. 鍙戞姇绁� [VOTE] 閭欢
-
-鍙戜换浣曢偖浠堕兘鏄湁涓€瀹氭牸寮忕殑锛屼綘鍔犲叆绀惧尯閭欢鍒楄〃鍚庯紝灏变細鏀跺埌寰堝杩欐牱鐨勯偖浠讹紝澶氱湅鐪嬪氨鐭ラ亾浜嗭紝鍏蜂綋閭欢鑼冩湰鍙傝€冩枃绔犲悗闈㈢殑閭欢鑼冩湰銆�
-
-鍙戝畬銆怴OTE銆戦偖浠讹紝绉佷笅娌熼€氱兢閲岄潰璇峰ぇ浣琍MC鎶曠エ銆�
-PMC鎶曠エ浼氬浣犱笂浼犳墦鍖呮枃浠惰繘琛岀浉鍏虫鏌�, 
-璇︾粏鍙互浜嗚В瀛靛寲涓殑椤圭洰鍙戝竷瀹屾暣鐨勬鏌ラ」鍙傝€冿細 https://cwiki.apache.org/confluence/display/INCUBATOR2/IncubatorReleaseChecklist
-
-鏀跺埌3涓猙inding閭欢涓旇秴杩�72灏忔椂鍚庯紝灏卞彲浠ュ彂 鎶曠エ缁撴灉 [RESULT] [VOTE] 閭欢浜嗐€�
-
-> 鍘熷垯涓婂彧鏈塒MC鐨勬姇绁ㄦ墠绠梑inding閭欢, 褰撶劧涔熷彲浠ョ敱绀惧尯鍐冲畾銆�
-
-杩欎竴姝ラ鏈€甯歌鏈変互涓嬮棶棰橈細
-- 鏂囦欢绛惧悕鏈夐棶棰�
-- 寮曠敤椤圭洰LICENSE闂
-- 鍗曞厓娴嬭瘯涓嶉€氳繃
-
-> 鍙﹀闇€瑕佹敞鎰�: 涓€涓猘pache椤圭洰鍙兘鍖呭惈寰堝瀛愰」鐩紝椤圭洰鐨凱MC鍙兘鍙涓婚」鐩瘮杈冧簡瑙o紝	浠栦滑骞朵笉娓呮濡備綍灏嗗瓙椤圭洰璺戣捣鏉ワ紝涔熶笉鐭ラ亾濡備綍璺戝崟鍏冩祴璇曪紝鏈€濂藉湪閭欢涓檮甯︿竴涓浣曡繘琛屽崟鍏冩祴璇曠殑杩炴帴銆備緥濡� PMC 鏈€浜嗚В java锛屼絾瀛愰」鐩槸golang锛宲ython锛宩s绛夛紝浣犻渶瑕佸憡璇変粬浠浣曟祴璇曚綘鐨勯」鐩€�
-
-鍙互鍙傝€冩姇绁ㄨ鍒�: https://www.apache.org/foundation/voting.html
-
-## 5. 鍙戝竷鐗堟湰
-
-褰撴寮忓彂甯冩姇绁ㄦ垚鍔熷悗锛屽厛鍙慬Result]閭欢锛岀劧鍚庡氨鍑嗗 release package銆� 
-灏嗕箣鍓嶅湪dev涓嬪彂甯冪殑瀵瑰簲rc鏂囦欢澶逛笅鐨勬簮鐮佸寘銆佺鍚嶆枃浠跺拰hash鏂囦欢鎷疯礉鍒板彟涓€涓洰褰� v1.4.0锛�
-娉ㄦ剰鏂囦欢鍚嶅瓧涓笉瑕乺cxx (鍙互rename锛屼絾涓嶈閲嶆柊璁$畻绛惧悕锛宧ash鍙互閲嶆柊璁$畻锛岀粨鏋滀笉浼氬彉)銆�
-
-灏唕elease鍖呯Щ鍔ㄥ埌姝e紡鐗堢洰褰曘€傚鏋滀綘鐨勮蒋浠舵槸闇€瑕佸鎴蜂粠apache涓嬭浇鐨勶紝鍒欒繖涓€姝ユ槸蹇呴』鐨勩€傚鏋滀笉鏄紝姣斿golang寮曠敤github鎵撳寘鍦板潃鐨勫垯鍙互蹇界暐銆�
-```
-svn up
-cd dubbo-go-hessian2
-svn move v1.4.0-rc1 v1.4.0
-svn status
-svn commit  --username wongoo -m "Release dubbo-go-hessian2 v1.4.0"
-```
-
-绉诲埌鍙戠増鐩綍鍚庯紝杩橀渶瑕佽繘琛岀浉搴旂殑姝e紡鐗堟湰鍙戝竷锛� 杩欓噷灏嗗叿浣撳彂甯冩柟寮忔暣鐞嗗埌鍗曠嫭鐨勭珷鑺� `7. 涓嶅悓璇█鐗堟湰鍙戝竷`锛屽洜涓哄彂甯冩祦绋嬮┈涓婂氨瑕佺粨鏉熶簡 ^v^
-
-
-## 6. 鏂扮増鏈€氬憡 ANNOUNCE 閭欢
-
-鎭枩浣犱綘宸茬粡鍒板彂鐗堟渶鍚庝竴姝ヤ簡锛岄偖浠舵牸寮忓弬鑰冧互涓嬮偖浠惰寖鏈紒
-
-
-## 7. 涓嶅悓璇█鐗堟湰鍙戝竷
-
-### 7.1 golang
-
-鍦� github 鍩轰簬鎶曠エ鍒嗘敮鍙戝竷浜� release 鐗堟湰銆�
-
-### 7.2 java
-
-java椤圭洰鍙戠増闇€鍙戝竷鍒癹ava maven浠撳簱銆�
-
-TODO
-
-### 7.3 js
-
-js椤圭洰鍙戠増闇€鍙戝竷鍒皀pm浠撳簱銆�
-
-TODO
-
-### 7.4 python
-
-TODO
-
-## 8. 閭欢鑼冩湰
-
-### 8.1. 鎻愬嚭鍙戠増鎶曠エ
-
-- TO: dev@dubbo.apache.org
-- Title: [VOTE] Release Apache dubbo-go-hessian2 v1.4.0 RC1
-
-```
-Hello Dubbo/Dubbogo Community,
-
- This is a call for vote to release Apache dubbo-go-hessian2 version v1.4.0 RC1.
-
- The release candidates: https://dist.apache.org/repos/dist/dev/dubbo/dubbo-go-hessian2/v1.4.0-rc1/
- Git tag for the release: https://github.com/apache/dubbo-go-hessian2/tree/1.4
- Hash for the release tag: 4c31e88c35afe84c0321d9f12f036e6d3c8962d0
- Release Notes: https://github.com/apache/dubbo-go-hessian2/blob/1.4/CHANGE.md
- The artifacts have been signed with Key :7DB68550D366E4C0, which can be found in the keys file:
- https://dist.apache.org/repos/dist/dev/dubbo/KEYS
-
- The vote will be open for at least 72 hours or until necessary number of votes are reached.
-
- Please vote accordingly:
- [ ] +1 approve
- [ ] +0 no opinion
- [ ] -1 disapprove with the reason
- 
- Thanks,
- The Apache Dubbo-go Team
- ```
-
-
-### 8.2. PMC 鎶曠エ閭欢鍥炲
-
-
-鑼冧緥1锛�
-```
-+1 approve   <-- 棣栧厛琛ㄦ槑鍚屼笉鍚屾剰
-
-I have checked:    <-- 鍏舵瑕佽鏄庤嚜宸辨鏌ヤ簡鍝簺椤�
-
-1.source code can build          <-- 鑳藉惁鏋勫缓
-2.tests can pass in my local     <-- 鍗曞厓娴嬭瘯鑳藉惁閫氳繃
-3. NOTICE LICENSE file exist     <-- 鍗忚鏂囦欢鏄惁瀛樺湪
-4.git tag is correct             <-- git tag 鏄惁姝g‘
-
-there is one minor thing that in change logs file, there is no space
-between text And link. I suggest add one to make it looks better.  <--- 涓€浜涘叾浠栨敼杩涘缓璁�
-```
-
-鑼冧緥2锛�
-```
-+1
-
-I checked the following items:
-
-[v] Are release files in correct location?                    <-- 鍙戝竷鏂囦欢鐩綍鏄惁姝g‘
-[v] Do release files have the word incubating in their name?  
-[v] Are the digital signature and hashes correct?             <-- 绛惧悕銆乭ash鏄惁姝g‘
-[v] Do LICENSE and NOTICE files exists?
-[v] Is the LICENSE and NOTICE text correct?                   <-- 鍗忚鏂囨湰鏄惁姝g‘
-[v] Is the NOTICE year correct?                               <-- 娉ㄦ剰骞翠唤鏄惁姝g‘
-[v] Un-included software dependencies are not mentioned in LICENSE or NOTICE?   <-- 娌℃湁鍖呭惈鍗忚鎴栨敞鎰忔病鏈夋彁鍒扮殑杞欢渚濊禆
-[v] License information is not mentioned in NOTICE?           <-- 鍗忚淇℃伅娌℃湁鍦ㄦ敞鎰忎腑鎻愬強
-[x] Is there any 3rd party code contained inside the release? If so:   <-- 鏄惁鍖呭惈绗笁鏂逛唬鐮�
-     [ ] Does the software have a compatible license?
-     [ ] Are all software licenses mentioned in LICENSE?
-     [ ] Is the full text of the licenses (or pointers to it) in LICENSE?
-     Is any of this code Apache licensed? Do they have NOTICE files? If so:
-     [ ] Have relevant parts of those NOTICE files been added to this NOTICE file?
-[v] Do all source files have ASF headers?                             <-- 鏄惁鎵€鏈夋簮鐮侀兘鏈堿SF澶撮儴
-[v] Do the contents of the release match with what's tagged in version control?   <-- 鍙戝竷鐨勬枃浠舵槸鍚﹀拰github涓璽ag鏍囪鐨勭増鏈竴鑷�
-[x] Are there any unexpected binary files in the release?             <-- 鏄惁鍖呭惈涓嶅簲璇ュ瓨鍦ㄧ殑浜岃繘鍒舵枃浠�
-[v] Can you compile from source? Are the instruction clear?           <-- 鑳藉惁缂栬瘧锛熸寚浠ゆ槸鍚︽槑纭紵
-
-On my mac laptop, I could compile successfully but there's one failed unit
-test against net.go. I believe this issue [1] can be fixed with [2] in the
-next release.       <-- 缂栬瘧闂鍙婂缓璁�
-
-Is the issue minor?  <-- 缂栬瘧瀛樺湪鐨勯棶棰樻槸鍚﹂兘鏄緝灏忕殑锛�
-[v] Yes [ ] No [ ] Unsure
-
-Could it possibly be fixed in the next release?  <-- 鑳藉惁鍦ㄤ笅涓€鐗堟湰淇锛�
-[v] Yes [ ] No [ ] Unsure
-
-I vote with:   <-- 鎴戠殑鎶曠エ
-[v] +1 release the software
-[ ] +0 not sure if it should be released
-[ ] -1 don鈥檛 release the software because...
-
-Regards,
--Ian.
-
-1. https://github.com/apache/dubbo-go/issues/207
-2. https://github.com/apache/dubbo-go/pull/209
-```
-
-鑼冧緥3锛�
-```
-+1
-
-I checked the following items:
-
-[鈭歖 Do LICENSE and NOTICE files exists?
-[鈭歖 Is the LICENSE and NOTICE text correct?
-[鈭歖 Is the NOTICE year correct?
-[鈭歖 Do all source files have ASF headers?
-[鈭歖 Do the contents of the release match with what's tagged in version control?
-[鈭歖 Can you compile from source?
-I could compile successfully but there's failed units test.  I run the unit
-test refer to :https://github.com/apache/dubbo-go#running-unit-tests .
-But I think it is not matter, the test can be fixed in next release.
-
-
-I vote with:
-[鈭歖 +1 release the software
-```
-
-鑼冧緥4:
-```
-Great improvement over the previous release but there are still issues from the last vote that have not been resolved. e.g. [6][7][8]
-
-Can someone tell me if these files [1][2][3][4][5] are just missing ASF headers or have a different license?
-
-If they are just missing headers and [6][7][8] explained then it +1 form me, otherwise it鈥檚 probably a -1.
-
-Can people please carefully check the contents, and write down what you checked, rather than just saying +1.
-
-I checked:
-- signatures and hashes good
-- LICENSE is missing the appendix (not a major issue)
-- LICENSE may be is missing some information[1][2][3][4][5]
-- NOTICE is fine
-- No binaries in source release
-- Some files are missing ASF headers or other license headers [1][2][3][4][5] - please fix
-
-Thanks,
-Justin
-
-1. dubbo-go-1.1.0/cluster/loadbalance/round_robin_test.go
-2. dubbo-go-1.1.0/common/extension/router_factory.go
-3. dubbo-go-1.1.0/config_center/configuration_parser.go
-4. dubbo-go-1.1.0/config_center/configuration_parser_test.go
-5. dubbo-go-1.1.0/registry/zookeeper/listener_test.go
-6. dubbo-go-1.1.0/cluster/loadbalance/least_active.go
-7. dubbo-go-1.1.0/protocol/RpcStatus.go
-8. dubbo-go-1.1.0/filter/impl/active_filter.go
-```
-
-
-### 8.3. 鍙� [RESULT] [VOTE] 鎶曠エ缁撴灉閫氱煡閭欢
-
-- TO: dev@dubbo.apache.org
-- Title: [RESULT] [VOTE]: Release Apache dubbo-go-hessian2 v1.4.0 RC1
-
-
-```
-Hello Dubbo/Dubbogo Community,
-
-The release dubbo-go-hessian2 v1.4.0 RC1 vote finished, We鈥檝e received 3 +1 (binding) votes.
-
-+1 binding, Stocks Alex
-+1 binding, Ian Luo
-+1 binding, Jun Liu
-
-The vote and result thread:
-https://lists.apache.org/thread.html/r8070f3b00984888069dd4ddad1bbc424cde51ea68b6ff0520e609e18%40%3Cdev.dubbo.apache.org%3E
-
-
-The vote passed. Thanks all.
-I will proceed with the formal release later.
-
-
-Best regards,
-
-The Apache Dubbogo Team
-```
-
-
-### 8.4. 鍙� Announce 鍙戠増閭欢
-
-- TO: dev@dubbo.apache.org
-- [ANNOUNCE] Apache Dubbo version 2.7.4 Released
-
-```
-Hello Community,
-
-The Apache Dubbo team is pleased to announce that the 2.7.4 has been
-released.
-
-Apache Dubbo鈩�  is a high-performance, java based, open source
-RPC framework. Dubbo offers three key functionalities, which include
-interface based remote call, fault tolerance & load balancing, and
-automatic service registration & discovery.
-
-Both the source release[1] and the maven binary release[2] are available
-now, you can also find the detailed release notes in here[3].
-
-
-If you have any usage questions, or have problems when upgrading or find
-any problems about enhancements included in this release, please don鈥檛
-hesitate to let us know by sending feedback to this mailing list or filing
-an issue on GitHub[4].
-
-
-
-[1] http://dubbo.apache.org/en-us/blog/download.html
-[2] http://central.maven.org/maven2/org/apache/dubbo
-[3] https://github.com/apache/dubbo/releases
-[4] https://github.com/apache/dubbo/issues
-```
-
-## 9. 鍙傝€�
-
-- dubbo鍙戝竷娴佺▼: http://dubbo.apache.org/zh-cn/docs/developers/committer-guide/release-guide_dev.html
-- doris鍙戝竷娴佺▼: https://github.com/apache/incubator-doris/blob/master/docs/documentation/cn/community/release-process.md
-- spark鍙戝竷娴佺▼: http://spark0apache0org.icopy.site/release-process.html
-
-
diff --git a/doc/apache/release_note.md b/doc/apache/release_note.md
deleted file mode 100644
index 747a3348a1324cc059906fae16cb432b3bc6188d..0000000000000000000000000000000000000000
--- a/doc/apache/release_note.md
+++ /dev/null
@@ -1,11 +0,0 @@
-### How to release a new version?
----
-
-* 1 Check the time range of NOTICE;
-* 2 Add the features to the feature list of README.md/README_CN.md/CHANGE.md;
-* 3 Check whether every code file has the Apache License 2.0 or not;
-* 4 There should not be author info(name & email etc) exist in code file;
-* 5 Run all unit tests;
-* 6 Run all samples in apache/dubbo-samples/golang;
-* 7 Write "What's New" by releaser who should be an apache/dubbo-go committer;
-* 8 And then, u can release a new version refer to [Apache 杞欢鍙戠増娴佺▼](./apache-release-procedure-20200306.md);
\ No newline at end of file
diff --git a/doc/md/arch/dubbo-go-design-implement-and-featrues.md b/doc/md/arch/dubbo-go-design-implement-and-featrues.md
deleted file mode 100644
index c0600ef21fb578225646c9acc94a63d109494ee1..0000000000000000000000000000000000000000
--- a/doc/md/arch/dubbo-go-design-implement-and-featrues.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# [dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](https://www.infoq.cn/article/7JIDIi7pfwDDk47EpaXZ)
-
-## dubbo-go 鐨勫墠涓栦粖鐢�
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-a.png)
-
-dubbo-go 鏄洰鍓� Dubbo 澶氳瑷€鐢熸€佹渶鐏儹鐨勯」鐩€俤ubbo-go 鏈€鏃╃殑鐗堟湰搴旇瑕佽拷婧埌 2016 骞达紝鐢辩ぞ鍖轰簬闆ㄥ悓瀛︾紪鍐� dubbo-go 鐨勫垵鐗堛€傚綋鏃跺緢澶氫笢瑗挎病鏈夌幇鎴愮殑杞瓙锛屽 Go 璇█娌℃湁鍍� netty 涓€鏍风殑鍩轰簬浜嬩欢鐨勭綉缁滃鐞嗗紩鎿庛€� hessian2 鍗忚娌℃湁 Go 璇█鐗堟湰瀹炵幇锛屽姞涓婂綋鏃� Dubbo 涔熸病鏈夊紑濮嬮噸鏂扮淮鎶ゃ€傛墍浠ヤ粠鍗忚搴撳埌缃戠粶寮曟搸锛屽啀鍒颁笂灞� dubbo-go 锛屽叾瀹為兘鏄粠闆跺紑濮嬪啓鐨勩€�
-
-鍦� 2018 骞达紝鎼虹▼寮€濮嬪仛 Go 璇█鐨勪竴浜涗腑闂翠欢浠ユ惌寤哄唴閮ㄧ殑 Go 璇█鐢熸€侊紝闇€瑕佹湁涓€涓� Go 鐨勬湇鍔℃鏋跺彲浠ヤ笌鎼虹▼鐨勭幇鏈� dubbo soa 鐢熸€佷簰閫氥€傛墍浠ョ敱鎴戣礋璐i噸鏋勪簡 dubbo锛峠o 骞跺紑婧愬嚭杩欎釜鐗堟湰銆傚綋鏃惰皟鐮斾簡寰堝寮€婧愮殑 Go 璇█鏈嶅姟妗嗘灦锛屽綋鏃惰兘澶熸敮鎸� hessian2 鍗忚鐨勫苟璺� Dubbo 鍙互鎵撻€氱殑浠呮壘鍒颁簡褰撴椂浜庨洦鍐欑殑 dubbo-go 鏃╂湡鐗堟湰銆傜敱浜庢惡绋嬪绀惧尯鐗堟湰鐨� Dubbo 鍋氫簡鎸哄鐨勬墿灞曪紝婧愪簬瀵规墿灞曟€х殑闇€姹傛垜浠� Go 璇█鐗堟湰闇€瑕佷竴涓洿鏄撲簬鎵╁睍鐨勭増鏈紝鍔犱笂褰撴椂杩欎釜鐗堟湰鏈韩鐨勫姛鑳戒篃姣旇緝绠€鍗曪紝鎵€浠ユ垜浠壘鍒颁簡浣滆€呭悎浣滈噸鏋勪簡涓€涓洿濂界殑鐗堟湰銆傜粡杩囦簡澶у崐骞存椂闂达紝鍦ㄤ笂鍥剧涓夐樁娈� 19 骞� 6 鏈堢殑鏃跺€欙紝鍩烘湰涓婂凡缁忔妸 dubbo-go 閲嶆瀯浜嗕竴閬嶏紝鎬讳綋鐨勬€濊矾鏄弬鑰冪殑 Dubbo 鏁翠綋鐨勪唬鐮佹灦鏋勶紝鐢� Go 璇█瀹屽叏閲嶅啓浜嗕竴涓畬鏁寸殑鍏峰鏈嶅姟绔窡娑堣垂绔殑 Golang rpc/ 寰湇鍔℃鏋躲€�
-
-鍚庢潵鎴戜滑灏嗛噸鏋勫悗鐨勭増鏈� dubbo-go 1.0 璐$尞缁� Apache 鍩洪噾浼氾紝鍒扮幇鍦ㄥ凡缁忚繃鍘讳簡涓や釜澶氭湀鐨勬椂闂达紝杩戞湡绀惧尯鍙戝竷浜� 1.1 鐗堟湰銆傜洰鍓嶄负姝紝宸茬粡鏈夊寘鎷惡绋嬪湪鍐呯殑鍏徃宸茬粡鍦ㄧ敓浜х幆澧冨紑濮嬩簡璇曠敤鍜屾帹骞裤€�
-
-## Start dubbo-go
-
-鐜板湪鐨� dubbo-go 宸茬粡鑳藉璺� Java 鐗堟湰鍋氭瘮杈冨ソ鐨勮瀺鍚堜簰閫氾紝鍚屾椂 dubbo-go 鑷韩涔熸槸涓€涓畬鎴愮殑 Go 璇█ rpc/ 寰湇鍔℃鏋讹紝瀹冧篃鍙互鑴辩 java dubbo 鏉ョ嫭绔嬩娇鐢ㄣ€�
-
-杩欒竟绠€鍗曚粙缁嶄竴涓嬬敤娉曪紝鍐欎竴涓� hello world 鐨勪緥瀛愩€�
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-b.png)
-
-涓婂浘鏄竴涓畝鍗曠殑 java service 锛屾敞鍐屼负涓€涓� Dubbo 鏈嶅姟锛屾槸涓€涓畝鍗曠殑鑾峰彇鐢ㄦ埛淇℃伅鐨勪緥瀛愩€�
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-c.png)
-
-涓婂浘鏄� dubbo-go 鐨勫鎴风锛屾潵璁㈤槄鍜岃皟鐢ㄨ繖涓� Java 鐨� Dubbo 鏈嶅姟銆侴o 璇█瀹㈡埛绔渶瑕佹樉寮忚皟鐢� SetConsumerService 鏉ユ敞鍐岄渶瑕佽闃呯殑鏈嶅姟锛岀劧鍚庨€氳繃璋冪敤 dubbo-go-hessian2 搴撶殑 registerPOJO 鏂规硶鏉ユ敞鍐� user 瀵硅薄锛屽仛 Java 鍜� Go 璇█涔嬮棿鐨勮嚜瀹氫箟 pojo 绫诲瀷杞崲銆傚叿浣撶殑鏈嶅姟璋冪敤鏂规硶灏辨槸澹版槑涓€涓殑 GetUser 闂寘锛屼究鍙洿鎺ヨ皟鐢ㄣ€�
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-d.png)
-
-涓婂浘锛屽悓鏍风殑鍙互鍩轰簬 dubbo-go 鍙戝竷涓€涓� GetUser 鐨勬湇鍔$锛屼娇鐢ㄦ柟寮忕被浼硷紝鍙戝竷瀹屽悗鍙互琚� dubbo java 鐨勫鎴风璋冪敤銆�
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-e.png)
-
-濡備笂鍥炬墍绀猴紝鐜板湪宸茬粡鍋氬埌浜嗚繖鏍蜂竴涓▼搴︼紝鍚屾牱涓€浠� dubbo-go 瀹㈡埛绔唬鐮侊紝鍙互鍘昏皟鐢� dubbo-go 鐨勬湇鍔$锛屼篃鍙互鍘昏皟鐢� Dubbo Java 鐨勬湇鍔$锛涘悓鏍蜂竴浠� dubbo-go 鐨勬湇鍔$浠g爜锛屽彲浠ヨ dubbo-go 瀹㈡埛绔拰 Java 瀹㈡埛绔皟鐢紝鎵€浠ュ熀鏈笂浣跨敤 Dubbo 浣滀负 PPC 妗嗘灦鐨� Go 璇█搴旂敤璺� Java 搴旂敤鏄病鏈変粈涔堥樆纰嶇殑锛屾槸瀹屽叏鐨勮法璇█ RPC 璋冪敤銆傛洿閲嶈鐨勬槸 dubbo-go 缁ф壙浜� Dubbo 鐨勮澶氫紭鐐癸紝濡傛槗浜庢墿灞曘€佹湇鍔℃不鐞嗗姛鑳藉己澶э紝澶у鍦ㄧ敤 Go 璇█寮€鍙戝簲鐢ㄧ殑杩囩▼涓紝濡傛灉涔熼亣鍒扮被浼奸渶瑕佷笌 Dubbo Java 鎵撻€氱殑闇€姹傦紝鎴栬€呴渶瑕佹壘涓€涓湇鍔℃不鐞嗗姛鑳藉畬澶囩殑 Go 寰湇鍔℃鏋讹紝鍙互鐪嬩笅鎴戜滑 dubbo-go 椤圭洰銆�
-
-## dubbo-go 鐨勭粍鎴愰」鐩�
-
-涓嬮潰浠嬬粛涓€涓� dubbo-go 鐨勭粍鎴愰」鐩紝涓轰簡鏂逛究鍙互琚叾浠栭」鐩洿鎺ュ鐢紝 dubbo-go 鎷嗗垎鎴愪簡澶氫釜椤圭洰锛屽苟鍏ㄩ儴浠� Apache 鍗忚寮€婧愩€�
-
-**apache/dubbo-go**
-
-dubbo-go 涓婚」鐩紝 Dubbo 鏈嶅姟绔€佸鎴风瀹屾暣 Go 璇█瀹炵幇銆�
-
-**apache/dubbo-go-hession2**
-
-鐩墠搴旂敤鏈€骞挎硾锛屼笌 Java 鐗堟湰鍏煎绋嬪害鏈€楂樼殑 hessian2 鍗忚 Go 璇█瀹炵幇锛屽凡缁忚澶氫釜 GolangRPC & Service Mesh 椤圭洰浣跨敤銆�
-
-**dubbo-go/getty**
-
-dubbo-go 寮傛缃戠粶 I/O 搴擄紝灏嗙綉缁滃鐞嗗眰瑙h€︺€�
-
-**dubbo-go/gost**
-
-鍩烘湰绫诲簱锛屽畾涔変簡 timeWheel銆乭ashSet銆乼askPool 绛夈€�
-
-**dubbo-go/dubbo-go-benchmark**
-
-鐢ㄤ簬瀵� dubbo-go 杩涜绠€鍗曠殑鍘嬪姏娴嬭瘯锛屾€ц兘娴嬭瘯銆�
-
-**apache/dubbo-go-hessian2**
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-f.png)
-
-鍏堢畝鍗曚粙缁嶄竴涓� dubbo-go-hessian2 椤圭洰銆傝椤圭洰灏辨槸 hessian2 鍗忚鐨� Go 璇█瀹炵幇锛屾渶鍩烘湰鐨勫彲浠ュ皢 Java 鐨勫熀鏈暟鎹被鍨嬪拰澶嶆潅鏁版嵁绫诲瀷锛堝涓€浜涘寘瑁呯被鍜� list 鎺ュ彛瀹炵幇绫伙級涓� golang 杩欒竟瀵瑰簲銆�
-
-璇︽儏鍙互鍙傝€冿細 [https://github.com/hessian-group/hessian-type-mapping](https://github.com/hessian-group/hessian-type-mapping)
-
-鍙﹀ Dubbo Java 鏈嶅姟绔彲浠ヤ笉鎹曡幏寮傚父锛屽皢寮傚父绫婚€氳繃 hession2 鍗忚搴忓垪鍖栭€氳繃缃戠粶浼犺緭缁欐秷璐圭锛屾秷璐圭杩涜鍙嶅簭鍒楀寲瀵硅寮傚父瀵硅薄骞惰繘琛屾崟鑾枫€傛垜浠粡杩囦竴娈垫椂闂寸殑鏁寸悊锛岀洰鍓嶅凡缁忔敮鎸佸湪 Go 娑堣垂绔畾涔夊搴� Java 鐨勮秴杩� 40 绉� exception 绫伙紝鏉ュ疄鐜板 Java 寮傚父鐨勬崟鑾凤紝鍗充娇鐢� dubbo-go 涔熷彲浠ュ仛鍒扮洿鎺ユ崟鑾� Java 鏈嶅姟绔姏鍑虹殑寮傚父銆�
-
-鍙﹀瀵逛簬 Java 绔� BigDecimal 楂樼簿搴﹁绠楃被鐨勬敮鎸併€傛秹鍙婂埌涓€浜涢噾铻嶇浉鍏崇殑璁$畻浼氭湁绫讳技鐨勯渶姹傦紝鎵€浠ヤ篃瀵硅繖涓被杩涜浜嗘敮鎸併€�
-
-鍏朵粬鐨勶紝杩樻湁鏄犲皠 java 绔殑鏂规硶鍒悕锛屼富瑕佺殑鍘熷洜鏄� Go 杩欒竟璇█鐨勮绾︼紝闇€瑕佽搴忓垪鍖栫殑鏂规硶鍚嶅繀椤绘槸棣栧瓧姣嶅ぇ鍐欍€傝€� Java 杩欒竟娌℃湁杩欑瑙勮寖锛屾墍浠ユ垜浠姞浜嗕竴涓� hessian 鏍囩鐨勬敮鎸侊紝鍙互鍏佽鐢ㄦ埛鎵嬪姩鏄犲皠 Java 绔殑鏂规硶鍚嶇О銆�
-
-鍩烘湰涓婄幇鍦ㄧ殑 dubbo-go 宸茬粡婊¤冻缁濆ぇ澶氭暟涓� Java 鐨勭被鍨嬩簰閫氶渶姹傦紝鎴戜滑杩戞湡涔熷湪瀹炵幇瀵� Java 娉涘瀷鐨勬敮鎸併€�
-
-**dubbo-go/getty**
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-g.png)
-
-Go 璇█澶╃敓灏辨槸涓€涓紓姝ョ綉缁� I/O 妯″瀷锛屽湪 linux 涓� Go 璇█鍐欑殑缃戠粶鏈嶅姟鍣ㄤ篃鏄噰鐢ㄧ殑 epoll 浣滀负鏈€搴曞眰鐨勬暟鎹敹鍙戦┍鍔�, 杩欒窡 java 鍦� linux 鐨� nio 瀹炵幇鏄竴鏍风殑銆傛墍浠� Go 璇█鐨勭綉缁滃鐞嗗ぉ鐢熷氨鏄紓姝ョ殑銆傛垜浠渶瑕佸皝瑁呯殑鍏跺疄鏄熀浜� Go 鐨勫紓姝ョ綉缁滆鍐欎互鍙婁箣鍚庣殑澶勭悊涓棿灞傘€俫etty 灏嗙綉缁滄暟鎹鐞嗗垎涓轰笁灞傦紝鍏ュ悜鏂瑰悜鍒嗗埆缁忚繃瀵圭綉缁� i/o 灏佽鐨� streaming 灞傘€佹牴鎹笉鍚屽崗璁鏁版嵁杩涜搴忓垪鍖栧弽搴忓垪鍖栫殑 codec 灞傦紝浠ュ強鏈€鍚庢暟鎹笂鍗囧埌闇€瑕佷笂灞傛秷璐圭殑 handler 灞傘€傚嚭鍚戞柟鍚戝熀鏈笌鍏ュ悜缁忚繃鐨勭浉鍙嶃€傛瘡涓摼鎺ョ殑 IO 鍗忕▼鏄垚瀵瑰嚭鐜扮殑锛屾瘮濡傝鍗忕▼璐熻矗璇诲彇銆� codec 閫昏緫鐒跺悗鏁版嵁鍒� listener 灞傦紝鐒跺悗鏈€鍚庣殑浜嬩欢鐢变笟鍔″崗绋嬫睜鏉ュ鐞嗐€�
-
-璇ラ」鐩洰鍓嶆槸涓� dubbo-go 瑙h€﹀嚭鏉ョ殑锛屾墍浠ュぇ瀹跺鏋滄湁绫讳技闇€姹傚彲浠ョ洿鎺ユ嬁鏉ョ敤锛岀洰鍓嶅凡缁忔湁瀵逛簬 tcp/udp/websocket 鐨勬敮鎸併€�
-
-**Apache / dubbo-go**
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-h.png)
-
-dubbo-go 涓婚」鐩紝鎴戜滑閲嶆瀯鐨勮繖涓€鐗堜富瑕佹槸鍩轰簬 Dubbo 鐨勫垎灞備唬鐮佽璁★紝涓婂浘鏄� dubbo-go 鐨勪唬鐮佸垎灞傘€傚熀鏈笂涓� Java 鐗堟湰 Dubbo 鐜版湁鐨勫垎灞備竴鑷达紝鎵€浠� dubbo锛峠o 涔熺户鎵夸簡 Dubbo 鐨勪竴浜涗紭鑹壒鎬э紝姣斿鏁存磥鐨勪唬鐮佹灦鏋勩€佹槗浜庢墿灞曘€佸畬鍠勭殑鏈嶅姟娌荤悊鍔熻兘銆�
-
-鎴戜滑鎼虹▼杩欒竟锛屼娇鐢ㄧ殑鏄嚜宸辩殑娉ㄥ唽涓績锛屽彲浠ュ湪 dubbo-go 鎵╁睍鏈哄埗鐨勫熀纭€涓婄伒娲绘墿灞曡€屾棤闇€鍘绘敼鍔� dubbo-go 鐨勬簮浠g爜銆�
-
-## dubbo-go 鐨勫姛鑳戒粙缁�
-
-**dubbo-go 宸插疄鐜板姛鑳�**
-
-鐩墠 dubbo-go 宸茬粡瀹炵幇浜� Dubbo 鐨勫父鐢ㄥ姛鑳斤紙濡傝礋璐e潎琛°€侀泦缇ょ瓥鐣ャ€佹湇鍔″鐗堟湰澶氬疄鐜般€佹湇鍔″娉ㄥ唽涓績澶氬崗璁彂甯冦€佹硾鍖栬皟鐢ㄣ€佹湇鍔¢檷绾х啍鏂瓑锛夛紝鍏朵腑鏈嶅姟娉ㄥ唽鍙戠幇宸茬粡鏀寔 zookeeper/etcd/consul/nacos 涓绘祦娉ㄥ唽涓績銆傝繖閲屼笉灞曞紑璇︾粏浠嬬粛锛岀洰鍓� dubbo-go 鏀寔鐨勫姛鑳藉彲浠ユ煡鐪嬮」鐩� readme 涓殑 feature list 锛岃鎯呭弬鑰冿細 [https://github.com/apache/dubbo-go#feature-list](https://github.com/apache/dubbo-go#feature-list)
-
-鐩墠绀惧尯姝e湪寮€鍙戜腑鐨勫姛鑳斤紝涓昏鏄棭鏈熺敤鎴蜂娇鐢ㄨ繃绋嬩腑鎻愬嚭鐨勪竴浜涢渶姹傦紝涔熸槸鐢熶骇钀藉湴涓€浜涘繀闇€鐨勯渶姹傦紝濡傜洃鎺с€佽皟鐢ㄩ摼璺熻釜浠ュ強鏈嶅姟璺敱銆佸姩鎬侀厤缃腑蹇冪瓑鏇撮珮绾х殑鏈嶅姟娌荤悊闇€姹傘€�
-
-**dubbo-go 鍔熻兘浠嬬粛涔嬫硾鍖栬皟鐢�**
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-i.png)
-
-杩欓噷璇︾粏鍋氬嚑涓噸鐐瑰姛鑳界殑浠嬬粛銆傞鍏堟槸娉涘寲璋冪敤锛屽涓婂浘锛岃繖涓篃鏄ぞ鍖哄悓瀛︽彁鐨勯渶姹傘€傝鍚屽鍏徃鍐呴儴鏈夊緢澶� Dubbo 鏈嶅姟锛屼粬浠敤 Go 鍋氫簡涓€涓� api gateway 缃戝叧锛屾兂瑕佹妸 Dubbo 鏈嶅姟鏆撮湶鎴愬缃� http 鎺ュ彛銆傚洜涓哄唴閮ㄧ殑 Dubbo 鏈嶅姟姣旇緝澶氾紝涓嶅彲鑳芥瘡涓€涓� Dubbo 鏈嶅姟閮藉幓鍋氫竴涓秷璐圭鎺ュ彛鍘诲仛閫傞厤锛岃繖鏍风殑璇濅竴鏃︽湇鍔$鏀瑰姩锛屽鎴风涔熻鏀广€傛墍浠ヤ粬杩欒竟鐨勬€濊矾鏄仛鍩轰簬 dubbo-go 鍋氭硾鍖栬皟鐢紝 api-gateway 瑙f瀽鍑哄缃戣姹傜殑鍦板潃锛岃В鏋愬嚭鎯宠璋冪敤鐨� Dubbo 鏈嶅姟鐨勭洰鏍囥€傚熀浜� dubbo-go consumer 娉涘寲璋冪敤鎸囧畾 service銆乵ethod 锛屼互鍙婅皟鐢ㄥ弬鏁般€�
-
-鍏蜂綋鐨勫師鐞嗘槸锛� dubbo-go 杩欒竟浣滀负娑堣垂绔紝瀹為檯浼氶€氳繃鏈湴 genericService.invoke 鏂规硶鍋氫唬鐞嗭紝鍙傛暟閲岄潰鍖呭惈浜� service name锛宮ethod name 锛岃繕鍖呭惈琚皟鐢ㄧ洰鏍� service 闇€瑕佺殑鍙傛暟绫诲瀷銆佸€肩瓑鏁版嵁锛岃繖浜涙暟鎹悗闈細閫氳繃 dubbo-go-hession2 鍋氳浆鎹紝浼氬皢鍐呭杞寲鎴� map 绫诲瀷锛岀粡杩囩綉缁滃彂閫佸埌瀵瑰簲鐨� Java 鏈嶅姟绔紝鐒跺悗 Java 閭h竟鏄帴鏀剁殑 map 绫诲瀷鐨勫弬鏁帮紝浼氳嚜鍔ㄥ弽搴忓垪鍖栨垚鑷繁鐨� pojo 绫诲瀷銆傝繖鏍峰氨瀹炵幇浜� dubbo-go 浣滀负瀹㈡埛绔紝娉涘寲璋冪敤 Dubbo 鏈嶅姟绔殑鐩殑銆�
-
-**dubbo-go 鍔熻兘浠嬬粛涔嬮檷绾х啍鏂�**
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-j.png)
-
-闄嶇骇鐔旀柇杩欒竟鏄熀浜庣殑鏄ぇ瀹舵瘮杈冪啛鎮夌殑 hystrix 鐨� Go 璇█鐗堟湰锛屽熀浜� hystrix 锛岀敤鎴峰彲浠ュ畾涔夌啍鏂鍒欏拰闄嶇骇瑙﹀彂鐨勪唬鐮佹銆傞檷绾х啍鏂敮鎸佹槸浣滀负涓€涓嫭绔嬬殑 dubbo-go filter 锛屽彲浠ョ伒娲婚€夋嫨鏄惁鍚敤锛屽鏋滀笉鍚敤灏卞彲浠ュ湪鎵撳寘鐨勬椂鍊欎笉灏嗕緷璧栧紩鍏ャ€侳ilter 灞傛槸 dubbo-go 涓浜庤姹傞摼璺殑涓€涓矗浠婚摼妯″紡鎶借薄锛岀洰鍓嶆湁璁稿鍔熻兘閮芥槸鍩轰簬鍔ㄦ€佹墿灞� filter 閾炬潵瀹炵幇鐨勶紝鍖呮嫭 trace銆乴eastactive load balacne銆乴og 绛夈€傞檷绾х啍鏂璁℃垚涓€涓湇鍔¤皟鐢ㄧ鐙珛鐨� filter 鍙互鐏垫椿婊¤冻璋冪敤绔瑙掑浜庡井鏈嶅姟鏋舵瀯涓€滈槻闆穿鈥滅殑鏈嶅姟娌荤悊闇€姹傘€�
-
-**dubbo-go 鍔熻兘浠嬬粛涔嬪姩鎬侀厤缃�**
-
-鍏充簬鍔ㄦ€侀厤缃腑蹇冿紝 Dubbo 鐨� 2.6 鍒� 2.7 鐗堟湰鍋氫簡涓€涓瘮杈冨ぇ鐨勫彉鍖栵紝浠庝箣鍓嶇殑 url 閰嶇疆褰㈠紡杩囨浮鍒颁簡鏀寔閰嶇疆涓績 yaml 鏍煎紡閰嶇疆鐨勫舰寮忥紝娌荤悊绮掑害涔熶粠鍗曟湇鍔$骇鍒殑閰嶇疆鏀寔鍒颁簡搴旂敤绾у埆鐨勯厤缃紝涓嶈繃鍦� 2.7 鐗堟湰涓繕鏄吋瀹� 2.6 鐗堟湰 url 褰㈠紡杩涜鏈嶅姟閰嶇疆鐨勩€俤ubbo-go 杩欒竟鑰冭檻鍒拌窡 Dubbo2.6 鍜� 2.7 鐨勪簰閫氭€э紝鍚屾牱鏀寔 url 鍜岄厤缃枃浠舵柟寮忕殑鏈嶅姟閰嶇疆锛屽悓鏃跺吋瀹瑰簲鐢ㄧ骇鍒拰鏈嶅姟绾у埆鐨勯厤缃紝璺� dubbo 淇濇寔涓€鑷达紝鐩墠宸茬粡瀹炵幇浜� zookeeper 鍜� apollo 浣滀负閰嶇疆涓績鐨勬敮鎸併€�
-
-## dubbo-go roadmap 2019-2020
-
-![dubbo-go 鐨勫紑鍙戙€佽璁′笌鍔熻兘浠嬬粛](../../pic/arch/dubbo-go-design-implement-and-featrues-k.png)
-
-鏈€鍚庢槸澶у姣旇緝鍏虫敞鐨勶紝绀惧尯鍏充簬 dubbo-go 2019 骞翠笅鍗婂勾鐨勮鍒掞紝鐩墠鏉ョ湅涓昏杩樻槸鐜版湁鍔熻兘鐨勮ˉ榻愬拰涓€浜涢棶棰樼殑淇锛屾垜浠殑鐩爣灏辨槸棣栧厛鍋氬埌 Java 鍜� Go 鍦ㄨ繍琛屾椂鐨勫吋瀹逛簰閫氬拰鍔熻兘鐨勪竴鑷达紝鍏舵鏄煡婕忚ˉ缂� dubbo-go 浣滀负涓€涓畬鏁� Go 璇█寰湇鍔℃鏋跺湪鍔熻兘涓婄殑鍙互鏀硅繘涔嬪銆�
-
-鍙﹀鍊煎緱鍏虫敞鐨勪竴鐐规槸锛岄璁′粖骞村勾搴曪紝 dubbo-go 浼氬彂甯冧竴涓敮鎸� kubernetes 浣滀负娉ㄥ唽涓績鐨勬墿灞曪紝绉瀬鎷ユ姳浜戝師鐢熺敓鎬併€傚叧浜庝簯鍘熺敓鐨勬敮鎸侊紝绀惧尯鍓嶆湡鍋氫簡绉瀬鐨勫伐浣滐紝鍖呮嫭璁ㄨ鍏充簬 dubbo-go 涓� Service Mesh 鐨勫叧绯讳互鍙婂湪鍏朵腑鐨勫畾浣嶏紝鍙互鑲畾鐨勬槸锛� dubbo-go 灏嗕細閰嶅悎 Dubbo 绀惧尯鍦� Service Mesh 鏂瑰悜鐨勮鍒掑苟鎵紨閲嶈瑙掕壊锛屾垜浠垵姝ラ璁′細鍦ㄦ槑骞寸粰鍑轰笌 Service Mesh 寮€婧愮ぞ鍖洪」鐩泦鎴愮殑鏂规锛岃澶у鏈熷緟銆�
-
-dubbo-go 绀惧尯鐩墠灞炰簬蹇€熷仴搴锋垚闀跨姸鎬侊紝浠庢崘璧犵粰 Apache 鍚庣殑涓嶅埌 3 涓湀鐨勬椂闂撮噷锛屽惛寮曚簡澶ф壒閲忕殑娲昏穬寮€鍙戣€呭拰鎰熷叴瓒g殑鐢ㄦ埛锛屾杩庡悇浣嶅悓閬撳湪浣跨敤鎴栬€呭涔犱腑閬囧埌闂鑳藉鏉ョぞ鍖鸿璁烘垨鑰呯粰浜堟寚姝o紝涔熸杩庡 dubbo-go 鏈夋綔鍦ㄩ渶姹傛垨鑰呭 dubbo-go 鎰熷叴瓒g殑鍚岄亾鑳藉姞鍏ュ埌绀惧尯涓€�
-
-**浣滆€呬粙缁�**锛�
-
-浣曢懌閾紝鐩墠灏辫亴浜庢惡绋嬶紝鍩虹涓彴鐮斿彂閮ㄦ妧鏈笓瀹讹紝dubbo-go 鍏卞悓鍙戣捣浜恒€佷富瑕佷綔鑰咃紝Apache Dubbo committer锛屽叧娉ㄤ簰鑱旂綉涓彴浠ュ強涓棿浠堕鍩熴€�
\ No newline at end of file
diff --git a/doc/md/arch/dubbo-go-one-year.md b/doc/md/arch/dubbo-go-one-year.md
deleted file mode 100644
index 0eb1008ee7ff7dc8f57693b5eb9cf786039dc06f..0000000000000000000000000000000000000000
--- a/doc/md/arch/dubbo-go-one-year.md
+++ /dev/null
@@ -1,216 +0,0 @@
-# [Go 鐗堟湰鍏� Dubbo 鐢熸€佷竴鍛ㄥ勾锛氬凡鍜� Spring Cloud銆乬RPC 浜掗€歖(https://www.oschina.net/question/4489239_2316774)
-
-鍘诲勾 5 鏈堬紝闃块噷寮€婧愮殑楂樻€ц兘 RPC 妗嗘灦 Dubbo 浠� ASF 姣曚笟骞舵檵鍗囬《绾ч」鐩紝鍚屾椂锛岃繕瀹e竷 Go 璇█鐗堟湰鐨� Dubbo-go 姝e紡鍔犲叆 Dubbo 瀹樻柟鐢熸€併€�
-
-缁忚繃涓€骞寸殑鍙戝睍锛� Dubbo-go 鍦ㄦ妧鏈拰绀惧尯杩愯惀鏂归潰閮藉凡缁忔湁浜嗕笉閿欑殑鎴愮哗銆侱ubbo-go 鏄� Dubbo 鐨勫畬鏁� Go 璇█瀹炵幇锛屽湪鍔熻兘瀹炵幇鍜屾妧鏈矾寰勪笂涓� Dubbo 鏈変笉鍚岀▼搴︾殑瀵规爣锛岄」鐩洟闃熼璁″緢蹇究鍙互杩藉钩 Java 鐗堢殑鍔熻兘銆傚綋鐒讹紝涔熸槸鍥犱负鍩轰簬 Go 璇█寮€鍙戯紝Dubbo-go 鏇存槗涓婃墜锛屾湭鏉ユ垨灏嗗弽鍝� Dubbo 鐨勪簯鍘熺敓鍖栥€�
-
-Dubbo-go 杩戞湡杩樺疄鐜颁簡 REST 鍗忚浠ュ強 gRPC 鐨勬敮鎸侊紝鎵撻€氫簡 Spring Cloud 鍜� gRPC 鐢熸€侊紝鍐嶅姞涓婁笌 Java Dubbo 鐨勪簰閫氾紝搴旂敤鍦烘櫙骞挎硾銆傚洜姝わ紝瀹冭鍏跺紑鍙戣€呭彨鍋氣€渁ll-in-one鈥濈殑 RPC 妗嗘灦銆�
-
-鐩墠 Dubbo 瀹樻柟宸茬粡鎶曞叆浜哄姏鍙備笌 Dubbo-go 鐨勫紑鍙戯紝闃块噷闆嗗洟浠婂勾瀹屾垚 HSF 鍜� Dubbo 鐨勮瀺鍚堝悗锛屼細鍦ㄩ泦鍥㈠唴閫愭鎺ㄥ箍浣跨敤 Dubbo-go銆�
-
-寮€婧愪腑鍥介噰璁夸簡褰撳墠姝e湪寮€鍙戜腑鐨� v1.5 鐗堟湰鐨勪富瑕佹帹杩涜€呴倱鏄庯紝鍥為【 Dubbo-go 鐨勮繃寰€锛屽挨鍏舵槸鏈€杩戜竴骞寸殑鍙戝睍鎯呭喌锛屽苟灞曟湜椤圭洰鏈潵鐨勫彂灞曘€�
-
-## Dubbo-go 杩囧幓鍙戝睍鍥為【
-
-**OSCHINA锛�**
-浣滀负椤圭洰涓昏鎺ㄥ姩鑰呬箣涓€锛屽彲浠ョ畝鍗曞洖椤句笅 Dubbo-go 鐨勫彂灞曞巻绋嬪悧锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-棣栧厛锛屼釜浜轰唬琛ㄧぞ鍖猴紝鍊熷姪璐垫柟骞冲彴锛屾劅璋� Dubbo-go 鐨勪娇鐢ㄨ€呫€佹浘缁忓悎浣滆繃鐨勫悇涓獟浣撳钩鍙颁互鍙� Dubbo 瀹樻柟杩囧幓涓€骞存潵瀵规垜浠」鐩殑鍏虫敞锛孌ubbo-go 鐩墠鐨勫彂灞曠涓嶅紑鍚勬柟鍔涢噺鐨勫府鍔┿€�
-
-瀹為檯涓婏紝鍦� Dubbo-go 鍔犲叆 Dubbo 瀹樻柟鐢熸€佷箣鍓嶏紝宸茬粡鍙戝睍浜嗕袱骞淬€傚畠鏈€鏃╃敱鍏跺垱濮嬩汉浜庨洦鍦� 2016 骞� 5 鏈堟瀯寤猴紝鍚屽勾 9 鏈堝彂甯冨苟寮€婧愮殑銆傚涓嬫椂闂磋酱鍥炬竻鏅拌褰曚簡 Dubbo-go 鐨勫墠涓栦粖鐢熴€�
-
-![dubbo-go 鐨勬椂闂磋酱](../../pic/arch/dubbo-go-one-year-1.png)
-
-**OSCHINA锛�**
-鍦ㄥ幓骞撮」鐩垰鍔犲叆 Dubbo 瀹樻柟鐢熸€佺殑鏃跺€欙紝鏈夊紑鍙戝洟闃熸垚鍛樿锛孌ubbo-go 褰撴椂杩樻病鑳藉彂鎸ュ嚭 Go 璇█鐨勪紭鍔匡紝鍔熻兘瀹屾暣鎬ц繕瑕佸畬鍠勩€備綔涓轰竴涓负瑙e喅 Go 椤圭洰涓� Java & Dubbo 椤圭洰浜掗€氱殑椤圭洰锛岀粡杩囦竴骞寸殑鍙戝睍锛岄」鐩幇鍦ㄨ兘鍙戞尌鍑� Go 璇█鐨勪紭鍔夸簡鍚楋紝涓轰粈涔堬紵
-
-**Dubbo-go 閭撴槑锛�**
-
-鍜屽幓骞存瘮璧锋潵锛屽湪鍙戞尌 Go 璇█鑷韩浼樺娍涓婏紝鏈変簡寰堝ぇ鐨勬彁楂樸€�
-
-Go 璇█鍗忕▼鐨勪釜鏁颁笂闄愭瘮 Java 绾跨▼鏁扮洰澶氥€侴o 璇█鐨勫崗绋嬪彧杩愯鍦ㄧ敤鎴锋€侊紝鍒濆鍫嗘爤灏忎笖鍙几缂╋紝鑰� Java 绾跨▼鍚姩鍥犵敤鎴锋€佺郴缁熸€佷箣闂村垏鎹㈠甫鏉ョ殑棰濆鎴愭湰琚嚎绋嬫睜鎶瑰钩锛屾墍浠ュ彧鏈夊湪杈冨ぇ骞跺彂闇€姹傜殑鍦烘櫙涓嬶紙鏍告暟闄愬埗鐨勬儏鍐典笅锛孞ava 绾跨▼姹犱腑鏈€澶х嚎绋嬫暟琚檺鍒讹級锛屾墠浼氬彂鎸ヤ紭鍔裤€侱ubbo 涓被浼肩殑鍦烘櫙锛氬紓姝ュ鐞嗙綉缁滃拰鍗忚鍖栫殑澶勭悊銆傛垜浠湪缃戠粶搴� Getty 涓姞鍏ヤ簡鍗忕▼姹狅紝瀹炵幇浜嗙綉缁滄敹鍙戝拰閫昏緫澶勭悊鐨勮В鑰︺€�
-
-鍙﹀锛孏o 璇█涓婃墜閫熷害纭疄姣� Java 蹇ソ鍑犱釜鏁伴噺绾э紝鍙鎼ソ鍏锋湁鑹ソ鎵╁睍鎬х殑鏋跺瓙锛岀ぞ鍖� contributor 鍩瑰吇鐨勬垚鏈瘮 Java 浣庡緢澶氥€傚緱鐩婁簬姝わ紝Dubbo-go 鐨勫姛鑳藉拰鎬ц兘灏嗗緢蹇拷骞� Java銆�
-
-\***\*OSCHINA锛�**
-\*\*鍏充簬 Dubbo-go 鍦� Java 鍜� Go 杩愯鏃剁殑鍏煎浜掗€氬拰鍔熻兘涓€鑷寸洰鏍囷紝鐩墠杩涘睍濡備綍锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-鐩墠锛孌ubbo-go 宸茬粡瀹屽叏瀵归綈 Dubbo v2.6.x锛屾鍦ㄥ叏鍔涘紑鍙� v1.5.0 鐗堟湰鍙互鍏ㄩ潰瀵归綈 v2.7.x銆�
-
-Dubbo v2.7.5 涔嬪悗寮€濮嬫敮鎸佸簲鐢ㄧ淮搴︾殑鏈嶅姟娉ㄥ唽锛岃繖涔熸槸 v1.5.0 璁″垝鏀寔鐨勬牳蹇冪壒鎬с€�
-
-鍙互鍓ч€忎竴涓嬶紝鐩墠 v1.5.0 鐗堟湰鐨� Dubbo-go 寮€鍙戝伐浣滃凡缁忚繘鍏ヤ簡灏惧0锛屾澶勪簬娴嬭瘯闃舵銆傜瓑 v1.5.0 鍙戝竷涔嬪悗锛屾垜浠細闄嗙画鍙戝竷鍑犱釜灏忕増鏈紝鐢ㄤ簬瀵归綈 Dubbo v2.7.5 涔嬪悗鐨勭増鏈€傚彲浠ヨ锛寁1.5.x 涓昏鏄负浜嗛厤鍚� dubbo 鐨勪簯鍘熺敓鍖栥€�
-
-\***\*OSCHINA锛�**
-\*\*Dubbo-go 杩戞湡瀹炵幇浜� REST 鍗忚鏀寔锛屽彲浠ュ拰 Spring Cloud 鐢熸€佷簰鑱旓紱骞村垵瀹炵幇浜嗗拰 gRPC 鐨勪簰鑱旓紝杩欏 Dubbo-go 鏈変粈涔堟剰涔夛紵
-
-**Dubbo-go 閭撴槑锛�**
-
-Dubbo-go 鍦ㄦ敮鎸佷簡 REST 鍗忚涔嬪悗锛屽凡缁忓彲浠ュ仛鍒拌窡缁濆ぇ閮ㄥ垎鍩轰簬 HTTP 鍗忚鐨勫井鏈嶅姟妗嗘灦杩涜閫氫俊銆�
-
-![REST 鎬讳綋璁捐](../../pic/arch/dubbo-go-one-year-2.png)
-[REST 鎬讳綋璁捐]
-
-鍙﹀涓€涓獊鍑轰紭鐐规槸锛屾敮鎸佷簡 gRPC 鍜� REST 涔嬪悗锛孌ubbo-go 灏卞彲浠ヨ€冭檻鍜屼竴浜涘叕鍙稿唴閮ㄨ嚜鐮旂殑妗嗘灦杩涜閫氫俊浜嗐€傞€氬父涓€浜涙瘮杈冨ぇ鐨勫叕鍙镐細鑷爺妗嗘灦锛屾垨鑰呮繁搴﹀畾鍒舵煇浜涘紑婧愭鏋躲€傝€屽彧瑕佸畠浠敮鎸� gRPC 鎴栬€� HTTP 鍗忚锛孌ubbo-go 灏卞彲浠ヤ繚璇佷笌杩欎簺妗嗘灦鐨勬棤缂濊鎺ャ€�
-
-杩樻湁涓€涓紭鍔匡紝REST 鍗忚瀵瑰墠绔洿鍙嬪ソ锛屽彲浠ョ洿鎺ユ妸 Dubbo-go 寮€鍙戠殑鏈嶅姟缁欏墠绔敤锛岃€屼笉鐢ㄥ姞涓€灞傚崗璁浆鎹紝涔熼伩鍏嶄簡鍓嶇鐩存帴鍙戣捣 RPC 璇锋眰銆傚洜姝わ紝Dubbo-go 涔熷氨鍙互鎴愪负瀹冧滑鍦� Go 寰湇鍔℃鏋剁殑涓€涓瘮杈冧紭绉€鐨勯€夋嫨銆�
-
-**OSCHINA锛�**
-1.4 鐗堟湰涓紝Dubbo-go 鍦ㄥ彲瑙傛祴鎬ф柟闈㈤噰鐢ㄤ簡 tracing 鍜� metric锛宮etric 鐨勫疄鐜板弬鑰冧簡 Dubbo 鐨勫仛娉曪紝涔熷仛浜嗕竴浜涜皟鏁达紝鍏蜂綋鏄€庝箞鏍凤紵
-
-**Dubbo-go 閭撴槑锛�**
-
-鍙娴嬫€ф槸琛¢噺涓€涓井鏈嶅姟妗嗘灦鐨勯噸瑕佹柟闈€€備竴鑸彲瑙傛祴鎬у垎鎴� tracing銆乵etric 鍜� log 涓変釜閮ㄥ垎銆�
-
-![鍙娴嬫€(../../pic/arch/dubbo-go-one-year-3.png)
-
-鍦� v1.4 Dubbo-go 涔嬪墠锛宼racing 鍜� metric 鏄� Dubbo-go 鐨勮杽寮辩幆鑺傘€備负浜嗘敮鎸佽繖涓や釜锛屾垜浠€冨療浜嗘瘮杈冨鐨勫紑婧愭鏋剁殑鍋氭硶銆傛垜浠彂鐜帮紝鍥犱负瑕佽€冭檻瀵规帴闈炲父澶氳濡� zipkin/cat 绛夌洃鎺ф鏋讹紝鎵€浠ュ畠浠線寰€浼氳璁′竴鏁村鐩戞帶鍜屽害閲忕殑 API銆�
-
-Dubbo 涔熸槸濡傛銆侱ubbo 鐨� metric 姣旇緝渚濊禆闃块噷鍐呴儴涓€涓紑婧愮殑 metric 鐨勯」鐩€傝繖涓」鐩篃涓嶆槸鍙兘缁� Dubbo 搴旂敤锛岃€屾槸 Java 椤圭洰閮藉彲浠ヨ€冭檻銆傛湰璐ㄤ笂鏉ヨ锛屽畠瀹氫箟浜嗕竴濂� API锛岃€屽悗鎻愪緵浜嗗涓嶅悓寮€婧愭鏋剁殑閫傞厤瀹炵幇銆傛妸鎻′綇杩欎竴鏍稿績涔嬪悗锛屾垜浠氨瑕佽€冭檻涓€涓棶棰橈細瑕佷笉瑕佽嚜宸辫璁′竴濂� API锛熸垜浠殑绛旀鏄� NO锛屽苟涓旈€夋嫨浜� opentracing API 浣滀负鎴戜滑鐩戞帶浣跨敤鐨� API銆�
-
-棣栧厛锛屾垜浠洖椤鹃偅浜涜嚜宸辫璁′簡 API 鐨勫紑婧愰」鐩紝瀹冧滑鐨� API 鍜� opentracing API 杩樻瘮杈冪浉鍍忋€傛垜瑙夊緱鎴戣璁′笉鍑烘潵涓€涓槑鏄炬瘮 opentracing API 鏇村姞浼橀泤鐨� API 浜嗐€�
-
-鍙﹀浠庡疄鐜版晥鐜囦笂鏉ヨ锛屽鏋滄垜浠娇鐢� opentracing API 浣滀负 Dubbo-go 鎺ュ叆 metric 鍜� tracing 鐨� API锛岄偅涔堬紝浠讳綍鏀寔 opentracing API 鐨勬鏋讹紝閮藉彲浠ュ仛鍒板紑绠卞嵆鐢ㄣ€�
-
-鐩墠鎴戜滑姝e湪鍚戠ぞ鍖虹敤鎴峰緛闆嗙洃鎺ф剰瑙侊紝鐪嬬ぞ鍖哄笇鏈涙垜浠湪妗嗘灦鍐呬粈涔堝湴鏂硅繘涓€姝ュ煁鐐广€傛垜浠篃寰楀埌浜嗗緢澶氬弽棣堬紝涓嬩竴姝ュ氨瑕佽€冭檻杩涗竴姝ヤ紭鍖栭噰闆嗙殑鏁版嵁銆�
-
-**OSCHINA锛�**
-Dubbo-go 鐨勫紑鍙戝洟闃熶箣鍓嶄粙缁嶏紝Dubbo-go 棣栬鐩殑灏辨槸瑙e喅 Go 椤圭洰涓� Java & Dubbo 椤圭洰鐨勪簰閫氶棶棰橈紝鍚屾椂涔熶负 Go 椤圭洰鎻愪緵浜嗕竴绉� RPC 涓庡井鏈嶅姟寮€鍙戞鏋剁殑閫夋嫨銆備絾浠庝箣鍓嶇殑鐢ㄦ埛浣跨敤鍒楄〃鏉ョ湅锛岀洿鎺ユ妸瀹冧綔涓� Go 鐨勪竴涓� RPC 妗嗘灦鏉ヤ娇鐢ㄧ殑濂藉儚骞朵笉鏄壒鍒锛岀幇鍦ㄦ儏鍐垫槸杩欐牱鍚楋紵
-
-**Dubbo-go 閭撴槑锛�**
-
-杩欎釜鎯呭喌宸茬粡鏈変簡寰堝ぇ鐨勬敼鍠勪簡銆傛渶寮€濮嬬殑鏃跺€欙紝鎴戜滑鐨勭敤鎴峰ぇ閮ㄥ垎閮芥槸 Java Dubbo 閭i噷杩囨潵鐨勩€備絾鏄埌浠婂勾锛屾嵁鎴戜滑浜嗚В锛屽凡缁忔湁涓€浜涚敤鎴峰凡缁忔槸鐩存帴鎶� Dubbo-go 浣滀负 RPC 妗嗘灦銆傚湪缁忚繃涓€骞寸殑鍙戝睍浠ュ悗锛屽嵆渚夸笉鑰冭檻鍜� Dubbo 淇濇寔鍏煎杩欎竴鐗圭偣锛孌ubbo-go 涔熷彲浠ヨ涓€涓瘮杈冧紭绉€鐨� Go 璇█ RPC 妗嗘灦銆�
-
-灏ゅ叾鏄湪寮傛瀯绯荤粺閫氫俊鍜屾湇鍔℃不鐞嗘柟闈紝鎴戜滑鎻愪緵浜嗛潪甯稿鏍峰寲鐨勬敮鎸併€傝繖鏄緢澶氬埆鐨� RPC 妗嗘灦鎵€涓嶅叿澶囷紝鎴栬€呬笉濡傛垜浠殑銆�
-
-**OSCHINA锛�**
-鎬荤粨涓€涓嬭繖涓€骞撮噷锛孌ubbo-go 鎶€鏈柟闈㈠€煎緱浜嗚В鐨勮繘灞曞惂锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-Dubbo-go 杩欎竴骞寸殑杩涙寰堝ぇ锛屽疄鐜颁簡闈炲父澶氶潪甯搁噸瑕佺殑鐗规€с€�
-
-棣栧厛瑕佹彁鍙婄殑灏辨槸鏀寔浜嗗緢澶氬崗璁紝姣斿璇村熀浜� protobuf 鐨� gRPC 鍜� REST銆傝繖浜涘崗璁繚璇佷簡鎴戜滑鑳藉涓庡競闈笂澶у鏁扮殑 RPC 妗嗘灦杩涜閫氫俊锛岃€屼笖鎴戜滑鍦� 1.5.0 閲岄潰锛岃繕鎵╁睍鏀寔鏀寔鍩轰簬 Json 鐨� gPRC 鍜� 鍩轰簬 protobuf 鐨� TCP 閫氫俊銆�
-
-绗簩鍒欐槸鏀寔浜嗛厤缃腑蹇冦€傝繖涓姛鑳藉彲浠ユ彁渚涚粰鐢ㄦ埛鏋佸ぇ鐨勯厤缃笂鐨勭伒娲绘€с€�
-
-绗笁鍒欐槸鍙娴嬫€т笂鏀硅繘锛屼篃灏辨槸鍓嶉潰鎻愬埌鐨� metric 鍜� tracing銆�
-
-绗洓鍒欐槸鐜板湪姝e湪杩涜鐨勫簲鐢ㄦ敞鍐屾ā鍨嬶紝瀹冭兘璁╂垜浠洿濂藉湴鎷ユ姳 k8s 鍜� servise mesh銆備负浜嗘敮鎸佸簲鐢ㄦ敞鍐屾ā鍨嬶紝鎴戜滑杩樺疄鐜颁簡涓€涓厓鏁版嵁涓績锛岃繖涓厓鏁版嵁涓績闈炲父鏈夊埄浜庡仛缃戝叧銆傛澶栬繕瀹炵幇浜嗗緢澶氬姛鑳斤紝濡傛柊鐨勯檺娴佺畻娉曪紝璐熻浇鍧囪 绠楁硶鍜岃矾鐢辩瓥鐣ョ瓑銆傚叿浣撳唴瀹癸紝娆㈣繋澶у鍘荤湅鎴戜滑鐨� release log銆�
-
-![Dubbo-go 鎬讳綋鏋舵瀯鍥綸(../../pic/arch/dubbo-go-one-year-4.png)
-
-[Dubbo-go 鎬讳綋鏋舵瀯鍥綸
-
-Dubbo-go 鐢熸€佸缓璁�
-**OSCHINA锛�**
-涓婁釜鏈堬紝Go 瀹樻柟鍏竷鐨勬渶鏂拌皟鏌ユ姤鍛婃樉绀猴紝Go 璇█鐨勪富瑕佺敤閫斿寘鎷紪鍐� RPC 鏈嶅姟锛屽叾娆″簱鍜屾鏋舵柟闈㈠閲忓法澶с€傗€滅珵浜夊鎵嬧€濆彉澶氫細褰卞搷鍒� Dubbo-go 鍘熸湰鐨勮鍒掑疄鏂藉悧锛孌ubbo-go 鍜屽叾浠栧悓绫婚」鐩瘮鏈変粈涔堜笉鍚岋紵
-
-**Dubbo-go 閭撴槑锛�**
-
-鎴戜滑瀵� Go 绀惧尯鐨勮繘姝ユ劅鍚岃韩鍙椼€傚疄闄呬笂锛孌ubbo-go 杩欎竴骞村緢澶氬姛鑳界殑瀹炵幇锛岄兘绂讳笉寮€鍚堜綔绀惧尯鐨勬敮鎸併€傛瘮濡傝鎴戜滑鎻愪緵鐨勫熀浜� Nacos 鐨勯厤缃腑蹇冩敮鎸侊紝浠ュ強鐜板湪姝e湪娴嬭瘯鍩轰簬 Nacos 鐨勫簲鐢ㄧ淮搴︽湇鍔℃敞鍐屼笌鍙戠幇锛岄兘鍗佸垎渚濊禆 Nacos 鐨� Go 璇█ SDK 鏀寔銆�
-
-鑰屼笖鎴戜滑涔熸敞鎰忓埌锛屽埆鐨� Go 璇█鐨勫井鏈嶅姟妗嗘灦鍦ㄨ繖涓€骞翠篃鍙栧緱浜嗕笉閿欑殑杩涙锛岃繖鏄竴绉嶅緢濂界殑闉瓥銆傚湪 RPC 妗嗘灦涓婏紝涓€鐩撮兘鏄櫨瀹堕綈鏀剧櫨鑺变簤楦e眬闈紝杩娇鎴戜滑鏈濈潃鈥滀汉鏃犳垜鏈夛紝浜烘湁鎴戠簿鈥濈殑鏂瑰悜鍓嶈繘銆傚埌鐩墠鏉ヨ锛屾垜浠劅瑙夋垜浠殑绔炰簤浼樺娍杩樻槸姣旇緝鏄庢樉鐨勶細
-
-绗竴鐐瑰氨鏄繚鎸佷簡鍜� Dubbo 鐨勫吋瀹癸紝閭d箞鍘熸湰鐨� Dubbo 鐢ㄦ埛鍦ㄨ€冭檻 Go 璇█妗嗘灦鐨勬椂鍊欙紝鎴戜滑灏变細鏄閫夛紱
-
-绗簩涓珵浜変紭鍔垮垯鏄敮鎸佸鍗忚銆傝繖鍑犲勾涓€涓緢鏄庢樉鐨勮秼鍔垮氨鏄紝涓€涓叕鍙哥殑鎶€鏈爤闅句互淇濇寔鍗曚竴锛屽洜涓轰笉鍚屾鏋躲€佷笉鍚岃瑷€浼氭湁涓嶅悓浼樼偣銆傛墍浠� Dubbo-go 涔熶細鏄偅浜涜€冭檻杩炴帴寮傛瀯绯荤粺鐢ㄦ埛鐨勯閫夛紱
-
-绗笁鍒欐槸杞疄鍔涳紝涔熷氨鏄垜浠ぞ鍖鸿嚜韬殑浼樼偣銆傛垜浠ぞ鍖洪潪甯告湁娲诲姏锛岀敤鎴锋湁浠€涔堥棶棰橀兘鑳藉寰楀埌寰堝揩鐨勫搷搴旓紱鑰屾垜浠殑杩唬閫熷害锛屼竴鐩存瘮杈冨揩銆傚鏋滅敤鎴疯寰楄嚜宸辫兘澶熷緢蹇幏寰楀府鍔╋紝閭d箞浠栦滑涔熶細鍊惧悜閫夋嫨鎴戜滑銆�
-
-**OSCHINA锛�**
-鎴戜滑浜嗚В鍒帮紝Dubbo-go/getty 鏄� Dubbo-go 涓瘮杈冭兘浣撶幇 Go 璇█浼樺娍鐨勯儴鍒嗭紝鐩墠宸茬粡琚В鑰﹀嚭鏉ワ紝鍙互鐩存帴鐢ㄣ€侱ubbo-go 鐨勫叾浠栫粍鎴愰儴鍒嗕細鑰冭檻鍚屾牱瑙h€﹀悧锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-杩欏彲浠ヨ鏄竴涓潪甯搁暱杩滃拰鐞嗘兂鍖栫殑璁″垝浜嗐€傛垜浠幇鍦ㄦ鍦ㄥ仛鐨勪竴浠朵簨锛屾槸鎶婇」鐩噷闈㈢敤鐨勫叕鍏辨柟娉曘€佸拰妗嗘灦鏃犲叧鐨勪唬鐮佹娊鍙栧嚭鏉ワ紝鍋氭垚涓€涓伐鍏风被搴擄紝涔熷氨鏄� dubbogo-gost 杩欎釜椤圭洰銆�
-
-鎴戜滑娉ㄦ剰鍒帮紝涓嶇鏄湪 Dubbo-go锛岃繕鏄埆鐨勬鏋讹紝杩欎簺浠g爜閮藉緢绫讳技锛屾瘮濡傝瀵逛笉鍚岀被鍨嬬殑鏁版嵁鎺掑簭銆備箣鍓嶆垜浠壘杩囧紑婧愮殑 lib锛屼絾鏄兘涓嶅敖濡備汉鎰忥紝鎵€浠ユ垜浠墦绠楁妸鑷繁鐨勬嬁鍑烘潵锛屽仛鎴愮被浼肩憺澹啗鍒€涓€鏍峰皬宸ч珮鏁堢殑宸ュ叿銆�
-
-鍙﹀杩樿鎻愬埌 dubbo-go-hessian2 寮€婧愪粨搴撱€傛垜浠彲浠ヨ嚜璞湴璇达紝杩欎釜搴撴槸 Go 閲岄潰瀵� hessian v2 鍗忚鏀寔鏈€濂界殑寮€婧愬簱銆備笉浠呬粎鏄垜浠湪鐢紝闃块噷鍜岃殏铓侀噾鏈嶄篃鍦ㄧ敤銆傛垜浠篃甯屾湜鍚稿紩鏇村姞澶氱敤鎴锋潵浣跨敤锛屽府鎴戜滑鏀硅繘銆�
-
-**OSCHINA锛�**
-Dubbo-go 浠婂勾 3 鏈� 25 鏃ョ殑鏂扮増鏈� 1.4.0 涓€滄嬁鍑轰簡浣跨敤 k8s 浣滀负娉ㄥ唽涓績鐨勮В鍐虫柟妗堚€濓紝閫夋嫨鎬ф斁寮� Service 鍔熻兘锛屽皢鍏冩暟鎹洿鎺ュ啓鍏ュ埌 Pod 瀵硅薄鐨� Annotations 涓€備负浠€涔堝仛鍑鸿繖涓喅绛栵紝鍚庣画鏈変粈涔堣惤鍦拌鍒掞紵
-
-**Dubbo-go 閭撴槑锛�**
-
-鍦ㄤ娇鐢� k8s 浣滀负娉ㄥ唽涓績杩欎釜鐐逛笂锛岃璁哄氨鑺变簡寰堥暱鐨勬椂闂淬€�
-
-鍏跺疄鏈€鍒濊€冭檻鐨勬槸鐩存帴浣跨敤 k8s 鏈嶅姟鍙戠幇妯″瀷锛屽悗鏉ュ彂鐜� k8s service 鍜� Dubbo-go Interface 涔嬮棿瀛樺湪涓€浜涢毦浠ヨ皟鍜岀殑鐭涚浘銆傛瘮濡傝 Kubernetes 宸茬粡涓哄叾鎵胯浇鐨勬湇鍔℃彁渚涗簡饧€濂楁湇鍔″彂鐜帮紝鏈嶅姟娉ㄥ唽锛屼互鍙婃湇鍔¢泦缇ょ鐞嗘満鍒躲€傗浇 Dubbo-go 涔熸嫢鏈夆緝鎴愪綋绯荤殑鏈嶅姟闆嗙兢绠$悊銆�
-
-杩欎袱涓姛鑳界偣褰㈡垚浜嗗啿绐侊紝鍦ㄦ棤娉曡皟鍜屼袱鑰呯殑鎯呭喌涓嬶紝鎴戜滑鏀惧純浜嗚繖涓鍒掞紝骞朵笖鎻愬嚭浜嗙幇鍦ㄨ繖涓殢 1.4.0 鐗堟湰鍙戝竷浣跨敤鐨勬ā鍨嬨€�
-
-![k8s registry 璁捐鏂规](../../pic/arch/dubbo-go-one-year-5.png)
-
-鍚庣画锛屾垜浠皢涓昏鑰冭檻 k8s 鏈韩鎻愪緵鐨� CRD + Operator 鐨勬柟妗堬紝姣曠珶瓒婃潵瓒婂鐨� k8s 鍛ㄨ竟鐨勯」鐩兘鍦ㄤ互 Operator 浣滀负鍒囧叆鐐广€侱ubbo-go 绀惧尯鍚庣画鐨勬柟妗堝皢浼氫互 CRD 鐨勫舰寮忓湪 k8s 鍐呮敞鍐屽拰鍙戠幇鏈嶅姟銆傝繖鏍峰仛鐨勫師鍥犳湁寰堝锛岄鍏堟槸涓轰簡鍑忓皯 Dubbo-go 瀵� kube-apiserver 鐨勭洿鎺ヤ緷璧栥€傚叾娆℃槸涓轰簡鏍囧噯鍖栨敞鍐屾ā鍨嬶紝褰撴湇鍔℃ā鍨嬩互 CRD 鐨勫舰寮忓瓨鍦ㄥ湪 k8s 闆嗙兢涓箣鍚庯紝鍏朵粬鍥寸粫 k8s 鐨勯」鐩彲浠ョ洿鎺ヤ娇鐢ㄨ繖浜涜祫婧愪簩娆″紑鍙戝拰鎷撳睍銆傝€岃繖绉嶆柟寮忔洿鍔� CloudNative銆�
-
-**OSCHINA锛�**
-Dubbo-go 鐜板湪鍦ㄤ簯鍘熺敓搴旂敤涓婄殑甯冨眬鏄€庢牱鐨勶紵
-
-**Dubbo-go 閭撴槑锛�**
-
-绀惧尯鐨勪富瑕佷汉鍔涙涓庤殏铓侀噾鏈嶇殑 mosn 绀惧尯灞曞紑鍚堜綔銆傜洰鍓嶆湁 5 涓汉鍔涗笌 mosn 绀惧尯涓€璧峰湪 mosn 涓疄鐜� Dubbo 鐨勬湇鍔″彂鐜般€佹湇鍔℃敞鍐屽拰鍩烘湰鐨� RPC 閫氫俊绛夋暟鎹钩闈㈢殑鑳藉姏锛屽湪 istio 灞傞潰鏀寔閫氳繃 XDS 瀹炵幇閰嶇疆涓嬪彂锛屼互瀹炵幇 mosn + Dubbo-go 銆愬祵鍏� mosn銆� + istio 杩欑 sidecar 褰㈠紡鐨勪簯鍘熺敓鏂规銆傚凡瀹屾垚鐨勫伐浣滃凡缁忓湪澶氱偣绉戞妧灞曞紑娴嬭瘯锛岃繎鏈� mosn 绀惧尯鍚屽浼氬湪 A2M 澶т細涓婂叕甯冨叿浣撹繘灞曘€�
-
-闄や簡 sidecar 杩欑 proxy 褰㈠紡鐨勪簯鍘熺敓鏂规锛岀ぞ鍖鸿繕璁″垝瀹炵幇 Dubbo-go銆愬簲鐢� sdk銆� + istio 杩欑 proxyless 鏂瑰紡鐨勪簯鍘熺敓鏂规銆侸ava 搴旂敤鎴栬€� Go 搴旂敤閫氳繃 istio 鐨� xDS 鍗忚瀹屾垚鏈嶅姟娉ㄥ唽鍜屽彂鐜颁互鍙婅矾鐢卞垎鍙戙€傛垨鑰呰锛屾垜浠姏姹傚井鏈嶅姟鍜屼簯鍘熺敓鍏卞瓨锛屽彲浠ョО涔嬩负鈥滃弻妯″井鏈嶅姟鈥濄€傝繖绉嶁€滃弻妯″井鏈嶅姟鈥濆厑璁告爣鍑嗙殑 Dubbo-go + sidecar 鍜� Dubbo-go銆愬簲鐢� sdk銆� + istio 涓ょ妯″紡閮ㄧ讲鐨勫簲鐢ㄥ叡瀛樸€傝繖灏嗘槸 Dubbo-go v1.6 鐨勬牳蹇冨伐浣溿€�
-
-**OSCHINA锛�**
-Dubbo-go 鍑犱箮鏄垰涓€璇炵敓灏辫浆绉诲埌 Apache锛屽苟涓斿緢蹇彂甯冧簡 Apache Dubbo Go v1.1.0锛岃繖瀵圭ぞ鍖鸿繍钀ョ殑甯姪鏄粈涔堬紝鍙互鍒嗕韩涓� Dubbo-go 鐨勮繍钀ユ儏鍐靛拰缁忛獙鍚楋紵
-
-**Dubbo-go 閭撴槑锛�**
-
-鍙互璇达紝Apache 鍩洪噾浼氬鎴戜滑鐨勫府鍔╂槸寰堝ぇ鐨勩€�
-
-涓€鏂归潰锛孉pache 鑷韩鐨勫厜鐜崄鍒嗘湁鍔╀簬鍚稿紩寮€鍙戝叧娉ㄥ拰鍙備笌锛涘彟澶栦竴鏂归潰锛孉pache 鐨勪竴浜涜姹傦紝涔熻绀惧尯杩愯惀鏇村姞瑙勮寖銆�
-
-绀惧尯杩愯惀闇€瑕佽繘涓€姝ヨ鑼冨寲锛岄€忔槑鍖栵紝浠ュ惛寮曟洿鍔犲鐨勪汉鍙備笌銆傛垜娉ㄦ剰鍒板緢澶氫紭绉€鐨勭ぞ鍖鸿繍钀ュ仛寰楀緢濂斤紝浠栦滑瀵� issue 鐨勭鐞嗗緢缁嗚嚧锛屾墦涓婁簡鍚勭鏍囩锛屽仛鍒颁簡瀵� issue 鐨勮交閲嶇紦鎬ョ殑绠$悊銆傝繖绉嶆爣绛捐兘澶熷緢瀹规槗鍚稿紩涓€浜涙墦绠楀皾璇曞紑婧愮殑鏂颁汉锛岀粰绀惧尯甯︽潵鏂扮殑琛€娑层€�
-
-鎴戜滑灏濊瘯浣跨敤 milestone 鐨勬柟寮忔潵绠$悊 Dubbo-go 鐨勬暣浣撹繘搴︺€傜幇鍦ㄤ篃鍦ㄥ皾璇曞畾鏈熷彫寮€绀惧尯浼氳锛岃璁虹ぞ鍖哄彂灞曟柟鍚戯紝閲嶅ぇ鐗规€х殑璁捐锛屼互鍙婅В鍐充簤绔細璁細闈㈠悜鏁翠釜绀惧尯锛屾兂鍙備笌鐨勪汉閮藉彲浠ュ弬涓庛€�
-
-Dubbo-go 搴旂敤鍙婅鍒�
-**OSCHINA锛�**
-Dubbo-go 閫傚悎浠€涔堟牱鐨勪紒涓氬拰鍦烘櫙锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-鎴戜滑璁や负锛屽鏋滅敤鎴烽渶瑕佷竴娆� Go 璇█鏂归潰 gRPC 妗嗘灦锛屽彲浠ヨ€冭檻 Dubbo-go锛涘鏋滃叕鍙告湁鍜屽紓鏋勭郴缁熼€氫俊鐨勯渶姹傦紝Dubbo-go 涔熸槸涓€涓瘮杈冨ソ鐨勯€夋嫨銆傜壒鍒槸锛屽叕鍙稿唴閮ㄨ繕鏈� Java Dubbo 鎴栬€� Spring Clound 涔嬬被鐨勫簲鐢紝閭d箞 Dubbo-go 浼樺娍灏辨洿鍔犲ぇ浜嗐€�
-
-Dubbo-go 鍙互璇存槸 " all-in-one " 鎬ц川鐨� RPC 妗嗘灦锛岃嚜韬寘鍚湇鍔℃不鐞嗙瓑鍔熻兘锛岄潪甯哥渷鏃剁渷鍔涳紝鑰屼笖鑳藉闄嶄綆浣跨敤寰湇鍔$殑闂ㄦ銆�
-
-**OSCHINA锛�**
-GitHub 鐨勭敤鎴峰垪琛ㄤ腑宸茬粡鏈夋潵鑷� 14 瀹朵紒涓氱殑浣跨敤璁板綍锛孌ubbo-go 涓€鑸細鎻愪緵鍝簺鍚庣画鏀寔锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-鎴戜滑涓€鐩撮兘蹇€熷搷搴旂敤鎴风殑闂锛岃€屼笖绉瀬榧撳姳鐢ㄦ埛鍙備笌鍒� Dubbo-go 鐨勫紑鍙戜腑鏉ャ€傜洰鍓嶆秱楦︽櫤鑳姐€佹惡绋嬬瓑鍑犲鐢ㄦ埛宸茬粡鎴愪负浜嗙ぞ鍖鸿础鐚殑涓昏鍔涢噺銆�
-
-鏈夋椂鍊欑敤鎴锋潵鍋氳皟鐮旓紝杩涙潵绀惧尯鍜ㄨ闂鐨勬椂鍊欙紝鎴戜滑閮戒細绗戠О浠栤€滃鏋滈€夋嫨浜� Dubbo-go锛屽氨閫夋嫨浜嗕竴涓己澶х殑鍞悗鍥㈤槦鈥濄€�
-
-绀惧尯涓€浣嶅緢娲昏穬鐨� Contributor 娼樻€汇€恎ithub id: pantianying銆戝鎴戜滑鐨勭儹鎯呮湇鍔″簲璇ユ繁鏈変綋浼氥€傛瘮濡備粬浼氭彁 issue锛岀劧鍚庢垜浠篃浼氬緢蹇В鍐冲儚 router銆佷紭闆呴€€鍑哄姛鑳藉氨鏄湪娼樻€绘彁鍑轰箣鍚庯紝鎴戜滑寰堝揩瀹炵幇鐨勶紝 杩樻湁鏃╂湡涓€娆¢噸鏋勪箣鍚庯紝涔熸槸娼樻€诲皾椴滆瘯鐢ㄣ€傚皾椴滅増閫氬父鏈夊緢澶� BUG锛屾墍浠ユ垜浠兘鏄笂鐝墦宸ワ紝涓嬬彮缁欐綐鎬讳慨 BUG锛屼篃绠楁槸鏈嶅姟鍛ㄥ埌鐑儏鐢ㄥ績浜嗐€�
-
-棰濆璇翠笅锛岀洰鍓� Dubbo 瀹樻柟涔熷凡缁忔姇鍏ヤ汉鍔涘弬涓� Dubbo-go 鐨勫紑鍙戯紝闃块噷闆嗗洟浠婂勾瀹屾垚 HSF 鍜� Dubbo 鐨勮瀺鍚堝悗锛屼細鍦ㄩ泦鍥㈠唴閫愭鎺ㄥ箍浣跨敤 Dubbo-go銆�
-
-**OSCHINA锛�**
-Dubbo-go 涓嬩竴鐗堟湰棰勮浠€涔堟椂鍊欏彂甯冿紝鏈夋病鏈変竴浜涢暱杩滅殑鍙戝睍璁″垝锛�
-
-**Dubbo-go 閭撴槑锛�**
-
-褰撳墠姝e湪娴嬭瘯鐨勬槸 v1.5 鐗堟湰锛屽笇鏈涘叚鏈堜唤鑳藉彂鍑烘潵銆倂1.6 鐗堟湰姝e湪璁捐鍜岃鍒掍腑锛寁1.6 鏄拰 Dubbo 3 瀵归綈鐨勶紝鎵€浠ヤ篃浼氭槸涓€涓瘮杈冨ぇ鐨勭増鏈€�
-
-浠婂勾鎴戜滑绀惧尯涓昏闆嗕腑鍦ㄤ袱浠朵簨涓娿€傜涓€浠舵槸浜戝拰浜戝師鐢熺殑鏀寔锛岀幇鍦ㄨ繘琛屼腑鐨� v1.5 鍜� v1.6 閮芥槸鍥寸粫杩欎竴鐐圭殑銆備粖骞村嚑涔庢墍鏈夊ぇ鐨� feature 閮芥槸杩欐柟闈㈢殑銆�
-
-绗簩浠朵簨锛屽垯鏄繘涓€姝ユ彁楂� Dubbo-go 鐨勬枃妗c€佹敞閲婂拰浠g爜璐ㄩ噺銆傚潶鐧芥潵璇达紝Dubbo-go 鐨勬枃妗e苟涓嶆槸鐗瑰埆濂斤紝灏ゅ叾鏄敤鎴锋枃妗c€傛垜浠篃鏀跺埌浜嗗緢澶氱敤鎴风殑鎵硅瘎姝e湪鍔犲己 CI 鍜岃嚜鍔ㄥ寲娴嬭瘯杩欏潡銆傛€昏€岃█涔嬶紝鏂囨。涓庤川閲忚繖浠朵簨鏄粖骞寸殑澶寸瓑澶т簨銆�
-
-**OSCHINA锛�**
-鏈€鍚庯紝璇蜂粙缁嶄竴涓嬭嚜宸卞惂銆�
-
-**Dubbo-go 閭撴槑锛�**
-
-璇磋捣鏉ユ尯鏈夋剰鎬濈殑锛屽氨鏄垜鏈韩鏄笟鍔″紑鍙戯紝骞朵笉鏄紶缁熸剰涔変笂鐨勪腑闂翠欢寮€鍙戞垨鑰呭熀纭€鏋舵瀯寮€鍙戙€傛垜鐩墠鍦� eBay 鍋氭敮浠樹笟鍔$殑寮€鍙戙€俥Bay 鏄竴涓� WLB 鐨勫叕鍙革紝涔熷氨鏄湪 eBay 鎴戞墠鏈変簡瓒冲鐨勪笟浣欐椂闂达紝寮€濮嬫姇鍏ュ埌浜嗗紑婧愮ぞ鍖轰腑銆�
-
-Dubbo-go 鏄垜绗竴涓繁鍏ュ弬涓庣殑寮€婧愰」鐩紝涔熸槸鎴戠涓€娆″皾璇曞皢涓汉瀵瑰垎甯冨紡绯荤粺鍜屽井鏈嶅姟娌荤悊鐨勭悊瑙d粯璇稿疄璺电殑椤圭洰銆傚畠鏄垜鐨勭涓€涓€滃瀛愨€濄€�
-
-鍥犱负宸ヤ綔鐨勫叧绯伙紝鎴戠畻鏄� Dubbo-go 绀惧尯鎶曞叆鏃堕棿鏈€澶氱殑浜轰箣涓€锛屼负 Dubbo-go 寮€鍙戜簡涓€浜涘緢鏈夋剰鎬濈殑鐗规€э紝涔熷洜姝ゆ垚浜� Apache committer銆傚彟澶栨垜杩樻壆婕斾簡缂栬緫鐨勮鑹诧紝甯ぞ鍖哄皬浼欎即鍐欑殑鍗氬鏂囩珷鎶婃妸鍏筹紝娑︽鼎鑹层€傛垜涔熺畻鏄� Dubbo-go 鐨勪富瑕佺鐞嗕汉鍛樹簡锛屾瘮濡傝 v1.5 杩欎釜鐗堟湰灏辨槸涓昏鐢辨垜鎺ㄨ繘鐨勨€斺€旇繖澶ф杩樻槸鍥犱负鎴戞椂闂存瘮杈冨銆�
diff --git a/doc/md/arch/dubbo-go-review-and-future.md b/doc/md/arch/dubbo-go-review-and-future.md
deleted file mode 100644
index 9fc1df668b664a8790b9edc1c1123f2386cb6212..0000000000000000000000000000000000000000
--- a/doc/md/arch/dubbo-go-review-and-future.md
+++ /dev/null
@@ -1,246 +0,0 @@
-# [dubbogo 鍥為【涓庡睍鏈沒(https://blog.csdn.net/RA681t58CJxsgCkJ31/article/details/103856203/)
-
-2020-01-06 08:30:00
-
-Dubbo 鏄樋閲屼簬 2011 骞村紑婧愮殑涓€娆鹃珮鎬ц兘 RPC 妗嗘灦锛屽湪 Java 鐢熸€佷腑鍏锋湁涓嶅皬鐨勫奖鍝嶅姏銆�2019骞�5鏈�21鏃ワ紝Dubbo 浠� Apache 杞欢鍩洪噾浼氭瘯涓氾紝鎴愪负 Apache 椤剁骇椤圭洰銆傜洰鍓嶏紝姣曚笟鍚庣殑 Dubbo 椤圭洰鐨勭敓鎬佷腑宸茬粡姝e紡瀹樺寮曞叆浜� Go 璇█锛屽彂甯冧簡 Dubbogo 椤圭洰銆傛湰鏂囧嵆鏄 Dubbogo 杩欎竴椤圭洰鐨勫畬鏁村洖椤句笌鐪熷疄灞曟湜銆傜敱铓傝殎閲戞湇涓棿浠舵妧鏈笓瀹朵簬闆ㄥ拰鎼虹▼鍩虹涓彴鐮斿彂閮ㄥ伐绋嬪笀鏂归摱鍩庡悎浣滃畬鎴愩€�
-
-**01**
-
-**Dubbogo聽鏁翠綋妗嗘灦**
-
-鍏堜粙缁嶄竴涓� dubbogo 鐨勭紭璧凤紝鍏堢湅涓嬮潰杩欏箙鍥撅細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-a.jpg) 聽 聽 聽
-
-鏈€鍙宠竟鐨� service0 鍜� service1 鏄� Dubbo 鐨勬湇鍔$锛屽乏杈圭殑 gateway 鏄綉鍏筹紝HTTP 聽璇锋眰浠庣綉鍏宠繘鏉ワ紝蹇呴』杞寲鎴� Dubbo 鐨勫崗璁墠鑳藉埌鍚庨潰鐨勬湇鍔★紝鎵€浠ヤ腑闂村姞浜嗕竴灞俻roxy 瀹屾垚鐩稿叧鍔熻兘銆傚熀鏈笂姣忎釜 service 閮介渶瑕佷竴涓� proxy 鍘昏浆鍖栧崗璁拰璇锋眰锛屾墍浠ヨ繖涓椂鍊� dubbogo 鐨勯」鐩渶姹傚氨鍑烘潵浜嗐€傛渶鍒濈殑瀹炵幇灏辨槸浠� Dubbo 鐨� Go 鐗堟湰浣滀负鐩爣锛屽疄鐜颁笌 Java 鐗堟湰 Dubbo 鐨勪簰璋冦€�
-
-**Dubbogo 鐩爣**  
-
-聽聽 聽聽![](../../pic/arch/dubbo-go-review-and-future-b.jpg)聽 聽 聽 聽聽
-
-鐒跺悗杩欎釜鍥炬槸 dubbogo 鐨勭幇鍦ㄨ揪鍒扮殑鐩爣锛氱敤涓€浠� Go 瀹㈡埛绔殑浠g爜鑳藉鍦ㄦ病鏈変换浣曚唬鐞嗗拰鍏朵粬涓棿浠剁殑鎯呭喌涓嬬洿鎺ヨ皟鐢ㄥ叾浠栬瑷€绔紝涓昏鏄疛ava 鏈嶅姟绔殑鏈嶅姟鍜� Go 鏈嶅姟绔殑鏈嶅姟锛岃€� Go 浣滀负鏈嶅姟绔殑鏃跺€欙紝Java 瀹㈡埛绔篃鍙互鐩存帴璋冪敤 Go 鏈嶅姟绔殑鏈嶅姟銆�
-
-**Dubbogo 鍙戝睍鍘嗙▼** 
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-c.jpg) 聽 聽 聽
-
-涓嬮潰浠嬬粛 dubbogo 鐨勬暣涓彂灞曞巻绋嬶紝鍦�2016骞�8鏈堜唤鐨勬椂鍊欐槸浜庨洦鏋勫缓浜� dubbogo 椤圭洰锛岄偅涓椂鍊欑殑 dubbogo 鍙敮鎸侀€氳繃 jsonrpc 2.0 鍗忚 杩涜 HTTP 閫氫俊锛屽埌 2018 骞�2 鏈堜唤鏀寔 hessian2 鍗忚杩涜 TCP 閫氫俊锛屽埌 2018 骞� 5 鏈堥」鐩 dubbo 瀹樻柟鍏虫敞鍚庡紑濮嬩粠闆堕噸鏋勶紝浜庨洦 2018 骞� 8 鏈堜唤鍒濇閲嶆瀯鍑轰竴涓� 0.1 鐗堟湰銆傜敱浜庢垜浠惡绋嬭繖杈圭殑涓€浜涢渶姹傦紝2019 骞村垵鎴戝拰鎴戠殑鍚屼簨浣曢懌閾篃寮€濮嬪弬涓庝簡 dubbogo 椤圭洰鐨勯噸鏋勶紝鍚屾椂鍜屼簬闆ㄤ竴璧峰紑濮嬬粍寤虹ぞ鍖猴紝鍦� 2019 骞� 6 鏈堜唤鐨勬椂鍊� dubbogo1.0 鐗堟湰涓婄嚎锛岃繖涓増鏈殑閲嶆瀯鏄弬鐓т簡 Dubbo 鐨勬暣浣撹璁★紝涓讳綋鍔熻兘閮藉湪杩欎釜鐗堟湰閲岄潰鏈夊憟鐜帮紝鍚屾湡璇ラ」鐩繘鍏ヤ簡 Apache 缁勭粐銆備粖骞� 8 鏈堜唤鐢辩ぞ鍖哄悓瀛︽湜鍝ヨ礋璐g殑 Dubbo-go-hessian2 鐨勯」鐩篃杩涗簡 Apache 缁勭粐銆傚埌鐩墠涓烘鎴戜滑绀惧尯鏈変簺宸ヤ綔宸茬粡鍜� dubbo 榻愬ご骞惰繘锛屼緥濡傚 grpc 鍜� k8s 鐨勬敮鎸侊紝鐩稿叧浠g爜姝e湪 review 涓紝骞村簳鍙戝竷鐨� v1.3 鐗堟湰浼氬寘鍚� grpc 鏀寔銆傞璁″埌2020骞达紝涔熸槸鏄庡勾鐨勭洰鏍囷紝甯屾湜椤圭洰鑳戒互鍏ㄦ柊濮挎€佽瀺鍏ヤ簯鍘熺敓鏃朵唬銆�
-
-**Dubbogo 鏁翠綋璁捐**
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-d.jpg) 聽 聽 聽
-
-杩欎釜鍥惧ぇ瀹舵槸涓嶆槸鐪嬬潃寰堢啛鎮夛紝鏄� Dubbo 鐨勬暣涓垎灞傝璁″浘锛屼絾鏄皯浜� Dubbo 閲岄潰鐨勫緢澶氫笢瑗匡紝鍥犱负鎴戜滑鏄€熼壌浜� Dubbo 鐨勫垎灞傝璁″拰鏄撴嫇灞曟€х殑鎬濇兂锛屼絾鏄敱浜� Go 璇█鍜� Java 璇█鐨勬湰璐ㄥ樊鍒喅瀹氫簡鎴戜滑椤圭洰璁捐涓嶅彲鑳藉畬鍏ㄧ収鎼畠锛屾湁涓€浜涗笢瑗垮氨缁欏畠绠€鍖栦簡锛岀壒鍒槸鍗忚灞傝繖涓€鍧椼€傛瘮濡傝 Dubbo 閲岄潰 SPI 鐨勬嫇灞曪紝鍦� Go 閲岄潰鎴戜滑鏄€熺敤浜� Go 鐨勯潪渚靛叆寮忔帴鍙g殑鏂瑰紡鍘诲疄鐜扮殑锛岀敱浜� Go 绂佹 package 寰幆寮曠敤锛屾墍浠� dubbogo 鍦ㄤ唬鐮佺殑鍒嗗寘鍒嗗眰涓婇潰涔熸槸鏈変弗鏍肩殑瑙勫畾锛岃繖姝eソ璺熷畠鐨勬槗鎷撳睍鎬х殑鐗规€х粨鍚堜簡璧锋潵銆�
-
-鍏充簬浠g悊閮ㄥ垎锛屽洜涓� Java 鏈夊姩鎬佷唬鐞嗭紝Go 鐨勫弽灏勫氨娌℃湁 Java 鐨勫弽灏勯偅涔堝己澶э紝鎵€浠ユ垜浠繖杈逛唬鐞嗙殑瀹炵幇鏂瑰紡涔熻窡瀹冩槸涓嶄竴鏍风殑銆�
-
-**Dubbogo 鑳藉姏澶у浘**  
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-e.jpg) 聽 聽 聽
-
-涓婇潰鐨勫浘鏄垜浠綋鍓� dubbogo 椤圭洰瀹炵幇鐨勮兘鍔涘ぇ鍥撅紝鏈€涓婂眰鏄綋鍓嶅疄鐜扮殑涓€浜涙敞鍐屼腑蹇冩湁 zk銆乪tcd銆乶acos銆乧onsul锛岀幇鍦ㄤ笌 k8s 鍏宠仈鐨勫姛鑳芥鍦ㄥ紑鍙戜腑銆傞厤缃腑蹇冪洰鍓嶆槸鏀寔 Apollo 鍜� zookeeper銆傚乏杈规槸娑堣垂绔紝娑堣垂绔繖杈瑰疄鐜扮殑鏄湁 cluster 鐨勶紝绛栫暐涓婂熀鏈笂瀹炵幇浜� dubbo 鏀寔鐨勬墍鏈夌瓥鐣ャ€傜劧鍚庤繕鏈夎礋杞藉潎琛$瓥鐣ワ紝fillter 涓昏鏄湁涓€涓� tps 鐨勯檺娴佽繕鏈夋硾鍖栬皟鐢紝杩欎袱涓悗闈細璁插埌銆傜紪鐮佸眰鐜板湪灏辨槸 jsonrpc 2.0 鍜� hessian2锛宲rotobuf v3 姝e湪鍔犵揣 review 涓€傜洰鍓嶇ぞ鍖烘鍦ㄥ紑鍙戜腑鐨勬敮鎸侊紝鍖呮嫭 trace銆乬rpc銆乲8s娉ㄥ唽涓績锛屼互鍙婂 restful 鐨勬敮鎸併€�
-
-**鍏抽敭椤圭洰**
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-f.jpg) 聽 聽 聽
-
-鐩墠 dubbogo 椤圭洰鏁翠綋鐢� 4 涓粍鎴愰儴鍒嗐€傜涓€涓槸 getty锛屼竴涓紓姝ョ綉缁� IO 搴擄紝鏄疄鐜� tcp 閫氫俊鍗忚鏈€鍧氬疄鐨勫熀纭€锛涚浜屼釜鏄� dubbo-go-hessian2锛岃繖涓槸涓庡綋鍓� java hessian2 楂樺害鍏煎鐨勯」鐩紱绗笁涓槸 gost锛屾槸 dubbogo 鐨� 鍩虹搴擄紱鏈€鍚庢槸 dubbogo 鐨勭ず渚嬪簱锛岀洰鍓嶅凡缁忚縼绉诲埌 https://github.com/apache/dubbo-samples锛屽拰 Java 绀轰緥鍚堝苟浜嗐€傝繖浜涢兘鏄綋鍓� dubbogo 涓昏鐨勭粍鎴愰」鐩€�
-
-**02**
-
-**鍗忚瀹炵幇**
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-g.jpg) 聽 聽 聽
-
-鎺ヤ笅鏉ヨ涓€浜涘叿浣撶殑瀹炵幇鍜岄儴鍒嗙殑鍔熻兘锛屼笂鍥炬槸 dubbo-go-hessian2 瀹炵幇锛屽垪鍑烘潵鏄竴浜涗富瑕佺殑鍔熻兘鍒楄〃锛岀涓€涓槸 Java 鐨� JDK Exceptions 鐨勫疄鐜帮紝閲岄潰瀹炵幇浜� 40 澶氱鐨� Java JDK 涓昏鐨勫紓甯革紝鍙互涓� Java 鐨� hessian2 鐗堟湰浜掔浉瑙g紪鐮佺殑鏀寔锛屾敮鎸佽嚜鍔ㄦ墿灞曡嚜宸卞疄鐜� exceptions锛屾垨鑰呮槸涓嶅父瑙佺殑 Exceptions锛涚浜屼釜鏄敮鎸佸瓧娈靛悕鐨勮仈鍚嶏紝Go 鍙簭鍒楀寲鐨勫瓧娈垫槸澶у啓瀛楁瘝寮€澶达紝浣嗘槸 Java 榛樿鏄皬鍐欏紑澶寸殑锛屾墍浠ユ湁缂栫爜鐨勫瓧娈靛悕涓嶄竴鑷寸殑闂锛岃繖灏辨湁鍒悕璇嗗埆鍜屾敮鎸佽嚜瀹氫箟鍛藉悕銆�
-
-go-hessian2 杩樻敮鎸� Java 鐨� bigdecimal銆丏ate銆乀ime銆佸熀鏈被鍨嬬殑鍖呰绫诲瀷銆丟eneric Invocation銆丏ubbo Attachements锛岀敋鑷虫敮鎸� emoji 琛ㄦ儏銆�
-
-go-hessian2 閲岄潰濡傛灉瑕佽В鐮佸拰缂栫爜鐢ㄦ埛鑷畾涔夌被鍨嬶紝鐢ㄦ埛闇€瑕佽嚜宸辨妸瀹冩敞鍐岃繘鍘伙紝鍓嶆彁鏄敮鎸� go-hessian2 鐨� POJO interface锛屾墠鑳借窡 JAVA 瀵瑰簲绫讳簰鐩歌В缂栫爜銆�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-h.jpg) 聽 聽 聽
-
-涓婇潰鏄� go-hessian2 鐨勭被鍨嬪搴旇〃锛岄渶瑕佺壒鍒偣鍑虹殑鏄� int锛実o 杩欒竟鐨� int 绫诲瀷鍦ㄤ笉鍚屽瓧闀跨郴缁熶笅鏄湁涓嶅悓鐨勫ぇ灏忥紝鍙兘鏄� 32 浣嶄篃鍙兘 64浣嶇殑锛岃€� Java 鐨� int 鏄� 32 浣嶇殑锛屾墍浠ユ垜浠互 go 璇█鐨� int32 绫诲瀷瀵瑰簲 Java int 绫诲瀷銆�
-
-鍒氭墠鎻愬埌浜� Java 鐨� Class 鍜� go struct 鐨勫搴斻€備笂鍥炬湁涓€涓� go-hessian2 鐨� POJO 鎺ュ彛瀹氫箟锛屾瘡涓� Java class 瀵瑰簲鍒� go struct锛屽垯 struct 闇€瑕佺粰鍑� Java ClassName銆�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-i.jpg) 聽 聽 聽
-
-浣犱篃鍙互鍔� hessian 鏍囩锛岃В鏋愮殑鏃跺€欎細鎶婅繖涓瓧娈靛悕鐢ㄥ埆鍚嶅啓杩涘幓锛屽疄鐜拌嚜瀹氫箟 fieldName銆傞粯璁ゆ儏鍐典笅锛実o-hessian2 涓細鑷姩鎶� struct field 棣栧瓧姣嶅彉鎴愬皬鍐欎綔涓哄叾 fieldName銆�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-j.jpg) 聽 聽 聽
-
-娉涘寲寮曠敤锛屾槸 dubbogo 閲岄潰姣旇緝閲嶈鐨勫姛鑳姐€傜ぞ鍖轰竴浣嶅悓瀛﹂渶瑕佸熀浜� dubbogo 瀹炵幇缃戝叧锛屾敹闆嗗閮ㄧ殑璇锋眰锛岀劧鍚庨€氳繃娉涘寲寮曠敤鐨勫舰寮忚皟鐢ㄥ叾浠� Dubbo 鏈嶅姟锛屾渶鍚庤嚜宸卞姩鎵嬫妸瀹冨疄鐜颁簡銆備娇鐢ㄦ椂锛岄鍏堥渶瑕佸湪椤圭洰閲屽唴缃竴涓� GenericService 鏈嶅姟锛岃皟鐢↙oad锛岀劧鍚庡氨鍍忔甯哥殑璋冪敤鏈嶅姟涓€鏍风洿鎺ヨ皟鐢紝璺� Java 鏄被浼肩殑锛孏o 瀹㈡埛绔彲浠ヤ笉鐭ラ亾 Java 鐨勬帴鍙e畾涔夊拰绫诲畾涔夛紝鎶婃柟娉曞悕銆佸弬鏁扮被鍨嬨€佸弬鏁版暟缁勪互涓€涓� map 鐨勫舰寮忎紶杈撳埌 Java 鏈嶅姟绔紝Java 鏈嶅姟绔敹鍒拌姹傚悗杩涜璇嗗埆锛屾妸瀹冭浆鎹㈡垚 POJO 绫汇€�
-
-浠ヤ笂鏄� go-hessian2 涓€浜涚粏鑺傘€備笂鏂囪鍒扮殑娉涘寲寮曠敤锛屾槸鎶婄綉鍏充綔涓烘暣涓唴缃� Dubbo 鏈嶅姟鐨勫叕鍏辨秷璐圭锛屼娇鐢ㄧ殑鏃跺€欏彧闇€瑕佺煡閬撹姹傜殑鏂规硶銆佸弬鏁扮被鍒紝鐒跺悗灏辫兘澶熻皟鐢� Dubbo 鐨勬湇鍔°€傚悗闈富瑕佸垎浜笁閮ㄥ垎鍐呭锛氶鍏堟槸缃戠粶寮曟搸銆佸簳灞傜綉缁滃簱杩欏潡锛涘叾娆℃槸鏈嶅姟娌荤悊鏂归潰鐨勫唴瀹癸紝鍏朵腑鍖呭惈浠� k8s 浣滀负娉ㄥ唽涓績鐨勪竴涓垵姝ョ殑瑙e喅鏂规锛涚涓夐儴鍒嗘槸浜掕仈浜掗€氾紝涓昏鏄拰 grpc 鎵撻€氥€傛渶鍚庣粰鍑轰竴涓睍鏈涳紝鍖呭惈 dubbogo 绀惧尯鏄庡勾鐨勫伐浣滃唴瀹广€�
-
-**03**
-
-**缃戠粶寮曟搸**
-
-dubbogo 鐨勭綉缁滃紩鎿庨噷闈㈠垎涓轰笁灞傦紝 濡備笅鍥炬墍绀猴細
-
-![](../../pic/arch/dubbo-go-review-and-future-k.jpg)
-
-鏈€搴曞眰 streaming 澶勭悊浜岃繘鍒舵祦锛岀浜屽眰 codec灞傦紝杩涜鍗忚鐨勫簭鍒楀寲鍜屽弽搴忓垪鍖栵紝绗笁灞傛槸 Eventlistener锛屾彁渚涘簲鐢ㄤ娇鐢ㄦ帴鍙c€俿treaming 灞傝兘鏀寔 websocket銆乀CP銆乁DP 涓夌缃戠粶閫氳鍗忚锛岃繖灞傚叿鏈変竴瀹氱殑鐏垫椿鎬э紝浠婂勾骞村垵涓婃捣鏈変竴涓悓瀛︿粖骞存妸 KCP 涔熷姞杩涘幓浜嗭紝褰撴椂璇磋寮€婧愯础鐚嚭鏉ワ紝鎴戣繕鍦ㄦ湡寰呬腑銆俢odec 灞傚彲浠ラ€傜敤涓嶅悓鍗忚锛岀敤鎴疯嚜瀹氫箟鍗冲彲銆�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-l.jpg)
-
-EventListener 瀵逛笂灞傛毚闇蹭簡 4 涓洖璋冩帴鍙c€傜涓€涓槸 OnOpen锛岀綉缁滆繛鎺ュ垵寤烘垚鍔熸椂琚皟鐢紝搴旂敤灞傚鏋滃垽瀹氬叾涓烘甯歌繛鎺ワ紝鍒欏彲浠ユ妸杩炴帴 session 瀛樺偍涓嬫潵锛屽鏋滅敤鎴峰垽鏂綋鍓嶈繛鎺ヨ繃澶氬垯杩斿洖涓€涓潪绌虹殑 error锛屽垯杩欎釜杩炴帴浼氳 dubbogo 鍏抽棴銆傚叾娆℃槸 OnError 浜嬩欢锛屽綋缃戠粶杩炴帴鍑洪敊锛屽氨浼氬洖璋冨埌杩欎釜鎺ュ彛锛屽湪 dubbogo 鍏抽棴杩欎釜杩炴帴涔嬪墠鍏佽鐢ㄦ埛鍋氱浉搴斿鐞嗭紝濡傛妸缃戠粶杩炴帴 session 浠庡簲鐢ㄥ眰鐨� session 姹犱腑鍒犻櫎銆傜涓変釜鏄� OnCron锛屽鐞嗗畾鏃朵换鍔★紝濡傚績璺筹紝dubbogo 閽堝 websocket 鍗忚鍦ㄥ簳灞傜洿鎺ユ妸蹇冭烦鐑换鍔″鐞嗕簡锛岄拡瀵� tcp 鍜� udp 鍗忚闇€瑕佺敤鎴峰湪杩欎釜鍥炶皟鍑芥暟涓嚜宸卞疄鐜般€傜鍥涗釜鎺ュ彛鏄� OnMessage锛岀敤浣滃鐞嗕竴涓畬鏁寸殑缃戠粶鍖呫€傚彲浠ョ湅鍒版暣涓洖璋冩帴鍙i鏍艰窡 websocket 鐨勬帴鍙e緢鍍忋€�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-m.jpg) 聽 聽 聽
-
-**鍗忕▼姹�**
-
-dubbogo 鐨� goroutine pool 閲屾湁 worker channel 銆愭暟閲忎负 M銆戝拰閫昏緫澶勭悊 goroutine 銆愭暟閲忎负 N銆戝拰缃戠粶浠诲姟銆愮綉缁滃寘銆戜笁绉嶈鑹诧紝缃戠粶瑙e寘鍚庢妸鎶婂寘鎸夌収鏌愮瑙勫垯鏀惧叆鏌愪釜 worker pool锛岀劧鍚庨€昏緫澶勭悊 goroutine 浠� channel 涓鍙栨暟鎹寘骞舵墽琛岄€昏緫澶勭悊锛屽叾鐩殑鏄槸涓轰簡鎶婄綉缁� I/O 涓庨€昏緫澶勭悊鍒嗗紑銆備笉鍚岀殑 goroutine pool 璁捐涓紝鏈夌殑 N 澶у皬浼氬彉鍖栵紝鏈夌殑涓嶅彉锛屽垎鍒彲绉颁箣涓哄彲浼哥缉 goroutine pool 鍜屼笉鍙几缂� goroutine pool锛屽彲浼哥缉 goroutine pool 鍙互瀵规満鍣ㄨ祫婧愮殑浣跨敤涓嶅彲棰勮銆俤ubbogo 閲囩敤浜嗕笉鍙几缂� goroutine pool锛屽叾鑰冮噺鏄檺瀹氬叾缃戠粶璧勬簮浣跨敤鐨勪笂闄愩€�
-
-鍙﹀锛宒ubbogo 鐨� goroutine pool 涓嶈€冭檻鏀跺寘鍚庣殑澶勭悊椤哄簭銆傝濡傦紝dubbogo 鏈嶅姟绔敹鍒颁簡 A 鍜� B 涓や釜缃戠粶鍖咃紝dubbogo 鏈夊彲鑳藉厛澶勭悊缃戠粶鍖� B锛屽悗澶勭悊缃戠粶鍖� A銆傚鏋滃鎴风鐨勬瘡娆¤姹傞兘鏄嫭绔嬬殑锛屾病鏈夊墠鍚庨『搴忓叧绯伙紝鍒欏甫鏈変笉鑰冭檻缃戠粶鍖呭鐞嗛『搴忔槸娌℃湁闂鐨勩€傚鏋滄湁寮洪『搴忚姹傦紝璀涓婂眰鐢ㄦ埛鍏虫敞 A 鍜� B 璇锋眰澶勭悊鐨勫墠鍚庨『搴忥紝鍒欏彲浠ユ妸 A 鍜� B 涓や釜璇锋眰鍚堝苟涓轰竴涓姹傦紝鎴栬€呮妸 dubbogo 鐨� goroutine pool 鐗规€у叧闂€�  
-
-涓€鑸儏鍐典笅锛屼笉寤鸿澶у鑷繁鍐� goroutine pool锛屽洜涓� Go 璇█瀵� goroutine 璧勬簮鐨勭鐞嗗凡缁忛潪甯稿厛杩涳紝姣斿閲婃斁涓€涓崗绋嬶紝Go 涓嶄細椹笂閿€姣佹帀鐩稿叧鐨勮祫婧愶紝涓€鏃︽湁鍒涘缓 goroutine 鐨勯渶瑕侊紝椹笂灏卞彲澶嶇敤杩欎釜鎴愭湰鏄緢浣庣殑銆備粈涔堟儏鍐典笅浣跨敤 Goroutine Pool 鍛紵涓汉瑙夊緱鍍忕綉缁滃簱閫昏緫澶勭悊杩欑被鍦烘櫙涓嬫墽琛屽悓鏍风被鍨嬩换鍔″満鏅笅纭畾 goroutine 浼氳杩呴€熼噸澶嶄娇鐢ㄦ椂鍙互灏濊瘯浣跨敤锛屼絾鏄€庝箞鐢ㄥソ杩樻槸闇€瑕佷粩缁嗚€冮噺锛屽嵆闇€瑕佷粩缁嗚€冮噺 M 涓� N 鐨勬瘮渚嬪叧绯汇€�  
-
-鍋囪澶勭悊鏌愮缃戠粶浠诲姟璇锋眰锛屾湁鐨勮姹�1绉掑氨澶勭悊瀹屼簡锛屾湁鐨勫彲鑳�10姣澶勭悊瀹屼簡锛岃缃� M 涓� N 姣斾緥涓� 1:1锛岃繖鏍� 1 瀵� 1 閫犳垚鐨勫悗鏋滃彲鑳芥槸楗ラタ锛屽氨鏄湁涓€浜涢槦鍒楀鐞嗙殑寰堝揩锛屾湁鐨勫鐞嗗緢鎱紝鏁翠綋璐熻浇涓嶅潎琛★紝杩欑鎯呭喌涓嬪氨涓嶆帹鑽愪綘鐢ㄥ崗鎴愭睜浜嗐€�
-
-杩樻湁涓€涓瘮渚嬫ā鍨嬫槸鏄�1锛歂鐨勶紝涓€鍐欏璇伙紝姣斿璇存墍鏈夌殑璇锋眰閮戒氦缁欎竴涓槦鍒楋紝鎵€鏈夐€昏緫澶勭悊 goroutine pool 閮芥秷璐硅繖涓槦鍒楋紝閫犳垚鐨勭粨鏋滄槸浠€涔堝憿锛熷洜涓轰綘鍙湁涓€涓敓浜ц€咃紝閭d綘灏卞彧鏈変竴涓槦鍒楋紝澶氫釜娑堣垂鑰呮秷璐硅繖涓€涓槦鍒楋紝閫犳垚鐨勭粨鏋滄槸浠€涔堝憿锛熷洜涓� go channel 鐨勪綆鏁堢巼銆愭暣浣撲娇鐢ㄤ竴涓� mutex lock銆戦€犳垚娑堣垂鑰� goroutine hang 鍦ㄩ攣绔炰簤涓婏紝褰撶劧鍏剁綉缁滃寘澶勭悊椤哄簭鏇存棤浠庝繚璇併€�
-
-姣旇緝鍧囪 鐨勬晥鏋滃氨鏄� M 鍜� N 閮藉ぇ浜� 1锛宒ubbogo 鐨勭殑 goroutine pool 妯″瀷涓� M 鍜� N 鐨勫彇鍊煎彲浠ヨ嚜琛岄厤缃紝鍏舵晥鏋滄槸姣忎釜 channel 琚� N/M 涓� goroutine 娑堣垂锛岃繖绉嶆ā鍨嬬被浼间簬 kafka 鐨� consumer group锛屽叾浼樼偣鏄吋椤惧鐞嗘晥鐜囧拰閿佸帇鍔涘钩琛★紝鍙互鍋氬埌鎬讳綋灞傞潰鐨勪换鍔″鐞嗗潎琛°€�
-
-## 
-
-**浼樺寲鏀硅繘**
-
-浼樺寲鏀硅繘涓昏浠庝笁涓柟闈㈠叆鎵嬶紝 濡備笅鍥炬墍绀猴細
-
-![](../../pic/arch/dubbo-go-review-and-future-n.jpg)
-
-聽 聽 聽  
-
-1\. 鍐呭瓨姹犮€俫oroutine pool 鏄鐞嗗 CPU 璧勬簮鐨勫垎閰嶏紝鍐呭瓨姹犲氨鏄鐞嗗唴瀛樿祫婧愮殑鍒嗛厤銆傛垜涓汉鍙嶅绾补涓轰簡鐐妧娌℃湁鐩殑鍦板啓鍐呭瓨姹狅紝鍏跺疄 Go 鐨勫唴瀛樼鐞嗚繖鍧楃洰鍓嶄紭鍖栫殑寰堝ソ浜嗐€侴o 璇█鍒濆鐗堟湰鐨勫唴瀛樼鐞嗕娇鐢ㄤ簡璋锋瓕鑷鐨� tcmalloc 搴擄紝杩欎釜搴撴妸搴旂敤閲婃斁鐨勫唴瀛樿嚜宸卞厛缂撳瓨浣忥紝寰呭け鏁堟湡鍚庢墠閲婃斁锛岄偅杩欐牱閫犳垚鐨勭粨鏋滄槸浠€涔堝憿锛熷氨鏄棭鏈熺殑 Go 绋嬪簭鐨勫唴瀛樻垚鏈緢楂樸€傚亣璁剧▼搴忎竴涓� sidecar 绋嬪簭鐨勮祫婧愰檺鍒舵槸鍐呭瓨2G锛孋PU 鏍告暟鏄� 2 鏍革紝鐢ㄨ繖鏍蜂竴涓唴瀛樼鐞嗗簱锛屽唴瀛樼敤瀹屼笉閲婃斁缁欐搷浣滅郴缁燂紝閭d箞娌′汉鏁㈢敤杩欎釜椤圭洰锛屽綋鐒舵渶鏂扮殑 Go 鍐呭瓨绠$悊鍣ㄦ槸缁忚繃瀹屽叏閲嶆瀯鐨勶紝铏界劧涔熷尯鍒嗕笉鍚屽ぇ灏� span 鐨勫唴瀛樺湪 P 绾у埆鍜屽叏灞€绾у埆杩涜缂撳瓨锛屼絾鏄熀鏈笂涓嶇敤鑰冭檻杩欑鍐呭瓨鑶ㄨ儉涓嶅彲鎺х殑闂浜嗐€傞偅涔堜粈涔堟儏鍐典笅浣跨敤鍐呭瓨姹犲憿锛熶綘纭畾浣犵殑涓氬姟鏈変竴浜涘璞℃槸棰戠箒鐨勫鐢ㄥ垯鍙互灏濊瘯浣跨敤銆� 鐩墠澶ч儴鍒嗗唴瀛樻睜鎶€鏈簳灞備緷璧栫殑搴曞骇閮芥槸 sync.Pool锛岃嚜宸卞啓涓€涓篃涓嶉毦銆傝€屼笖 Go 1.13 涔嬪悗鐨� sync.Pool 宸茬粡鍙互鍋氬埌璺� GC span 涓嶉噴鏀剧紦瀛樺璞★紝闈炲父涔嬪ソ銆偮犅�
-
-2\. 瀹氭椂鍣ㄣ€侴o 璇█鏃╂湡瀹氭椂鍣ㄥ洜涓烘暣浣撲娇鐢ㄤ竴鎶婂ぇ閿佺殑缂樻晠鏁堢巼鏋佸樊锛屽綋鐒舵渶鏂扮殑灏辩浉褰撳ソ浜嗭紝閫氳繃姣忎釜 CPU 鏍镐笅涓€涓畾鏃跺櫒鐨勬柟娉曘€愮被浼间簬鍒嗙墖閿併€戝垎鏁d簡绔炰簤鍘嬪姏锛屼絾鏄緢澶氭儏鍐典笅杩樻槸鏈夌珵浜夊帇鍔涳紝濡傛灉瀵规椂闂寸簿搴﹁姹備笉楂樹釜浜哄缓璁湪鑷繁鐨勫簲鐢ㄤ腑鑷繁鍐欎竴涓畝鍗曠殑鏃堕棿杞疄鐜颁竴涓畾鏃跺櫒锛岄噴鏀� CPU 鍘嬪姏銆�
-
-3\. 缃戠粶鍐� buffer 鍚堝苟銆傚啓 buffer 鍚堝苟涓€鑸噰鐢� writev锛屼絾鏄� Go 璇█鐨� writev 鏈夊唴瀛樻硠闇查棶棰橈紝鎴戣繖杈逛竴涓礋璐� MOSN 寮€鍙戠殑鍚屼簨鍏冩€诲彂鐜扮殑銆備粬鍏堢粰 Go 璇█瀹樻柟鎻愪氦浜� PR锛岀劧鍚庡湪 MOSN 涓妸 writev 鎵旀帀鑷繁鍐欎簡涓€涓畝鍗曞ソ鐢ㄧ殑鍐� buffer 鍚堝苟鍙戦€佸疄鐜帮細閫氳繃 for 寰幆 10 娆′粠鍙戦€� channel 涓妸缃戠粶鍖呰鍙栧嚭鏉ョ劧鍚庡悎骞跺彂閫侊紝褰撶劧寰幆涓棿缃戠粶鍙戦€� channel 娌℃湁瓒冲鐨勭綉缁滃寘灏遍€氳繃 \`select-default\` 鍒嗘敮绔嬪嵆閫€鍑哄惊鐜€�
-
-**channel 浣跨敤**
-
-Go 璇█鏄竴涓€傚悎澶勭悊 IO 瀵嗛泦鍨嬩换鍔$殑璇█锛屼笉鎿呴暱澶勭悊 CPU 瀵嗛泦鍨嬩换鍔★紝鍏跺唴瀛橀€氫俊鐨勫熀纭€灏辨槸 channel銆俢hannel 鏁翠綋鐨勫唴瀛樺熀纭€鏄竴涓� ring buffer 鏁扮粍鍜屼竴涓� lock锛屽鍔犲叾浠栦竴浜涜鍐欓€氱煡闃熷垪绛夛紝涔熸槸鍥犱负涓€鎶婂ぇ閿佺殑缂樻晠锛屽垯 buffer 鍨� channel 濡傛灉浣跨敤涓嶅綋鍒欐晥鐜囦笉浼氬緢楂橈紝濡傛瘡涓� channel element 鐨勫唴瀛樹娇鐢ㄨ繃澶с€俢hannel 杩樻湁涓€涓� closed 瀛楁锛岀敤浜庡垽瀹� channel 鐨勫啓鏄惁琚叧闂帀锛孏o 璇█瀵瑰叾鎿嶄綔鏄互鍘熷瓙閿佹柟寮忚繘琛岀殑锛屽緢澶氫汉浠ヨ繖涓瓧娈典负鍩虹杩涜淇″彿閫氱煡锛屽鏋滀娇鐢ㄤ笉褰撳緢鍙兘閫犳垚 for 寰幆 CPU 100% 鐨勯棶棰橈紝鎵€浠ュ湪 for-select 寰幆涓壒鍒璋ㄦ厧浣跨敤锛宒ubbogo 鍦ㄨ繖鏂归潰韪╄繃鍧戙€�
-
-**04**
-
-**鏈嶅姟娌荤悊**
-
-涓嬮潰涓哄ぇ瀹惰涓€涓嬫湇鍔℃不鐞嗭紝璇村埌鏈嶅姟娌荤悊锛屽叾瀹炴渶閲嶈鐨勮繕鏄湇鍔″彂鐜板拰鏈嶅姟娉ㄥ唽锛岃繖鍧楅€昏緫璺� Dubbo 绫讳技锛岃繖娆′笉浣滃睍寮€銆備笅闈富瑕佸寘鍚袱鏂归潰鐨勫唴瀹癸紝鍒嗗埆鏄檺娴佺畻娉曞拰浼橀泤閫€鍑恒€�
-
-**闄愭祦绠楁硶**
-
-闄愭祦绠楁硶棣栧厛闇€瑕佽€冭檻闄愭祦鐨勫璞★紝dubbogo 闇€瑕佽€冭檻 interface 鍜� method銆傚叾娆℃槸闄愭祦鏂规硶锛岄鍏堥渶瑕佽€冭檻鐨勬槸鍗曟満闄愭祦杩樻槸闆嗙兢闄愭祦锛屽崟鏈洪檺娴佺畻娉曞緢澶氾紝璀甯哥敤鐨勫浐瀹氱獥鍙g畻娉曞拰婊戝姩绐楀彛绠楁硶锛屼互鍙婃洿杩涗竴姝ョ殑鑷€傚簲闄愭祦銆傞檺娴佹椂涓€涓噸瑕侀棶棰樺氨鏄檺娴佸弬鏁版槸寰堥毦閰嶇殑锛岃濡傜嚎涓婃湇鍔″埌搴曢渶瑕佷娇鐢ㄥ灏戞満鍣ㄨ祫婧愬悎鐞嗭紝闄愭祦绐楀彛鐨勬椂闂寸獥鍙f椂闀垮簲璇ュ闀垮悎閫傦紝鍏� qps 鍊艰缃灏戝悎閫傚憿锛熻繖閮芥槸 dubbogo 闇€瑕佽В鍐崇殑闂銆傚厛杩涘璋锋瓕鐨� BBR 绠楁硶锛屽彲浠ュ湪褰撳墠鐨勭綉缁滅幆澧冩伓鍖栧墠涓嶆柇灏濊瘯鏀硅繘鐩稿叧鍙傛暟锛岀洿鍒板皾璇曞嚭涓€娈垫椂闂村唴鐨勬渶浣冲弬鏁般€傝繕鏈変竴浜涗笟鍔″舰鎬佷笅鐨勯檺娴侊紝濡傞拡瀵逛細鍛樺拰闈炰細鍛樺垎鍒璁′笉鍚岀殑闄愭祦閾捐矾銆�
-
-Dubbo 鐨勯檺娴佹帴鍙f簮鐮佸涓嬶細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-o.png) 聽 聽 聽
-
-杩欎釜鎺ュ彛鎶借薄鏄潪甯告紓浜殑锛岀涓€涓槸闄愭祦 url锛岀浜屼釜鏈嶅姟璋冪敤銆備笅闈㈡槸 Dubbo 鐨勫浐瀹氱獥鍙i檺娴佹簮鐮侊細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-p.png) 聽 聽 聽
-
-涓婇潰鐨勪唬鐮佸緢鏄庢樉锛�"private final" 鍐冲畾浜� Dubbo 浣跨敤鑰呭彧鑳戒娇鐢ㄦ湡缁欏畾鐨勫浐瀹氱獥鍙i檺娴侀檺绠楁硶锛屾棤娉曟墿灞曘€�
-
-浠ヤ笅鏄� dubbogo 鐨勯檺娴佹帴鍙o細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-q.jpg) 聽 聽 聽
-
-TpsLimiter 鏄檺娴佸璞★紝TpsLimitStrategy 鏄檺娴佺畻娉曪紝RejectedExecutionHandle 鏄檺娴佸姩浣溿€�
-
-鎺ヤ笅鏉ユ槸涓€涓浐瀹氱獥鍙g畻娉曞疄鐜帮細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-r.jpg)聽 聽 聽 聽
-
-涓婂浘鏄� dubbogo 鐨勫浐瀹氱獥鍙g畻娉曞疄鐜帮紝鍏堕潪绾跨▼瀹夊叏锛屽ぇ瀹剁湅涓€涓嬩唬鐮佸氨鍙互浜嗭紝涓嶆帹鑽愬ぇ瀹剁敤銆備笅鍥炬槸 dubbogo 鐨勬粦鍔ㄧ獥鍙g畻娉曞疄鐜帮細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-s.jpg)聽 聽 聽 聽聽
-
-鍏跺熀鏈師鐞嗘槸鐢ㄤ竴涓槦鍒楀瓨鍌ㄤ竴娈垫椂闂村唴鐨勮姹傦紝鐒跺悗鏍规嵁闃熷垪闀垮害鍒ゅ畾鍗冲彲銆�
-
-涓嶇鏄浐瀹氱獥鍙h繕鏄粦鍔ㄧ獥鍙o紝鍏跺垽瀹氱畻娉曠畝鍗曪紝楹荤儲鐨勬槸鍏跺弬鏁拌缃紝濡備笅鍥撅細
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-t.png)聽 聽 聽 聽
-
-鍥哄畾绐楀彛鏃堕暱绮惧害寰堥毦鎺у埗銆傛瘮濡傝闄愭祦涓€绉� QPS 鍊� 1000锛屽墠 100 姣鏉ヤ簡涓€鍗冧釜璇锋眰锛岀劧鍚庡垽瀹氱畻娉曟妸璇锋眰鏀捐繃浜嗭紝鑰屽叾鍚� 900 姣 浠讳綍璇锋眰閮芥棤娉曞鐞嗐€備竴鑸殑澶勭悊鏂规硶鏄妸鏃堕棿绮掑害鏇寸簿缁嗕竴浜涳紝dubbogo 鐨勬椂闂寸獥鍙f渶灏忓崟浣嶆槸涓€姣锛屽垯鐢ㄦ埛鍙互鎶婃椂闂寸獥鍙h瀹氫负 100 姣锛屾€讳綋鏉ヨ涓€娈垫椂闂村唴鏄緢骞崇ǔ鐨勩€備笅闈㈣繖涓浘鏄垜浠ぞ鍖虹殑 commiter 閭撴槑鍐欏畬鍗氬鍙戝嚭鏉ワ紝琛屼笟澶т浆寰俊璇勮濡備笅锛�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-u.png) 聽 聽 聽
-
-鍥句腑绗竴涓棶棰樻槸 qps 鍜� tps 姣忎釜璇锋眰鎴愭湰涓嶅悓锛岃繖涓棶棰樻€庝箞澶勭悊鍛紵涓汉瑙夊緱杩欐槸涓€涓垎绾ч檺娴侀棶棰橈紝鍦ㄥ悓涓€涓湇鍔′笅閽堝涓嶅悓鐨勮姹傚仛涓嶅悓鐨勫垎绾у鐞嗐€傜浜屼釜闂 鈥濋厤缃簡 qps 1000锛屼絾鏄姹傝繃鏉ユ槸10涓囦綘杩樻槸姝烩€滐紝杩欎釜灏遍渶瑕佹洿涓婂眰鐨勮繍缁磋兘鍔涜繘琛屽簲瀵癸紝璀鍒ゅ畾涓烘伓鎰忔祦閲忔敾鍑诲氨搴旇鍦ㄧ綉鍏冲眰鎷︽埅鎺夛紝濡傛灉鏄湇鍔¤兘鍔涗笉琛屽氨鎵╁銆�
-
-閽堝鍒嗙骇闄愭祦锛宒ubbogo 鐩墠灏氭棤娉曞湪鍚屼竴涓繘绋嬪唴瀹屾垚锛岃繖闇€瑕� dubbogo 鐨勯厤缃腑蹇冩洿瀹屽杽浠ュ悗杩涜澶勭悊锛岀敤鎴峰彲浠ラ€氳繃鎼缓涓嶅悓鐨勬湇鍔¢摼璺鐞嗕箣銆傝濡備細鍛�/闈炰細鍛樺垎绾э紝鍚屼竴涓湇鍔¢拡瀵逛笉鍚岀殑浼氬憳绛夌骇鎼缓鐩稿簲鐨勯摼璺紝鍦ㄧ綉鍏冲眰灏卞垽瀹氫竴涓� userID 鏄惁鏄細鍛橈紝鐒跺悗鍙戦€佷笉鍚岀殑閾捐矾銆�
-
-dubbogo 鐨勫崟鏈虹啍鏂槸鍩轰簬 hystrix-go 瀹炵幇鐨勶紝鍏跺垽瀹氬弬鏁版湁鏈€澶у苟鍙戣姹傛暟銆佽秴鏃舵椂闂淬€侀敊璇巼锛涘叾娆℃槸淇濇姢绐楀彛锛屾槸鐔旀柇鏃堕暱锛岀啍鏂涔呭悗杩涜鏈嶅姟鎭㈠锛涚涓変釜鏄繚鎶ゆ€у姩浣滐紝灏辨槸鍦ㄤ繚鎶ゆ椂闂寸獥鍙d箣鍐呮墽琛屼粈涔堟牱鐨勫姩浣滐紝鍏蜂綋瀹炵幇鐢ㄦ埛鑷畾涔夈€�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-v.jpg)聽 聽 聽 聽
-
-**浼橀泤閫€鍑�**
-
-浼橀泤閫€鍑轰篃鏄倱鏄庡悓瀛︾殑澶т綔锛屽彲浠ュ湪缃戠粶涓婃悳鍒扮浉鍏冲崥瀹€€傚疄鐜颁紭闆呴€€鍑虹殑姝ラ鏈夛細
-
-1.  鍛婄煡娉ㄥ唽涓績锛屾湇鍔″嵆灏嗗叧闂紝姝ゆ椂绛夊緟骞跺鐞嗚姹傦紱
-    
-2.  娉ㄥ唽涓績閫氱煡鍒殑瀹㈡埛绔紝鍒殑瀹㈡埛绔仠姝㈠彂閫佹柊璇锋眰锛岀瓑寰呭凡鍙戣姹傜殑鍝嶅簲锛�
-    
-3.  鑺傜偣澶勭悊瀹屾墍鏈夋帴鏀跺埌鐨勮姹傚苟涓旇繑鍥炲搷搴斿悗锛岄噴鏀句綔涓烘湇鍔$鐩稿叧鐨勭粍浠跺拰璧勬簮锛�
-    
-4.  鑺傜偣閲婃斁浣滀负瀹㈡埛绔殑缁勪欢鍜岃祫婧愩€�
-    
-
-聽聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-w.jpg)聽 聽 聽 聽
-
-鎵€浠ユ瘡涓€姝ュ熀鏈笂閮借缁欑▼搴忎竴瀹氱殑鏃堕棿杩涜绛夊緟锛屾墍浠ョ瓑鐨勬椂闂寸獥鍙f槸澶氬皯鍛紵dubbogo 榛樿姣忎釜姝ラ澶ф鑺�2绉掞紝鎬讳綋涓€涓椂闂寸獥鍙f槸10绉掋€�
-
-聽 聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-x.png) 聽 聽 聽
-
-鍩烘湰涓婂湪鍒殑 RPC 妗嗘灦閲岄潰锛屽彲鑳戒笉澶父瑙佸埌杩欑澶勭悊銆�
-
-**05**
-
-**Dubbogo 涓婁簯  
-**
-
-聽聽
-
-dubbogo 浣滀负寰湇鍔℃鏋跺浣曢€傞厤 k8s锛屽浣曢儴缃诧紵dubbogo 鏈韩鏄竴涓� RPC 妗嗘灦锛屼絾鏄叾鍙堟湁浜嗘湇鍔℃不鐞嗚兘鍔涳紝杩欓儴鍒嗚兘鍔涗笌 k8s 鐨勯儴鍒嗚兘鍔涙湁浜涢噸鍚堬紝涓嶅彲鑳戒负浜嗛€傞厤 k8s 灏卞交搴曟姏寮冦€傜洰鍓� Dubbo 瀹樻柟涔熸病鏈夊緢濂界殑瑙e喅鏂规渚涙垜浠弬鑰冿紝鎵€浠ヨ繖閲屾垜浠� dubbogo 鍏堢粰鍑轰竴涓畝鍗曠殑甯歌瘑鎬х殑瀹炶返鏂规銆備笅闈㈠厛鍒嗘瀽涓� dubbogo 鐨� interface/service 鍜� k8s service 涓よ€呯洿鎺ョ殑宸埆銆�
-
-![](../../pic/arch/dubbo-go-review-and-future-y.jpg)
-
-聽 聽 聽  
-
-k8s service 鏄澶氬叿鏈夌浉鍚屾湇鍔¤兘鍔� pod 璧勬簮鐨勮仛鍚堬紝瀹冭嚜宸辩殑璐熻浇鍧囪 绠楁硶浠ュ強鍋ュ悍妫€鏌ョ瓑鍔熻兘銆傝€� Dubbo 閲岄潰鐨� interface/service 浠呬粎鏄湇鍔� provider 闆嗗悎锛屾湇鍔℃不鐞嗚兘鍔涗緷璧� dubbo 鐨� directory銆乺outer 鍜� loadbalace 绛夐澶栫殑鍔熻兘妯″潡銆傚苟涓擠ubbo 鏈嶅姟鍖哄垎 group/version锛岃繕鏈� provider銆乧onsumer 瑙掕壊绛夌瓑銆侱ubbo interface/service 鏃犳硶涓� k8s service 瀵规爣锛孌ubbo interface/service 鍜屽叾鏁翠綋鏈嶅姟娌荤悊鑳藉姏鎵嶈兘瀵规爣鎴� k8s service銆備簩鑰呭樊寮傝繖涔堝ぇ锛屽浣曞皢 dubbo 闆嗘垚鍒� k8s 涓憿锛�
-
-k8s 鎻愪緵浜� pod/endpoint/service 涓夊眰缁村害鐨勮祫婧愩€傜畝鍗曠殑鍋氭硶锛屽彲浠ラ€氳繃鐩戝惉pod/endpoint/service 涓夊眰缁村害璧勬簮鐨勪簨浠讹紝浣滃嚭鍚堢悊鐨勫鐞嗕互杈惧埌鏈嶅姟娌荤悊鐨勭洰鐨勩€傜洰鍓嶆垜浠ぞ鍖烘垚鍛樼帇缈旀彁浜や簡涓€涓熀浜庣洃鍚� pod 浜嬩欢鏉ュ疄鐜版湇鍔℃不鐞嗙殑 pr锛屼紭鐐瑰氨鏄笉闇€瑕佸紩鍏ラ澶栫粍浠讹紝閫氳繃鐩戝惉 k8s 涓渶缁嗙矑搴﹁祫婧� pod 鐨勪簨浠讹紝閫氳繃 k8s apiserver 鑾峰彇 pod 鍒楄〃锛屽彧鏄€氳繃 apiserver 浣跨敤 etcd 鐨勬湇鍔℃敞鍐屽拰鏈嶅姟閫氱煡鑳藉姏锛屽叾浠栫户缁娇鐢� Dubbo 鐨勬湇鍔℃不鐞嗚兘鍔涖€傚叾浼樼偣鏄ā鍨嬬畝鍗曪紝涓嶉渶瑕佸疄鐜伴澶栫殑妯″潡锛屽嚑涔庝笉闇€瑕佸 Dubbo 浣滃嚭鏀瑰姩锛岀己鐐瑰氨鏄叾瀹炴棤娉曚娇鐢� k8s 鑷繁鐨勫仴搴锋鏌ヨ兘鍔涳紝闇€瑕佽嚜宸辩洃鍚緢缁嗙矑搴︾殑 pod 浜嬩欢鏉ョ患鍚堝鐞嗘湇鍔″仴搴枫€佹湇鍔′笂涓嬬嚎绛夋儏鍐碉紝鑰屼笖杩樺瓨鍦ㄦ病鏈変娇鐢� k8s service 鐨勪簨浠剁洃鍚兘鍔涳紝姣忎釜 consumer 鍐椾綑鐩戝惉涓€浜涗笉蹇呰鐩戝惉鐨勪簨浠讹紝鍔犲ぇ apiserver 鐨勭綉缁滃帇鍔涖€傛墍浠ュ叾瀹炵幇鐩墠鏉ョ湅鍙兘杩樹笉鏄渶浼樿В锛屼笌 k8s 寤鸿鐨刼perator 鏂瑰紡涔熸湁涓€瀹氱殑鑳岀銆傜ぞ鍖虹洰鍓嶈繕鍦ㄨ璁烘柊鏂规锛屽姹� k8s 鏈€浼樿В锛屽ぇ閮ㄥ垎浜哄€惧悜浜庨噰鐢� k8s 绀惧尯鎺ㄨ崘鐨� operator 鏂规锛屼絾鏄叾寮€鍙戝拰绾夸笂缁存姢鎴愭湰灏变笂鍗囦簡銆傚悗闈袱绉嶆柟寮忎細鍏卞瓨锛屼娇鐢ㄨ€呰浠佽鏅恒€�
-
-**06**
-
-**浜掕瀺浜掗€�**
-
-聽聽
-
-鍏充簬浜掕瀺浜掗€氾紝Dubbo 鏄庡勾鏈変釜涓変釜閲嶈鐩爣锛屽叾涓竴涓洰鏍囨槸涓庡闈㈢殑寰湇鍔$敓鎬佽繘琛屼簰鑱斾簰閫氾紝姣斿璇磋窡 grpc 浜掗€氥€傜洰鍓� dubbo 鐨� grpc 鐨勮В鍐虫柟妗堝凡缁忓紑鏀惧嚭鏉ワ紝dubbogo 涓� grpc 浜掗€氱殑寮€鍙戝伐浣滀篃鍑犺繎瀹屾垚銆�
-
-涓嬮潰宸﹁竟 dubbogo 鐨勪唬鐮佺敓鎴愬櫒宸ュ叿鏍规嵁 grpc 鐨� pb 鏈嶅姟瀹氫箟鏂囦欢鑷姩鐢熸垚鐨勯€傞厤 dubbogo 鐨勪唬鐮侊紝鍙宠竟鏄搴旂殑浣跨敤绀轰緥銆備笉鍚屼簬 k8s service 鐨勫鏉傛€э紝grpc 鏁翠綋浠呬粎鍏锋湁 rpc 鑳藉姏锛屾病鏈夋湇鍔℃不鐞嗚兘鍔涳紝鎵€浠ュ師濮嬬殑 grpc 灏卞彲浠ュ緢濂界殑宓屽叆鍒� dubbogo 閲岄潰锛実rpc server 鐨� methodhandler 瀵规垜浠� dubbogo 鏉ヨ灏辨槸 dubbo invoker锛実rpc 鐨勪竴浜涚浉鍏崇殑鎺ュ彛鐩存帴璺熸垜浠殑鎺ュ彛宓屽璧锋潵锛屼袱涓敓鎬佸氨瀵规帴璧锋潵浜嗐€�
-
-聽聽 聽 聽![](../../pic/arch/dubbo-go-review-and-future-z.jpg)
-
-**07**
-
-**灞曟湜鏈潵  
-**
-
- 
-
-鏈€鍚庡氨鏄睍鏈涙湭鏉ワ紝涔熷氨鏄槑骞寸殑瑙勫垝銆�
-
-![](../../pic/arch/dubbo-go-review-and-future-0.jpg)
-
-聽 聽 聽  
-
-鏄庡勾鎴戜滑灏嗕細寰堝揩瀹炵幇 dubbo router銆傜ぞ鍖哄湪 8鏈堜唤宸茬粡瀹炵幇浜� router 鍔熻兘闇€瑕佺殑搴曞眰鐨勭畻娉曟ā鍧楋紝浣嗘槸褰撴椂閰嶇疆涓績涓嬪彂鐩稿叧鐨勫弬鏁扮殑鑳藉姏杩樹笉鏄緢寮猴紝鎵€浠ユ病鏈夋渶缁堝畬鎴愩€傛渶杩戞湇鍔℃不鐞嗛厤缃垰鍒氭敮鎸佷簡 zookeeper 鍜� apollo锛岄璁″緢蹇氨鍙互灏� router 鐨勫弬鏁伴€氳繃閰嶇疆涓績涓嬪彂鐨勫舰寮忔敮鎸佹帀銆傚彟澶栵紝杩樻湁 tracing锛屾垜浠皢浼氬紩鍏ョぞ鍖轰富娴佺殑 tracing 鏂规锛屼互 opentracing 涓烘爣鍑嗭紝鍘婚泦鎴� opentracing 寮€婧愮敓鎬佺殑鐩稿叧鑳藉姏銆傜涓変釜鏄� kubernetes operator锛岃繖涓氨鏄垰鎵嶈鐨� K8s 鐨勬湇鍔¤皟鐢紝鎴戜滑浼氬熀浜� operator 鐨勬柟妗堝仛涓€鐗堟柊鐨勫熀浜� k8s 鐨勬敞鍐屼腑蹇冨疄鐜般€傛渶鍚庡氨鏄簯鍘熺敓鐢熸€佺殑铻嶅叆锛屽嵆涓� istio 鐨勯泦鎴愶紝dubbogo 灏嗕細鎴愪负 dubbo 鍦� service mesh 鐢熸€佷腑鐨勯噸瑕佽鑹层€�
-
-鐩墠 dubbogo 椤圭洰锛屼粖骞存槸鑳� run 璧锋潵锛岃川閲忔柟闈㈣繕鏈夊緢澶氬伐浣滆鍋氾紝鍔熻兘鍩烘湰涓婂埌鏄庡勾鍙笌 dubbo 2.7 琛ラ綈锛岀洰鍓嶅凡缁忓熀鏈鐢ㄣ€傜洰鍓嶈惤鍦板疄璺电殑鏄� 3 涓瘮杈冨吀鍨嬬殑鍏徃锛屼竴涓槸鎼虹▼锛岃繕鏈変竴涓槸娑傞甫鏅鸿兘銆�
-
-dubbogo 鏈韩鏄竴涓� go 璇█椤圭洰锛屼篃鏈熷緟涓庡叾浠� go 绀惧尯鐨勬寚姝f垨鑰呴渶姹傦紝涓€璧锋垚闀裤€�
\ No newline at end of file
diff --git a/doc/md/config-center/how-to-implement-remote-configuration-management-in-dubbo-go.md b/doc/md/config-center/how-to-implement-remote-configuration-management-in-dubbo-go.md
deleted file mode 100644
index 55356f286dcc903635321f18df1ce779d934167e..0000000000000000000000000000000000000000
--- a/doc/md/config-center/how-to-implement-remote-configuration-management-in-dubbo-go.md
+++ /dev/null
@@ -1,274 +0,0 @@
-# [dubbo-go 涓浣曞疄鐜拌繙绋嬮厤缃鐞嗭紵](https://blog.csdn.net/weixin_39860915/article/details/104548947)
-
-2020-02-27 20:00:00
-
-涔嬪墠鍦� Apache/dubbo-go锛堜互涓嬬畝绉� dubbo-go 锛夌ぞ鍖轰腑锛屾湁鍚屽甯屾湜閰嶇疆鏂囦欢涓嶄粎鍙互鏀句簬鏈湴锛岃繕鍙互鏀句簬閰嶇疆绠$悊涓績閲屻€傞偅涔堬紝鏀惧湪鏈湴鍜岄厤缃鐞嗕腑蹇冪┒绔熸湁鍝簺涓嶄竴鏍峰憿锛�
-
-鏀惧湪鏈湴锛屾瘡娆℃洿鏂伴渶瑕侀噸鍚紝閰嶇疆鏂囦欢绠$悊鍥伴毦锛屾棤娉曞仛鍒板疄鏃舵洿鏂板嵆鍒荤敓鏁堛€傛澶栵紝鏈湴鏂囦欢杩樹緷璧栦汉宸ョ増鏈帶鍒讹紝鍦ㄥ井鏈嶅姟鐨勫満鏅笅锛屽ぇ澶х殑澧炲姞浜嗚繍缁寸殑鎴愭湰涓庨毦搴︺€�
-
-鑰岄厤缃鐞嗕腑蹇冩彁渚涗簡缁熶竴鐨勯厤缃枃浠剁鐞嗭紝鏀寔鏂囦欢鏇存柊銆佸疄鏃跺悓姝ャ€佺粺涓€鐗堟湰鎺у埗銆佹潈闄愮鐞嗙瓑鍔熻兘銆�
-
-# **鐩爣**
-
-* * *
-
-鍩轰簬浠ヤ笂鍑犱釜鑳屾櫙锛屽彲浠ユ€荤粨鍑轰互涓�**鐩爣**
-
-*   涓� Dubbo 鐜版湁鐨勯厤缃腑蹇冨唴鐨勯厤缃枃浠跺吋瀹癸紝闄嶄綆鏂板璇█鏍堢殑瀛︿範鎴愭湰锛�
-    
-*   鏀寔澶氱閰嶇疆鏂囦欢鏍煎紡锛�
-    
-*   鏀寔涓绘祦閰嶇疆涓績锛岄€傚簲涓嶄竴鏍风殑浣跨敤鍦烘櫙锛屽疄鐜伴珮鎵╁睍鐨勯厤缃笅鍙戯紱
-    
-
-# **閰嶇疆涓績**
-
-* * *
-
-閰嶇疆涓績鍦� dubbo-go 涓富瑕佹壙鎷呬互涓嬪満鏅殑鑱岃矗锛�
-
-1銆佷綔涓哄閮ㄥ寲閰嶇疆涓績锛屽嵆瀛樺偍 dubbo.properties 閰嶇疆鏂囦欢锛屾鏃讹紝key 鍊奸€氬父涓烘枃浠跺悕濡� dubbo.properties , value 鍒欎负閰嶇疆鏂囦欢鍐呭銆�
-
-2銆佸瓨鍌ㄥ崟涓厤缃」锛屽鍚勭寮€鍏抽」銆佸父閲忓€肩瓑銆�
-
-3銆佸瓨鍌ㄦ湇鍔℃不鐞嗚鍒欙紝姝ゆ椂 key 閫氬父鎸夌収 鈥滄湇鍔″悕 + 瑙勫垯绫诲瀷鈥� 鐨勬牸寮忔潵缁勭粐锛岃€� value 鍒欎负鍏蜂綋鐨勬不鐞嗚鍒欍€�
-
-灏辩洰鍓嶈€岃█锛宒ubbo-go 棣栬鏀寔鐨勬槸 Dubbo 涓敮鎸佺殑寮€婧愰厤缃腑蹇冿紝鍖呮嫭锛�
-
-1銆丄pollo 锛氭惡绋嬫鏋堕儴闂ㄧ爺鍙戠殑鍒嗗竷寮忛厤缃腑蹇冿紝鑳藉闆嗕腑鍖栫鐞嗗簲鐢ㄤ笉鍚岀幆澧冦€佷笉鍚岄泦缇ょ殑閰嶇疆锛岄厤缃慨鏀瑰悗鑳藉瀹炴椂鎺ㄩ€佸埌搴旂敤绔紝骞朵笖鍏峰瑙勮寖鐨勬潈闄愩€佹祦绋嬫不鐞嗙瓑鐗规€э紝閫傜敤浜庡井鏈嶅姟閰嶇疆绠$悊鍦烘櫙銆�
-
-2銆乑ooKeeper 锛氫竴涓垎甯冨紡鐨勶紝寮€鏀炬簮鐮佺殑鍒嗗竷寮忓簲鐢ㄧ▼搴忓崗璋冩湇鍔★紝鏄� Google 鐨� Chubby 涓€涓紑婧愮殑瀹炵幇锛屾槸 Hadoop 鍜� Hbase 鐨勯噸瑕佺粍浠躲€傚畠鏄竴涓负鍒嗗竷寮忓簲鐢ㄦ彁渚涗竴鑷存€ф湇鍔$殑杞欢锛屾彁渚涚殑鍔熻兘鍖呮嫭锛氶厤缃淮鎶ゃ€佸煙鍚嶆湇鍔°€佸垎甯冨紡鍚屾銆佺粍鏈嶅姟绛夈€�
-
-3銆丯acos : Alibaba 寮€婧愮殑閰嶇疆绠$悊缁勪欢锛屾彁渚涗簡涓€缁勭畝鍗曟槗鐢ㄧ殑鐗规€ч泦锛屽府鍔╂偍瀹炵幇鍔ㄦ€佹湇鍔″彂鐜般€佹湇鍔¢厤缃鐞嗐€佹湇鍔″強娴侀噺绠$悊銆�
-
-鑰岃€冭檻鍒版煇浜涘叕鍙稿唴閮ㄦ湁鑷韩鐨勭爺鍙戠殑閰嶇疆涓績锛屽張鎴栬€呭綋鍓嶆祦琛岃€� Dubbo 灏氭湭鏀寔鐨勯厤缃腑蹇冿紝濡� etcd锛屾垜浠殑鏍稿績鍦ㄤ簬璁捐涓€濂楁満鍒讹紝鍏佽鎴戜滑锛屼篃鍖呮嫭鐢ㄦ埛锛屽彲浠ラ€氳繃鎵╁睍鎺ュ彛鏂扮殑瀹炵幇锛屾潵蹇€熸帴鍏ヤ笉鍚岀殑閰嶇疆涓績銆�
-
-閭e湪 dubbo-go 涓┒绔熸€庝箞瀹炵幇鍛紵鎴戜滑鐨勭瓟妗堟槸锛�**鍩轰簬鍔ㄦ€佺殑鎻掍欢鏈哄埗鍦ㄥ惎鍔ㄦ椂鎸夐渶鍔犺浇閰嶇疆涓績鐨勪笉鍚屽疄鐜般€�**
-
-瀹炵幇璇ラ儴鍒嗗姛鑳芥斁缃簬涓€涓嫭绔嬬殑瀛愰」鐩腑锛岃锛�
-
-_https://github.com/apache/dubbo-go/tree/master/config\_center_
-
-## **dubbo-go 璁捐**
-
-鍘熼€昏緫涓猴細鍚姩鏃惰鍙栨湰鍦伴厤缃枃浠讹紝灏嗗叾鍔犺浇杩涘唴瀛橈紝閫氳繃閰嶇疆鏂囦欢涓殑閰嶇疆璇诲彇娉ㄥ唽涓績鐨勪俊鎭幏鍙栨湇鍔℃彁渚涜€咃紝娉ㄥ唽鏈嶅姟娑堣垂鑰呫€�
-
-鏈変簺璇昏€呬細鏈夌偣鍥版儜锛屼笉鏄濂戒簡浣跨敤閰嶇疆涓績鐨勶紝涓轰粈涔堢幇鍦ㄥ張瑕佽鍙栨湰鍦伴厤缃憿锛熺瓟妗堝氨鏄紝璇诲彇鐨勮繖閮ㄥ垎淇℃伅鍒嗘垚涓ら儴鍒嗭細
-
-*   浣跨敤浠€涔堜綔涓洪厤缃腑蹇冿紱
-    
-*   璇ラ厤缃腑蹇冪殑鍏冩暟鎹紝姣斿璇翠娇鐢� zookeeper 浣滀负閰嶇疆涓績锛岄偅涔� zookeeper 鐨勯摼鎺ヤ俊鎭氨鏄厓鏁版嵁锛屾瘯绔熸垜浠彧鏈夊湪鐭ラ亾浜嗛摼鎺ヤ俊鎭箣鍚庢墠鑳借繛涓� zookeeper锛�
-    
-
-鍦ㄦ敼閫犵殑鏃跺€欙紝闇€瑕佽€冭檻浠ヤ笅鐨勯棶棰橈細
-
-**1銆佸浣曞疄鐜版敮鎸佸涓厤缃腑蹇冿紵濡備綍瀹炵幇鎸夐渶鍔犺浇锛�**
-
-閫氳繃鎶借薄 DynamicConfiguration 璁╁紑鍙戣€呭彲浠ュ揩閫熸敮鎸佸涓厤缃腑蹇冦€備娇鐢ㄨ€呭鍏ユ寚瀹氱殑缁勪欢鍖呭悗锛屽湪鍚姩闃舵灏嗛渶瑕佺殑缁勪欢鍔犺浇杩涘唴瀛樹腑锛屼互渚跨粰绋嬪簭鎸夐渶璋冪敤锛屽涓嬪浘缁胯壊閮ㄥ垎銆�
-
-**2銆侀厤缃腑蹇冪殑閰嶇疆鍔犺浇闃舵鍦ㄤ粈涔堟椂鍊欙紵**
-
-搴斿湪璇诲彇閰嶇疆鏂囦欢闃舵鍚庯紝璇诲彇骞惰В鏋愭湰鍦伴厤缃枃浠朵腑閰嶇疆涓績淇℃伅銆傚垵濮嬪寲閰嶇疆涓績閾炬帴锛岃鍙柭�/dubbo/config/dubbo/dubbo.properties 涓� /dubbo/config/dubbo/搴旂敤鍚�/dubbo.properties 锛屽苟灏嗗叾鍔犺浇鍒板唴瀛樹箣涓鐩栧師鏈夐厤缃紝鐩戝惉鍏跺彉鏇达紝瀹炴椂鏇存柊鑷冲唴瀛橈紝濡備笅鍥捐摑鑹查儴鍒�:
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-a.jpg "configcenter-class.jpg")
-
-### **ConfigCenterFactory**
-
-浣跨敤鑰呭姞杞藉搴旈厤缃腑蹇冩ā鍧楀悗锛屽湪鍒濆鍖栭樁娈靛姞鍏ュ悇閰嶇疆涓績妯″潡寰€鍏朵腑娉ㄥ唽鍏跺垵濮嬪寲绫汇€�
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-b.png "configCenterFactory.png")
-
-### **DynamicConfigurationFactory**
-
-鏁翠釜鍔ㄦ€侀厤缃腑蹇冪殑鍏抽敭鐐瑰氨鍦� DynamicConfigurationFactory 涓婏紝鍏朵腑閫氳繃瑙f瀽鍐呴儴鑷畾涔夌殑 URL 锛岃幏鍙栧叾鍗忚绫诲瀷锛屽弽灏勫叾鍙傛暟锛岀敤浜庡垱寤洪厤缃腑蹇冪殑閾炬帴銆�
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-c.png "configurationFactory.png")
-
-濡傦細
-
-閰嶇疆鏂囦欢涓厤缃細
-
-```css
-config_center:
-  protocol: zookeeper
-  address: 127.0.0.1:2181
-  namespace: test
-```
-
-dubbo-go 鍐呴儴浼氳В鏋愪负锛�
-
-```javascript
-zookeeper://127.0.0.1:2181?namespace=test
-```
-
-鍦ㄥ唴閮ㄤ紶閫掞紝鐢ㄤ簬鍒濆鍖栭厤缃腑蹇冮摼鎺ャ€�  
-
-**PS锛�**鍦� dubbo-go 涓埌澶勫彲瑙佽繖绉嶅唴閮ㄥ崗璁紝閫忓交鐞嗚В杩欎釜鍐呴儴鍗忚瀵归槄璇� dubbo-go 浠g爜寰堟湁甯姪銆�
-
-### **DynamicConfiguration**
-
-璇ユ帴鍙h瀹氫簡鍚勪釜閰嶇疆涓績闇€瑕佸疄鐜扮殑鍔熻兘锛�
-
-*   閰嶇疆鏁版嵁鍙嶅簭鍒楀寲鏂瑰紡锛氱洰鍓嶅彧鏈� Properties 杞崲鍣紝鍙傝锛欴efaultConfigurationParser 銆�
-    
-*   澧炲姞鐩戝惉鍣細鐢ㄤ簬澧炲姞鐩戝惉鏁版嵁鍙樺寲鍚庡鍔犵壒瀹氶€昏緫锛堝彈闄愪簬閰嶇疆涓績 client 绔疄鐜帮級銆�
-    
-*   鍒犻櫎鐩戝惉鍣細鍒犻櫎宸叉湁鐩戝惉鍣紙鍙楅檺浜庨厤缃腑蹇� client 绔疄鐜帮紝鐩墠鎵€鐭� nacos client 娌℃湁鎻愪緵璇ユ柟娉曪級銆�
-    
-*   鑾峰彇璺敱閰嶇疆锛氳幏鍙栬矾鐢辫〃閰嶇疆銆�
-    
-*   鑾峰彇搴旂敤绾ч厤缃細鑾峰彇搴旂敤灞傜骇閰嶇疆锛屽锛氬崗璁被鍨嬮厤缃瓑銆�
-    
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-d.png "dynamicConfiguration.png")
-
-## **瀹炵幇**
-
-* * *
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-e.png "design.jpg")
-
-浼樺厛鑰冭檻涓庣幇鏈� Dubbo 璁捐鍏煎锛屼粠鑰岄檷浣庝娇鐢ㄨ€呯殑瀛︿範鎴愭湰锛宒ubbo-admin 浣滀负鏈嶅姟鎻愪緵鑰呭疄鐜板簲鐢ㄧ骇閰嶇疆绠$悊锛� dubbo-go 浣滀负娑堣垂绔疄鐜伴厤缃笅鍙戠鐞嗗姛鑳姐€備笅闈互 ZooKeeper 涓轰緥锛屽鏈嶅姟鎻愪緵鑰呬笌鏈嶅姟娑堣垂鑰呰繘琛屾暣浣撴祦绋嬪垎鏋愩€�
-
-### **濡備綍瀛樺偍閰嶇疆绠$悊**
-
-dubbo-admin 閰嶇疆绠$悊涓鍔� global 閰嶇疆锛孼ooKeeper 涓細鑷姩鐢熸垚鍏跺搴旈厤缃妭鐐癸紝鍐呭鍧囦负 dubbo-admin 涓缃殑閰嶇疆銆�
-
-1銆�/dubbo/config/dubbo/dubbo.properties 瀵瑰簲鍏ㄥ眬閰嶇疆鏂囦欢銆�
-
-2銆�/dubbo/config/dubbo/ 搴旂敤鍚� /dubbo.properties 瀵瑰簲鎸囧畾搴旂敤閰嶇疆鏂囦欢銆�
-
-#### **鑺傜偣璺緞**
-
-#### ![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-f.png "key-struct.jpg")
-
-涓婂浘灞曠ず浜� dubbo.properties 鏂囦欢鍦� ZooKeeper 鍜� Apollo 涓殑瀛樺偍缁撴瀯锛�
-
-**ZooKeeper**
-
-*   鍛藉悕绌洪棿 namespace 閮戒负锛欴ubbo
-    
-*   鍒嗙粍 group 锛氬叏灞€绾у埆涓� dubbo , 鎵€鏈夊簲鐢ㄥ叡浜紱搴旂敤绾у埆涓哄簲鐢ㄥ悕 demo-provider 锛屽彧瀵硅搴旂敤鐢熸晥
-    
-*   key : dubbo.properties
-    
-
-**Apollo**
-
-*   app\_id : 鑷敱鎸囧畾锛岄粯璁わ細dubbo 锛屾渶濂戒笌 zookeeper 聽namespace 涓€鑷�
-    
-*   cluster : 鑷敱鎸囧畾锛屾渶濂戒笌 zookeeper group 涓€鑷�
-    
-*   鍛藉悕绌洪棿 namespace : dubbo.properties
-    
-
-ZooKeeper 涓� Apollo 鏈€澶х殑涓嶄竴鏍峰氨鍦ㄤ簬 dubbo.properties 鎵€鍦ㄧ殑鑺傜偣銆�
-
-### **瀹炵幇閰嶇疆绠$悊涓績鏀寔**
-
-浠� Apollo 涓轰緥锛岀畝鍗曠殑浠嬬粛锛屽浣曞疄鐜版敮鎸佷竴涓柊鐨勯厤缃鐞嗕腑蹇冦€�
-
-#### **閫夋嫨閰嶇疆绠$悊涓績 Client / SDK**
-
-鏈緥涓娇鐢ㄧ殑 Apollo Go Client 涓猴細https://github.com/zouyx/agollo 銆�  
-
-**PS:** 濡傛病鎵惧埌锛岃嚜宸卞疄鐜颁篃鏄彲浠ョ殑鍝︺€�
-
-#### **鑺傜偣璺緞**
-
-鍥犱负姣忎釜閰嶇疆绠$悊涓績鐨勫瓨鍌ㄧ粨鏋勫悇鏈夌壒鐐癸紝瀵艰嚧 Dubbo 鍦ㄤ娇鐢ㄥ閮ㄩ厤缃鐞嗕腑蹇冩椂锛屽瓨鍌ㄩ厤缃妭鐐圭殑缁撴瀯涓嶄竴鏍枫€傚湪 dubbo-configcenter 鎵惧埌甯屾湜鏀寔鐨勯厤缃鐞嗕腑蹇冿紝鑰屾湰渚嬩腑 Apollo 鍒欏湪 ApolloDynamicConfiguration.java 銆�
-
-娉ㄩ噴涓〃鏄庯紝Apollo namespace = governance (governance .properties) 鐢ㄤ簬娌荤悊瑙勫垯锛宯amespace = dubbo (dubbo.properties) 鐢ㄤ簬閰嶇疆鏂囦欢銆�
-
-#### **瀹炵幇聽DynamicConfiguration**
-
-鏂板缓鍒涘缓瀹㈡埛绔柟娉曪紝鏈€濂藉鎴风淇濇寔涓哄崟渚嬨€�
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-g.png "image.png")
-
-浠ヤ笅涓哄繀椤诲疄鐜扮殑鏂规硶锛屼互涓嬫柟娉曠敤浜庤幏鍙栭厤缃腑蹇冮厤缃€�
-
-*   GetInternalProperty锛氬湪閰嶇疆鏂囦欢锛圓pollo 涓� namespace锛変腑锛屾牴鎹� key 鑾峰彇瀵瑰簲 value锛�
-    
-*   GetRule锛氳幏鍙栨不鐞嗛厤缃枃浠讹紙Apollo 涓� namespace锛夛紱
-    
-*   GetProperties锛氳幏鍙栨暣涓厤缃枃浠讹紙Apollo 涓� namespace锛夛紱
-    
-
-鍙€夋嫨瀹炵幇鐨勬柟娉曪紝濡備笉瀹炵幇锛屽垯涓嶈兘鍔ㄦ€佹洿鏂� dubbo-go 涓厤缃俊鎭€�
-
-*   RemoveListener
-    
-*   AddListener
-    
-
-鑰� Parser & SetParser 浣跨敤榛樿瀹炵幇鍗冲彲锛岄粯璁や负 Properties 杞崲鍣ㄣ€�
-
-鏇村淇℃伅锛屽弬鑰冿細dubbo-go-apollo 锛岃鎯呭弬鑰冿細
-
-_https://github.com/apache/dubbo-go/tree/master/config\_center/apollo_
-
-## **浣跨敤鏂规硶**
-
-浠庝笂闈㈢殑璁捐閲岄潰锛屼篃鑳藉ぇ姒傜寽鍒版€庝箞浣跨敤浜嗭細
-
-![](../../pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-h.png "zookeeper-usercase.png")
-
-寰堟樉鐒讹紝浣跨敤閰嶇疆涓績骞朵笉澶嶆潅锛屽彧闇€瑕佹妸瀵瑰簲鐨勪緷璧栧紩鍏ヨ繘鏉ャ€傚湪鍖呭垵濮嬪寲鐨勬椂鍊欙紝浼氬垱寤哄嚭鏉ュ搴旂殑閰嶇疆涓績鐨勫疄鐜般€傛瘮濡傝鍔犺浇 ZooKeeper 鎴栬€� Apollo 浣滀负閰嶇疆涓績锛�
-
-**ZooKeeper**
-
-```nginx
-_ "github.com/apache/dubbo-go/config_center/zookeeper"
-```
-
-**Apollo**
-
-```nginx
-_ "github.com/apache/dubbo-go/config_center/apollo"
-```
-
-褰撶劧浠呬粎鍔犺浇杩樹笉澶燂紝姣斿璇磋櫧鐒舵垜鍔犺浇浜� zookeeper锛屼絾鏄垜杩橀渶瑕佺煡閬撴€庝箞杩炰笂杩欎釜閰嶇疆涓績锛屽嵆鍓嶉潰鎻愬埌鐨勯厤缃腑蹇冪殑鍏冩暟鎹紝杩欓儴鍒嗕俊鎭槸闇€瑕佸湪鏈湴閰嶇疆鍑烘潵鐨勩€傛瘮濡傝锛�
-
-**ZooKeeper**
-
-```css
-config_center:
-  protocol: "zookeeper"
-  address: "127.0.0.1:2181"
-```
-
-**Apollo**  
-
-濡傛灉闇€瑕佷娇鐢� Apollo 浣滀负閰嶇疆涓績锛岃鎻愬墠鍒涘缓 namespace: dubbo.properties锛岀敤浜庨厤缃鐞嗐€�
-
-```properties
-config_center:
-  protocol: "apollo"
-  address: "127.0.0.1:8070"
-  app_id: test_app
-  cluster: dev
-```
-
-# **鎬荤粨**
-
-* * *
-
-鏇村姞鍏蜂綋鐨勫疄鐜帮紝鎴戝氨涓嶈缁嗚杩帮紝澶у鍙互鍘荤湅婧愮爜锛屾杩庡ぇ瀹舵寔缁叧娉紝鎴栬€呰础鐚唬鐮併€�
-
-鏁翠釜閰嶇疆涓績鐨勫姛鑳斤紝楹婚泙铏藉皬锛屼絾浜旇剰淇卞叏銆傜洰鍓嶅苟涓嶇畻鏄崄鍒嗗畬鍠勶紝浣嗘槸鏁翠釜妗嗘灦灞傞潰涓婃潵璇达紝鏄蛋鍦ㄤ簡姝g‘鐨勮矾涓娿€備粠鎵╁睍鎬ф潵璇达紝鏄瘮杈冧究鍒┿€傜洰鍓嶆敮鎸佺殑閰嶇疆涓績杩樹笉澶熶赴瀵岋紝鍙湁 ZooKeeper 涓� Apollo 锛屾敮鎸佺殑閰嶇疆鏂囦欢鏍煎紡涔熷彧鏈� properties 锛岃櫧鐒惰兘婊¤冻鍩烘湰浣跨敤鍦烘櫙锛岃窛绂诲畬鍠勮繕鏈夎繕闀胯繙鐨勮矾銆�
-
-**鏈潵璁″垝锛�**
-
-*   Nacos锛堢瓑寰呭彂甯� 锛�
-    
-*   etcd锛堟鍦ㄥ紑鍙戯級
-    
-*   consul锛堟湭鏀寔锛�
-    
-*   涓板瘜鐨勬枃浠堕厤缃牸寮忥紝濡傦細yml , xml 绛�
-    
-
-**鏈枃浣滆€咃細**閭规瘏璐わ紝Github ID @zouyx锛屽紑婧愮埍濂借€咃紝灏辫亴浜� SheIn 渚涘簲閾鹃儴闂紝璐熻矗渚涘簲閾惧紑鏀惧钩鍙般€�
-
-鏈枃缂╃暐鍥撅細icon by 鐢ㄦ埛7388492991
\ No newline at end of file
diff --git a/doc/md/course/dubbo-go-application-dimension-registration-model.md b/doc/md/course/dubbo-go-application-dimension-registration-model.md
deleted file mode 100644
index 62e4546eac33400f844ff17bbee7ac19dab9e390..0000000000000000000000000000000000000000
--- a/doc/md/course/dubbo-go-application-dimension-registration-model.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# [Dubbo-go 搴旂敤缁村害娉ㄥ唽妯″瀷](https://xie.infoq.cn/article/a6a7e05f8a0d26c5f9f9bbd85)
-
-**鏈枃浣滆€咃細閭撴槑(Github flycash)钂嬭秴(Github @Patrick0308)**
-
-Dubbo 3.0 灏嗚嚦銆傚叾鏈€閲嶈鐨勪竴鐐瑰氨鏄湇鍔¤嚜鐪侊紝鍏跺熀纭€鍗虫槸搴旂敤缁村害鐨勬敞鍐屾ā鍨嬶紝浣滀负鐩墠涓� Dubbo 鍦ㄥ姛鑳戒笂瀹屽叏瀵归綈鐨� Dubbo-go锛屽凡浜� 鏈勾銆�2020 骞淬€�7 鏈堜唤鍙戝竷浜嗗叾 v1.5.0 鐗堟湰锛屽疄鐜颁簡璇ユā鍨嬶紝涓哄勾搴曞疄鐜颁笌 Dubbo 3.0 瀵归綈鐨勬柊鐗堟湰濂犲畾浜嗗熀纭€銆�
-
-Dubbo-go 浣滀负 Dubbo 鐨� Go 璇█鐗堟湰锛屽洜璺ㄨ瑷€涔嬫晠锛屼簩鑰呴拡瀵瑰悓涓€妯″瀷鐨勫疄鐜板繀鐒舵湁杈冨ぇ宸紓锛屾晠鏈枃娉ㄩ噸璁ㄨ Dubbo-go 绀惧尯鑷韩瀵硅妯″瀷鐨勭悊瑙e拰瀹炵幇锛屼互鍙婂叾涓� Dubbo 涔嬮棿鐨勫樊寮傘€�
-
-## 1 寮曡
-
-鍦� v1.5 浠ュ墠锛孌ubbo-go 娉ㄥ唽妯″瀷閮芥槸浠ユ湇鍔′负缁村害鐨勶紝鐩磋鐨勭悊瑙e彲璁や负鍏舵槸鎺ュ彛缁村害銆傝濡傛敞鍐屼俊鎭紝鎸夌収鏈嶅姟缁村害妯″瀷鍏剁ず渚嬪涓嬶細
-
-```json
-"com.xxx.User":[
-  {"name":"instance1", "ip":"127.0.0.1", "metadata":{"timeout":1000}},
-  {"name":"instance2", "ip":"127.0.0.2", "metadata":{"timeout":2000}},
-  {"name":"instance3", "ip":"127.0.0.3", "metadata":{"timeout":3000}},
-]
-```
-
-杩欑妯″紡鐨勫ソ澶勬槸涓嶈█鑰屽柣鐨勶紝绠€鍗曠洿瑙傦紝鎻愪緵浜嗙粏绮掑害鐨勬湇鍔℃帶鍒舵墜娈点€�
-
-鑰岃繎涓ゅ勾锛岄殢鐫€浜戞椂浠g殑鍒版潵锛岃繖绉嶆ā寮忓氨鏆撮湶浜嗕笉瓒筹細
-
-涓绘祦鐨勬敞鍐屾ā鍨嬮兘鏄簲鐢ㄧ淮搴︾殑锛�
-
-浠ユ湇鍔$淮搴︽潵娉ㄥ唽锛岄偅涔堣妯′笌鏈嶅姟鏁伴噺鎴愭姣旓紝澶ц妯¢泦缇や箣涓嬶紝娉ㄥ唽涓績鍘嬪姏闈炲父澶э紱
-
-## 2 Dubbo-go v1.5.0 鐨勬柊娉ㄥ唽妯″瀷
-
-杩欐 Dubbo-go 鏀寔浜嗘柊鐨勬敞鍐屾ā鍨嬶紝涔熷氨鏄簲鐢ㄧ淮搴︾殑娉ㄥ唽妯″瀷銆傜畝鍗曡€岃█锛屽湪搴旂敤缁村害娉ㄥ唽涓嬶紝鍏舵敞鍐屼俊鎭被浼硷細
-
-```jsoon
-"application1": [
-  {"name":"instance1", "ip":"127.0.0.1", "metadata":{}},
-  {"name":"instance2", "ip":"127.0.0.2", "metadata":{}},
-  {"name":"instanceN", "ip":"127.0.0.3", "metadata":{}}
-]
-```
-
-鍦ㄦ妯″紡涔嬩笅锛屽彲浠ョ湅鍒版敞鍐屼俊鎭皢浼氬ぇ骞呭害鍑忓皯锛岄泦缇よ妯″彧涓庡疄渚嬫暟閲忕浉鍏炽€�
-
-涓庢鍚屾椂锛屽湪瀹炵幇杩欎竴涓姛鑳界殑鏃跺€欙紝Dubbo-go 杩樺笇鏈涗繚鎸佷袱涓洰鏍囷細
-
-瀵圭敤鎴峰畬鍏ㄥ吋瀹癸紝鐢ㄦ埛杩佺Щ鏃犳劅鐭ワ紱
-
-淇濇寔浣忓師鏈湇鍔$矑搴︿笂绮剧粏鎺у埗鐨勮兘鍔涒€斺€斿嵆淇濈暀鐜版湁鐨勬湇鍔$淮搴︾殑鍏冩暟鎹紱
-
-鍥犳 Dubbo-go 瑕佺潃鍔涜В鍐充互涓嬪嚑鐐癸細
-
-鐩墠 Consumer 鐨勯厤缃槸浠ユ帴鍙d负鍑嗙殑锛屽浣曟牴鎹帴鍙f壘鍒拌鎺ュ彛瀵瑰簲鐨勫簲鐢紵渚嬪锛岀敤鎴烽厤缃簡 com.xxx.User 鏈嶅姟锛岄偅涔堬紝Dubbo-go 鎬庝箞鐭ラ亾杩欎釜鏈嶅姟鏄敱鍝釜搴旂敤鏉ユ彁渚涚殑鍛紵
-
-鍦ㄧ煡閬撲簡鏄摢涓簲鐢ㄤ箣鍚庯紝鍙互浠庢敞鍐屼腑蹇冩嬁鍒板簲鐢ㄧ殑娉ㄥ唽淇℃伅锛屽瀹炰緥淇℃伅绛夛紱閭f€庝箞鐭ラ亾 com.xxx.User 鏈嶅姟鑷韩鐨勫厓鏁版嵁鍛紵
-
-涓轰簡瑙e喅杩欎袱涓棶棰橈紝鍦ㄥ凡鏈夌殑娉ㄥ唽妯″瀷鐨勫熀纭€涓婏紝Dubbo-go 寮曞叆涓や釜棰濆鐨勭粍浠讹細ServiceNameMapping 鍜� MetadataService銆�
-
-鍓嶈€呯敤浜庤В鍐虫湇鍔�-搴旂敤涔嬮棿鐨勬槧灏勶紝鍚庤€呯敤浜庤幏鍙栨湇鍔$殑鍏冩暟鎹€�
-
-鐢辨锛孌ubbo-go 鐨勫簲鐢ㄧ淮搴︽敞鍐屾ā鍨嬪氨鍙樹负锛�
-
-![1.png](../../pic/course/dubbo-go-application-dimension-registration-model-1.png)
-
-### 2.1 ServiceNameMapping
-
-ServiceNameMapping 骞朵笉澶嶆潅銆傝€冭檻鍒颁竴鑸汉鍦� Consumer 渚ф兂瑕佽皟鐢ㄤ竴涓湇鍔★紝鍏跺崄鏈夊叓涔濇槸鐭ラ亾杩欎釜鏈嶅姟鏄摢涓簲鐢ㄦ彁渚涚殑锛屼簬鏄� Dubbo-go 寮曞叆浜嗘柊鐨勯厤缃」 provideBy
-
-![1.png](../../pic/course/dubbo-go-application-dimension-registration-model-2.png)
-
-褰撶劧锛屾墍璋� 鈥滃崄鏈夊叓涔濃€濆氨鏄鏈変簺鏃跺€欑‘瀹炰笉鐭ラ亾鏄湇鍔℃槸璋佹彁渚涚殑锛屾墍浠� Dubbo-go 杩樻敮鎸佷簡鍩轰簬閰嶇疆涓績鐨� ServiceNameMapping 瀹炵幇銆侱ubbo-go 浼氱敤鏈嶅姟鍚嶄綔涓� Key 浠庨厤缃腑蹇冮噷闈㈣鍑哄搴旂殑搴旂敤鍚嶃€傝繖鎰忓懗鐫€, Provider 鍚姩鐨勬椂鍊欙紝涔熶細鍦ㄩ厤缃腑蹇冨皢鑷韩鐨� 鏈嶅姟-搴旂敤鍚嶆槧灏� 鍐欏叆閰嶇疆涓績銆�
-
-### 2.2 MetadataService
-
-MetadataService 绋嶅井瑕佸鏉備竴鐐癸紝鏈� remote 鍜� local 涓ょ妯″紡銆�
-
-绫讳技浜庡墠闈㈢殑 ServiceNameMapping锛孌ubbo-go 鎻愪緵浜嗗熀浜庨厤缃腑蹇冪殑 MetadataService 鐨勫疄鐜帮紝鍗� remote 妯″紡銆侾rovider 鍚姩鐨勬椂鍊欙紝灏变細灏嗘湇鍔$殑鍏冩暟鎹啓杩涘幓銆�
-
-鍙﹀涓€绉嶆ā寮忔槸 local 妯″紡銆侱ubbo-go 鍙互鐩存帴灏� MetadataService 鐪嬪仛鏄竴涓櫘閫氱殑寰湇鍔★紝鑰屽悗鐢� Provider 鎵€鎻愪緵銆傜被浼间簬锛�
-
-![1.png](../../pic/course/dubbo-go-application-dimension-registration-model-3.png)
-
-鐢辨甯︽潵涓€涓棶棰橈細
-
-鏃㈢劧 Dubbo-go 灏� MetadataService 鐪嬪仛鏄竴涓櫘閫氱殑鏈嶅姟锛岄偅涔� MetadataService 鐨勫厓鏁版嵁锛孋onsumer 璇ユ€庝箞鑾峰緱鍛紵杩欐槸涓€涓吀鍨嬬殑楦$敓铔嬭泲鐢熼浮鐨勯棶棰樸€�
-
-Dubbo-go 鐨勬柟妗堥潪甯哥畝鍗曠矖鏆达紝Provider 鍚姩鐨勬椂鍊欙紝涓嶄粎浠呭線娉ㄥ唽涓績閲岄潰鍐欏叆搴旂敤鏈韩鐨勪俊鎭紝杩樿鎶婂畠鐨� MetadataService 淇℃伅鍐欏叆銆�
-
-杩欐槸涓€涓簲鐢ㄧ殑娉ㄥ唽淇℃伅锛�
-
-![1.png](../../pic/course/dubbo-go-application-dimension-registration-model-4.png)
-
-鏈川涓婃潵璇达紝搴旂敤缁村害娉ㄥ唽淇℃伅 + 鏈嶅姟鍏冩暟鎹� = 鏈嶅姟缁村害娉ㄥ唽淇℃伅銆傛垨鑰呰锛屽簲鐢ㄧ淮搴︽敞鍐岋紝鍙槸涓€绉嶉噸鏂扮粍缁囪繖浜涗俊鎭殑鏂瑰紡銆�
-
-## 3 宸紓涓庢敼杩�
-
-Dubbo-go v1.5.x 瀵规爣 Dubbo 2.7.5锛屽彲浠ヨ涓烘槸鍙傜収 Dubbo 2.7.5 鐩存帴瀹炵幇鍏� Go 婧愮爜锛屼絾鏄€冭檻鍒� Java 鍜� Go 涔嬮棿鐨勮瑷€宸紓锛屽鑷翠簩鑰呬箣闂寸殑瀹炵幇涓嶅彲鑳藉畬鍏ㄥ绛夈€�
-
-### 3.1 淇鐗堟湰鍙� revision 姣斿
-
-Dubbo v2.7.x 鍦� MetadataService 娉ㄥ唽鏃讹紝浼氬鍏� provider 搴旂敤鐨勬墍鏈夋湇鍔℃帴鍙g殑 hash 鍊煎仛涓轰慨璁㈢増鏈彿鍐欏叆鍏冩暟鎹腑蹇冿紝姝� revision 鏄鎵€鏈夋帴鍙g殑鏂规硶浠ュ強鍏跺弬鏁版€讳綋鐨勮绠楃粨鏋溿€傚叾鐩殑鏄噺灏� consumer 绔埌娉ㄥ唽涓績鐨勬媺鍙栨鏁般€�
-
-鍦� Go 涓敤鐨勮绠� revision 鐨� hash 绠楁硶涓� Java 鏄笉涓€鑷寸殑锛岃€屼笖 Go 涓� Java 鐨勬柟娉曠鍚嶄俊鎭槸涓嶇浉鍚岀殑锛屾墍浠ヨ绠楀嚭鏉ョ殑 hash 鍊间竴瀹氭槸涓嶄竴鏍风殑銆�
-
-姝や笉涓€鑷翠細瀵艰嚧濡傛灉 Go 搴旂敤鍜� Java 搴旂敤鍚屾椂鍙戝竷鍚屼竴涓湇鍔$殑鏃跺€欙紝Go 鏈嶅姟鍜� Java 鏈嶅姟鐨勪慨璁㈢増鏈彿蹇呭畾鏄笉鐩稿悓鐨勶紝Consumer 闇€瑕佸垎鍒紦瀛樿繖涓や釜淇鐗堟湰鐨勫厓鏁版嵁銆�
-
-### 3.2 搴旂敤娉ㄥ唽鏃舵満
-
-Dubbo-go v1.5.0 瀹炵幇鏃讹紝鍏朵腑涓€涓€冮噺鏄叏闈㈠悜鍚庡吋瀹� v1.4.x銆侱ubbo-go v1.5.x 搴旂敤 consumer 鏃㈠彲浠ヨ皟鐢� Dubbo-go v1.4.x 搴旂敤鐨勬湇鍔★紝涔熷彲浠ヨ皟鐢� Dubbo v2.6.x 搴旂敤鐨勬湇鍔★紝褰撶劧涔熷彲浠ヨ皟鐢ㄥ叾瀵规爣鐨� v2.7.x 搴旂敤鐨勬湇鍔°€�
-
-涓轰簡杈惧埌鍏煎鎬э紝Dubbo-go v1.5.x 瀹炵幇鏃堕潰涓翠竴涓棶棰橈細Dubbo-go provider 搴旂敤鍚姩鏃舵湁涓€涓湇鍔″惎鍔ㄦ垚鍔燂紝鎶婂簲鐢ㄤ俊鎭敞鍐屽埌鍏冩暟鎹腑蹇冧箣鍚庯紝灏变細鎶婂疄渚嬫敞鍐屽埌娉ㄥ唽涓績锛岃€� Dubbo 2.7.x 鐨� provider 搴旂敤鍒欐槸鍦ㄥ叾鎵€鏈夋湇鍔℃帴鍙g殑淇℃伅娉ㄥ唽鍒板厓鏁版嵁涓績鍚庢墠浼氭敞鍐屽疄渚嬶紒
-
-杩欎釜闂鐨勫悗鏋滃氨鏄細Dubbo-go v1.5.0 鐨� provider 姣忔鍙戝竷鎺ュ彛鍒板厓鏁版嵁涓績鐨勫悓鏃讹紝閮戒細瑙﹀彂 Dubbo-go v1.5.0 / Dubbo v2.7.x 鐨� consumer 搴旂敤鎷夊彇 Dubbo-go v1.5.0 搴旂敤淇℃伅锛屽綋 provider 鍙戝竷鐨勬湇鍔¤繃澶氭椂 consumer 渚ф€ц兘鎹熻€楅潪甯告槑鏄撅紒
-
-Dubbo-go 鍦� v1.5.1 涓凡缁忎慨澶嶄簡杩欎釜闂锛宲rovider 鍦ㄥ惎鍔ㄦ椂鍏堝皢鍏跺叏閮ㄦ湇鍔℃帴鍙e彂甯冨埌鍏冩暟鎹腑蹇冿紝鐒跺悗娉ㄥ唽瀹炰緥鍒版敞鍐屼腑蹇冿紝鍑忓皯浜� consumer 鎷夊彇鍏冩暟鎹殑娆℃暟銆�
-
-Dubbo-go 椤圭洰鍦板潃锛歔https://github.com/apache/dubbo-go](https://github.com/apache/dubbo-go) Dubbo-go 绀惧尯浜ゆ祦缇わ細23331795
-
-### 娆㈣繋鍔犲叆 dubbo-go 绀惧尯
-
-鏈変换浣� dubbo-go 鐩稿叧鐨勯棶棰橈紝鍙互鍔犳垜浠殑閽夐拤缇� 23331795 璇㈤棶鎺㈣锛屾垜浠竴瀹氱涓€鏃堕棿缁欏嚭鍙嶉銆�
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-4.png)
diff --git a/doc/md/course/mosn-dubbo-go.md b/doc/md/course/mosn-dubbo-go.md
deleted file mode 100644
index 31fc06cc3908a2d2150b0704aa948c0b09f12ae7..0000000000000000000000000000000000000000
--- a/doc/md/course/mosn-dubbo-go.md
+++ /dev/null
@@ -1,140 +0,0 @@
-# [鏇瑰ぇ璋� dubbo mesh : 鍦� MOSN 涓帺杞� dubbo-go](https://my.oschina.net/dubbogo/blog/4309475)
-
-## service mesh 绠€浠�
-
-service mesh 鏈韩鐨勭悊蹇靛苟涓嶅鏉傦紝灏辨槸灏嗙幇浠e井鏈嶅姟搴旂敤鐨勫姛鑳芥€т笌闈炲姛鑳芥€ч渶姹傝繘琛屽垎绂伙紝骞跺皢闈炲姛鑳芥€ч渶姹備笅娌夊埌搴旂敤鐨勫閮ㄦā鍧楋紝浠庤€屼娇搴旂敤妯″潡鍙互灏介噺鑱氱劍浜庝笟鍔★紝涓嶇敤鍏冲績璇稿锛氭湇鍔″彂鐜般€侀檺娴併€佺啍鏂€乼racing 杩欑被闈炰笟鍔¢渶姹傘€備笅娌変箣鍚庯紝鐩稿叧鐨� service mesh 妯″潡鍙互浜ょ敱鍩虹鏋舵瀯鍥㈤槦杩涜缁存姢锛屼娇鍩虹璁炬柦鍜屼笟鍔¤兘澶熷畬鎴愯В鑰︺€�
-
-service mesh 璁捐涓€鑸垝鍒嗕负涓や釜妯″潡锛屾帶鍒堕潰鍜屾暟鎹潰銆傚彲浠ラ€氳繃涓嬪浘鏉ョ悊瑙g浉搴旂殑鑱岃矗锛�
-![1.png](../../pic/course/mosn-dubbo-go-1.png)
-
-瀵逛簬搴旂敤鏉ヨ锛屾墍鏈夋祦閲忛兘浼氱粡杩� service mesh 涓殑鏁版嵁闈㈣繘琛岃浆鍙戙€傝€岃兘椤哄埄杞彂鐨勫墠鎻愶細鏁版嵁闈㈤渶瑕佺煡閬撹浆鍙戠殑鐩爣鍦板潃锛岀洰鏍囧湴鍧€鏈韩鏄敱涓€浜涗笟鍔¢€昏緫鏉ュ喅瀹氱殑(渚嬪鏈嶅姟鍙戠幇)锛屾墍浠ヨ嚜鐒惰€岀劧鍦帮紝鎴戜滑鍙互鎺ㄦ柇鎺у埗闈㈤渶瑕佽礋璐g鐞嗘暟鎹潰鑳芥甯歌繍琛屾墍闇€瑕佺殑涓€浜涢厤缃細
-
-闇€瑕佺煡閬撴煇娆¤姹傝浆鍙戝幓鍝噷锛氭湇鍔″彂鐜伴厤缃�
-澶栭儴娴侀噺杩涘叆闇€瑕佸垽鏂槸鍚﹀凡缁忚揪鍒版湇鍔℃祦閲忎笂闄愶細闄愭祦閰嶇疆
-渚濊禆鏈嶅姟杩斿洖閿欒鏃讹紝闇€瑕佽兘澶熸墽琛岀浉搴旂殑鐔旀柇閫昏緫锛氱啍鏂厤缃�
-寮€婧愮晫鐩墠姣旇緝鏈夊悕鐨勪富瑕佹槸 istio锛宔nvoy 鍜� linkerd 杩欏嚑涓」鐩紝浠婂ぉ鎴戜滑鏉ヤ粙缁嶄竴涓嬭殏铓佹帹鍑虹殑 service mesh 鏁版嵁闈㈤」鐩細MOSN銆�
-
-## MOSN 绠€浠�
-
-MOSN 鏄殏铓侀噾鏈嶅嚭鍝佺殑鐢� Go 璇█瀹炵幇鐨� service mesh 鏁版嵁闈紝鍦ㄨ殏铓佸唴閮ㄥ凡澶ц妯¤惤鍦帮紝鍦ㄥ紑婧愯繃绋嬩腑鎴戜滑浜嗚В鍒板閮ㄧ敤鎴锋湁杈冨鐨� dubbo 鐢ㄦ埛锛岃繖浜� dubbo 鐢ㄦ埛涔熷笇鏈涜兘澶熶韩鍙� service mesh 绀惧尯鐨勫彂灞曠孩鍒┿€傚悓鏃跺彲浠ラ拡瀵硅嚜宸卞叕鍙哥殑鐗规畩涓氬姟鍦烘櫙锛屽 service mesh 鐨勬暟鎹潰杩涜涓€瀹氱殑鎵╁睍銆�
-
-璋堝埌鎵╁睍锛孧OSN 浣跨敤 Go 缂栧啓鐨勪紭鍔垮氨浣撶幇鍑烘潵浜嗐€傜浉姣� C++锛孏o 璇█閫氳繃鑷甫鐨勫唴瀛樺垎閰嶅櫒涓� GC 瀹炵幇浜嗕竴瀹氱▼搴︾殑鍐呭瓨瀹夊叏锛岃В鏀句簡绋嬪簭鍛樼殑蹇冩櫤銆傜浉姣� C++ 缂栧啓鐨� envoy锛屾棤璁烘槸缂栫▼鍜岄棶棰樺畾浣嶉兘瑕佽交鏉句笉灏戙€�
-
-MOSN 鍚屾椂鎻愪緵浜嗗己澶х殑 XProtocol 鍗忚鎵╁睍妗嗘灦锛岀敤鎴峰彲浠ユ牴鎹嚜宸辩殑闇€姹傜紪鍐欒嚜瀹氫箟鍗忚瑙f瀽銆傚鏋滀綘浣跨敤鐨勬槸 SOFA/Dubbo/HTTP/HTTP2锛岄偅涔� MOSN 宸茬粡涓轰綘鍑嗗濂戒簡鐜版垚鐨勫疄鐜般€傚紑绠卞嵆鐢ㄣ€�
-
-涓轰簡婊¤冻绀惧尯鐨勯渶姹傦紝浠庝粖骞� 4 鏈堝紑濮嬶紝MOSN 绀惧尯涓� dubbo-go 绀惧尯杩涜浜嗘繁鍏ョ殑浜ゆ祦涓庡悎浣溿€傚彲鑳借繕鏈変簺鍚屽瀵� dubbo-go 涓嶅お浜嗚В锛岀畝鍗曚粙缁嶄竴涓嬨€�
-
-## dubbo-go 绠€浠�
-
-dubbo 鏄樋閲屽反宸村嚭鍝佷竴涓潪甯镐紭绉€鐨� Java RPC 妗嗘灦锛岀浉姣斿叾瀹冩鏋讹紝鏈夎緝涓哄叏闈㈢殑鏈嶅姟娌荤悊鍔熻兘銆�
-
-dubbo-go 鏄� dubbo 鐨� Go 璇█鐗堟湰锛岃椤圭洰宸茶繘鍏� apache 涓€骞存湁浣欙紝寮€鍙戠ぞ鍖哄緢娲昏穬锛岀増鏈彂甯冭妭濂忚緝蹇€傚姛鑳戒笂涔熷熀鏈拰 dubbo 鐨� Java 鐗堥兘瀵归綈浜嗐€�
-![1.png](../../pic/course/mosn-dubbo-go-2.png)
-瀵逛簬鍠滄 dubbo 鐨� gopher 鏉ヨ锛宒ubbo-go 鏄釜涓嶉敊鐨勯€夋嫨銆備娇鐢ㄥ畠鏉ユ瀯寤烘暣涓叕鍙哥殑鏈嶅姟妗嗘灦锛岀渷鏃剁渷蹇冦€�
-
-## MOSN + dubbo-go 鍙屽墤鍚堢挧
-
-service mesh 鑳藉缁欏井鏈嶅姟鐨勬暣浣撴灦鏋勫甫鏉ュ緢澶氬ソ澶勶紝鐒惰€屼笟鐣屾彁渚涚殑鍏ㄥ妗舵柟妗堜笉涓€瀹氳兘寰堝ソ鍦板湪浼佷笟鍐呰惤鍦帮紝鏈変笅闈竴浜涘師鍥狅細
-
-瑕佹眰鏁版嵁闈㈠拰鎺у埗闈竴璧蜂笂绾匡紝鏃╂湡 istio 鍥犱负璁捐闂锛屾湁浼楀妯″潡銆備細澶у箙澧炲姞浼佷笟鐨勮繍缁磋礋鎷呫€�
-浼佷笟涓� mesh 涓€瀹氭槸娓愯繘閮ㄧ讲锛屼笉鍙兘涓€娆℃€ц鎵€鏈夋湇鍔″叏閮ㄤ笂銆傝繖鏍峰氨浼氭湁鍦� mesh 涓殑搴旂敤鍜岄潪 mesh 涓殑搴旂敤闇€瑕佽兘澶熶簰閫氱殑闇€姹傘€�
-铓傝殎鐨� service mesh 钀藉湴杩囩▼鐩稿杈冧负鎴愬姛锛屽€煎緱鍙傝€冦€傚湪鍐呴儴钀藉湴鏃讹紝棣栧厛鍙惤鍦版暟鎹潰锛岃繖鏍疯繍缁磋礋鎷呰緝杞伙紝鍚屾椂鍑洪棶棰樻椂涔熷鏄撴帓鏌ャ€�
-
-浣嗗彧钀藉湴鏁版嵁闈㈢殑璇濓紝鏈変簺鎺у埗闈㈢殑鍔熻兘鎴戜滑灏辨病鏈変簡锛屾瘮濡傛湇鍔″彂鐜般€佽矾鐢遍厤缃闃呯瓑绛夈€傚洜姝ゅ湪 MOSN 涓紝鍙堥澶栧杩欎簺鍔熻兘杩涜浜嗘敮鎸�(鐩稿綋浜庣洰鍓嶇殑鏁版嵁闈㈠崟妯″潡鍚屾椂鎵胯浇浜嗘暟鎹潰鍜屾帶鍒堕潰鐨勯儴鍒嗗姛鑳�)銆傚綋鏁版嵁闈㈢ǔ瀹氳惤鍦颁箣鍚庯紝鍐嶈繘琛屾帶鍒堕潰鐨勮惤鍦扮浉瀵规潵璇磋礋鎷呭氨灏忓緢澶氫簡銆�
-
-涓婇潰鐨勬槸铓傝殎鍐呴儴鐨勬儏鍐碉紝鍦ㄧぞ鍖哄唴锛孧OSN 鍊熷姪 dubbo-go 鐨勮兘鍔涳紝宸茬粡瀹炵幇浜嗘湇鍔″彂鐜板姛鑳斤紝鐢ㄦ埛搴旂敤鍚姩銆侀€€鍑烘椂闇€瑕佸拰 MOSN 杩涜绠€鍗曠殑浜や簰锛屼互瀹屾垚鏈嶅姟鐨勫彂甯冨拰璁㈤槄鍔熻兘锛屼笅闈㈡槸鍙戝竷娴佺▼锛�
-![1.png](../../pic/course/mosn-dubbo-go-3.png)
-鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂锛岃闂湰鍦扮殑 MOSN http 鎺ュ彛锛屽憡鐭ラ渶瑕佸皢鏈湴鐨勬湇鍔″彂甯冨嚭鍘伙紝MOSN 鏀跺埌璇锋眰鍚庡澶栧彂甯� MOSN 鐨� ip 鍜岀鍙e埌娉ㄥ唽涓績銆傝繖鏍风洃鍚湰鏈嶅姟鐨� consumer 渚垮彲浠ヤ粠娉ㄥ唽涓績鏀跺埌鏈嶅姟鍙樻洿鐨勯€氱煡锛屽苟灏嗘湰瀹炰緥鍔犲叆鍒扮浉搴旂殑 provider 鍒楄〃銆傚綋搴旂敤閫€鍑烘椂锛岄渶瑕佷富鍔ㄨ繘琛� unpub銆�
-
-杩欑鎯呭喌涓嬬殑鏀归€犳垚鏈細
-
-- 瀵逛簬涓氬姟鏂规潵璇达紝鍙渶瑕佸崌绾� sdk銆�
-- 瀵逛簬 sdk 缁存姢鏂癸紝鍦ㄦ墽琛� sub/pub/unsub/unpub 鏃讹紝闇€瑕佸鍔犱竴涓紑鍏冲垽鏂紝- 寮€鍏虫墦寮€鏃讹紝璇存槑鏈疄渚嬪凡涓� service mesh銆傝姹傜浉搴旂殑鏈湴 MOSN 鎺ュ彛銆�
-- 瀵逛簬 mesh 鎻愪緵鏂癸紝鍙鍋氬ソ閰嶇疆鍜岄儴缃插氨鍙互浜嗐€�
-
-鎺ュ叆 MOSN 鍚庯紝mesh 鍖栧拰闈� mesh 鍖栫殑搴旂敤鍙互浜掗€氾細
-![1.png](../../pic/course/mosn-dubbo-go-4.png)
-
-褰撶劧锛屽紑鍙戣繃绋嬩篃骞朵笉鏄竴甯嗛椤虹殑銆傚湪鎴戜滑鍒氬紑濮嬩娇鐢� dubbo-go 鏃讹紝渚块亣鍒颁簡 dubbo-go 鐨勪緷璧栦笌 MOSN 鐨勪緷璧栨湁鍐茬獊鐨勯棶棰橈細
-![1.png](../../pic/course/mosn-dubbo-go-5.png)
-
-Go 璇█鐨� go mod 璇箟浼氣€滆嚜浣滆仾鏄庘€濆湴璁や负 0.y.z 鐨勫閮ㄤ緷璧栭兘鏄郊姝ゅ吋瀹圭殑锛岀劧鑰屾垜浠粠 semver 瑙勮寖鍙互瀛︿範鍒帮細
-
-> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
-
-0.y.z 鍙槸鐢ㄦ潵鍋氬垵濮嬬殑寮€鍙戯紝鏈韩 API 鐨勫彉鍖栧氨鏄緢棰戠箒鐨勶紝渚濊禆绠$悊宸ュ叿涓嶅簲璇ヨ嚜鍔ㄥ幓鍗囩骇杩欎簺渚濊禆銆備絾鏄� Go 绀惧尯鐨勪汉鏈変笉灏戜汉鍧氭寔 go mod 鐨勮涓烘纭紝骞朵笖绁嚭 MVS 绠楁硶锛岃〃绀虹鍒伴棶棰樼殑鍙槸涓嶆噦 Go 鐨勫摬瀛︺€�
-
-褰撳墠 Go 鐨勪緷璧栫鐞嗕娇寰椾袱涓ぇ椤圭洰鍙戠敓渚濊禆鍐茬獊鏃讹紝姣旇緝闅惧鐞嗭紝鎴戜滑鍙兘鏍规嵁瀹為檯鎯呭喌鍘� go.mod 涓幓鍐欎竴浜� replace 閫昏緫锛屾潵閿佸畾澶栭儴渚濊禆搴撶増鏈€�
-
-闄や簡渚濊禆闂浠ュ锛宒ubbo-go 鏈€鍒濈殑璁捐澶ч噺浣跨敤浜� init 鍑芥暟銆俰nit 鍑芥暟鐢ㄦ潵瀹炵幇涓€浜涘垵濮嬪寲鍜屼緷璧栨敞鍏ョ‘瀹炴瘮杈冩柟渚匡紝浣嗗鏋滀竴涓」鐩腑鐨勬ā鍧椾細琚叾瀹冨閮ㄩ」鐩緷璧栨椂锛宨nit 鍒欏彲鑳界粰鎴戜滑閫犳垚楹荤儲锛屼妇涓畝鍗曠殑渚嬪瓙锛�
-
-```go
-package x
-var GlobalMap = map[string]int{}
-
-package a
-func init() {
-    x.GlobalMap["x"] = 1
-}
-
-package b
-func init() {
-    x.GlobalMap["x"] = 2
-}
-```
-
-濡傛灉鎴戜滑鍦ㄦ煇涓寘涓悓鏃朵緷璧� a 鍜� b锛岄偅涔堜笅闈㈢殑涓ょ鍐欐硶锛屽緱鍒扮殑缁撴灉鏄笉涓€鏍风殑锛�
-
-```go
-package show
-import (
-    "a"
-    "b"
-    "x"
-)
-
-func main() {
-    println(x.GlobalMap["x"])
-}
-```
-
-```go
-package show
-import (
-    "b"
-    "a"
-    "x"
-)
-func main() {
-    println(x.GlobalMap["x"])
-}
-```
-
-涓轰簡閬垮厤杩欎簺闅愬紡鐨� init 琛屼负锛屾垜浠疄闄呬笂鏄� fork 浜� dubbo-go 骞惰繘琛屼簡灏戦噺淇敼鐨勩€傚綋鐒讹紝鏀瑰姩骞朵笉澶氾紝鏈潵濡傛灉 dubbo-go 鏈夋洿濂界殑妯″潡鍖栨柟娉曠殑璇濓紝鎴戜滑涔熷彲浠ュ緢杞绘澗鍦拌縼绉诲洖鐩存帴渚濊禆 dubbo-go銆�
-
-鍦� MOSN 闆嗘垚 dubbo-go 鐨勮繃绋嬩腑锛宒ubbo-go 绀惧尯鐨勮€佸摜浠粰浜堜簡鎴戜滑澶ч噺鐨勬敮鎸侊紝璐ゅ摜(https://github.com/zouyx)甯姪鎴戜滑鍦� dubbo-go 涓疄鐜颁簡涔嬪墠涓嶆敮鎸佺殑 unsub/unpub 鍔熻兘锛屽苟甯姪鎴戜滑瑙e喅浜嗗緢澶氭妧鏈柟闈㈢殑闂銆俤ubbo-go 绀惧尯璐熻矗浜轰簬闆�( https://github.com/alexstocks )涔熷湪寮€鍙戣繃绋嬩腑鎻愪緵浜嗗ぇ閲忕殑淇℃伅鍜屾妧鏈敮鎸併€傛湁杩欎袱浣嶇殑鏀寔锛孧OSN 鍜� dubbo 鐨勯泦鎴愭墠椤虹晠鏃犳瘮锛屽惁鍒欑殑璇濊澶氳蛋寰堝寮矾銆�
-
-## 鍏跺畠閫夋嫨
-
-闄や簡鏈枃鎻愬埌鐨� MOSN + dubbo-go 闆嗘垚鏂瑰紡锛屽鐐圭殑闄堥箯鍚屽涓烘垜浠彁渚涗簡鍙︿竴绉嶆€濊矾杩涜闆嗘垚锛屾湰鏂囧氨涓嶅睍寮€浜嗭紝鎰熷叴瓒g殑鍚屽鍙互鍙傝€冩枃鏈殑璧勬枡 [3]銆�
-
-## 鏈枃浣滆€�
-
-鏇规槬鏅栵紝寮€婧� MOSN committer锛孈cch123锛岃殏铓侀噾鏈嶇郴缁熼儴鎶€鏈笓瀹讹紝涓绘敾 Service Mesh 鏂瑰悜銆備釜浜烘妧鏈綉绔� xargin.com锛屽拰浠栦汉鍚堣憲銆奊o 璇█楂樼骇缂栫▼銆嬨€�
-
-## 鍙傝€冭祫鏂�
-
-[1]. https://jimmysong.io/blog/what-is-a-service-mesh/
-
-[2]. https://mosn.io/zh/docs/concept/multi-protocol
-
-[3]. https://mp.weixin.qq.com/s/mhHnH6ZDPPs6Gr0a20WGOw
-
-### 娆㈣繋鍔犲叆 dubbo-go 绀惧尯
-
-鏈変换浣� dubbo-go 鐩稿叧鐨勯棶棰橈紝鍙互鍔犳垜浠殑閽夐拤缇� 23331795 璇㈤棶鎺㈣锛屾垜浠竴瀹氱涓€鏃堕棿缁欏嚭鍙嶉銆�
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-4.png)
-
-### 鏈€鏂版椿鍔�
-
-Dubbo-go ASoC 鐩稿叧棰樼洰 锛屽弬鍔犺鎯� 璇风偣鍑�
diff --git a/doc/md/course/practice-and-exploration-of-dubbo-go.md b/doc/md/course/practice-and-exploration-of-dubbo-go.md
deleted file mode 100644
index 7f5e16d86a9fd3b31ee80c8d2326a4c81d32b32e..0000000000000000000000000000000000000000
--- a/doc/md/course/practice-and-exploration-of-dubbo-go.md
+++ /dev/null
@@ -1,288 +0,0 @@
-# [娑傞甫鏅鸿兘 dubbo-go 浜跨骇娴侀噺鐨勫疄璺典笌鎺㈢储](https://my.oschina.net/dubbogo/blog/4306343)
-
-dubbo 鏄竴涓熀浜� Java 寮€鍙戠殑楂樻€ц兘鐨勮交閲忕骇 RPC 妗嗘灦锛宒ubbo 鎻愪緵浜嗕赴瀵岀殑鏈嶅姟娌荤悊鍔熻兘鍜屼紭绉€鐨勬墿灞曡兘鍔涖€傝€� dubbo-go 鍦� java 涓� golang 涔嬮棿鎻愪緵缁熶竴鐨勬湇鍔″寲鑳藉姏涓庢爣鍑嗭紝鏄秱楦︽櫤鑳界洰鍓嶆渶闇€瑕佽В鍐崇殑涓昏闂銆傛湰鏂囧垎涓哄疄璺靛拰蹇€熸帴鍏ヤ袱閮ㄥ垎锛屽垎浜湪娑傞甫鏅鸿兘鐨� [dubbo-go](http://github.com/apache/dubbo-go) 瀹炴垬缁忛獙锛屾剰鍦ㄥ府鍔╃敤鎴峰揩閫熸帴鍏� dubbo-go RPC 妗嗘灦锛屽笇鏈涜兘璁╁ぇ瀹跺皯璧颁簺寮矾銆�
-
-鍙﹀锛屾枃涓殑娴嬭瘯浠g爜鍩轰簬 dubbo-go 鐗堟湰 [v1.4.0](https://github.com/apache/dubbo-go/releases/tag/v1.4.0)銆�
-
-## dubbo-go 缃戝叧瀹炶返
-
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-1.png)
-
-dubbo-go 鍦ㄦ秱楦︽櫤鑳界殑浣跨敤鎯呭喌濡備笂鍥撅紝鎺ヤ笅鏉ヤ細涓哄ぇ瀹惰缁嗕粙缁嶈惤鍦扮粏鑺傦紝甯屾湜杩欎簺鍦ㄧ敓浜х幆澧冧腑鎬荤粨鐨勭粡楠岃兘澶熷府鍔╁埌澶у銆�
-
-### 鑳屾櫙
-
-鍦ㄦ秱楦︽櫤鑳斤紝dubbo-go 宸茬粡浣滀负浜� golang 鏈嶅姟涓庡師鏈� dubbo 闆嗙兢鎵撻€氱殑棣栭€� RPC 妗嗘灦銆傚叾涓瘮杈冩湁浠h〃鎬х殑 open-gateway 缃戝叧绯荤粺锛堜笅鏂囩粺涓€绉� gateway锛屽紑婧愮増鏈 [https://github.com/dubbogo/dubbo-go-proxy](https://github.com/dubbogo/dubbo-go-proxy)锛夈€傝 gateway 鍔ㄦ€佸姞杞藉唴閮� dubbo 鎺ュ彛淇℃伅锛屼互 HTTP API 鐨勫舰寮忓澶栨毚闇层€傝缃戝叧鎰忓湪瑙e喅涓婁竴浠g綉鍏崇殑浠ヤ笅鐥涚偣銆�
-
-- `閫氳繃椤甸潰閰嶇疆 dubbo 鎺ュ彛寮€鏀捐鍒欙紝姝ラ绻佺悙锛屾潈闄愰毦浠ユ妸鎺с€俙
-- `鎺ュ彛闈� RESTful 椋庢牸锛屽澶栭儴寮€鍙戣€呬笉鍙嬪ソ銆俙
-- `渚濊禆绻侀噸锛屽崌绾ч闄╁ぇ銆俙
-- `骞跺彂鎬ц兘闂銆俙
-
-### 鏋舵瀯璁捐
-
-閽堝濡備笂鐥涚偣锛岄殢鍗崇潃鎵嬪噯澶囪璁℃柊鐨� gateway 鏋舵瀯銆傞鍏堝氨鏄瑷€閫夊瀷锛実olang 鐨勫崗绋嬭皟鐢ㄦā鍨嬩娇寰� golang 闈炲父閫傚悎鏋勫缓 IO 瀵嗛泦鍨嬬殑搴旂敤锛屼笖搴旂敤閮ㄧ讲涓婁篃杈� java 绠€鍗曘€傜粡杩囪皟鐮斿悗鎴戜滑鏁插畾浣跨敤 golang 浣滀负 proxy 鐨勭紪鐮佽瑷€锛屽苟浣跨敤 dubbo-go 鐢ㄤ簬杩炴帴 dubbo provider 闆嗙兢銆俻rovider 绔殑涓氬姟搴旂敤閫氳繃浣跨敤 java 鐨勬彃浠讹紝浠ユ敞瑙e舰寮忛厤缃� API 閰嶇疆淇℃伅锛岃鎻掍欢浼氬皢閰嶇疆淇℃伅鍜� dubbo 鎺ュ彛鍏冩暟鎹洿鏂板埌鍏冩暟鎹敞鍐屼腑蹇冿紙涓嬪浘涓殑 redis 锛夈€傝繖鏍蜂竴鏉ワ紝閰嶇疆浠庣鐞嗗悗鍙伴〉闈㈣浆绉诲埌浜嗙▼搴忎唬鐮佷腑銆傚紑鍙戜汉鍛樺湪缂栫爜鏃讹紝闈炲父鏂逛究鍦扮湅鍒� dubbo 鎺ュ彛瀵瑰鐨� API 鎻忚堪锛屾棤闇€浠庡彟澶栦竴涓鐞嗗悗鍙伴厤缃� API 鐨勪娇鐢ㄦ柟寮忋€�
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-2.png)
-
-### 瀹炶返
-
-浠庝笂鍥惧彲浠ョ湅鍒帮紝缃戝叧鑳藉姩鎬佸姞杞� dubbo 鎺ュ彛淇℃伅锛岃皟鐢� dubbo 鎺ュ彛鏄熀浜� dubbo 娉涘寲璋冪敤銆傛硾鍖栬皟鐢ㄤ娇 client 涓嶉渶瑕佹瀯寤� provider 鐨� interface 浠g爜锛屽湪 dubbo-go 涓〃鐜颁负鏃犻渶璋冪敤 config.SetConsumerService 鍜� hessian.RegisterPOJO 鏂规硶锛岃€屾槸灏嗚姹傛ā鍨嬬函鍙傛暟瀹屾垚锛岃繖浣垮緱 client 鍔ㄦ€佹柊澧炪€佷慨鏀规帴鍙f垚涓哄彲鑳姐€傚湪 [apache/dubbo-sample/golang/generic/go-client](https://github.com/apache/dubbo-samples/tree/master/golang/generic/go-client) 涓殑鏈夋硾鍖栬皟鐢ㄧ殑婕旂ず浠g爜銆�
-
-```go
-func test() {
-	var appName = "UserProviderGer"
-	var referenceConfig = config.ReferenceConfig{
-		InterfaceName: "com.ikurento.user.UserProvider",
-		Cluster:       "failover",
-		Registry:      "hangzhouzk",
-		Protocol:      dubbo.DUBBO,
-		Generic:       true,
-	}
-	referenceConfig.GenericLoad(appName) // appName is the unique identification of RPCService
-
-	time.Sleep(3 * time.Second)
-
-	resp, err := referenceConfig.GetRPCService().(*config.GenericService).
-		Invoke([]interface{}{"GetUser", []string{"java.lang.String"}, []interface{}{"A003"}})
-	if err != nil {
-		panic(err)
-	}
-}
-```
-
-娉涘寲璋冪敤鐨勫疄鐜板叾瀹炵浉褰撶畝鍗曘€傚叾鍔熻兘浣滅敤鍦� dubbo 鐨� Filter 灞備腑銆俒Generic Filter](https://github.com/apache/dubbo-go/blob/master/filter/filter_impl/generic_filter.go) 宸茬粡浣滀负榛樿寮€鍚殑 Filter 鍔犲叆鍒� dubbo Filter 閾句腑銆傚叾鏍稿績閫昏緫濡備笅锛�
-
-```go
-func (ef *GenericFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
-	if invocation.MethodName() == constant.GENERIC && len(invocation.Arguments()) == 3 {
-		oldArguments := invocation.Arguments()
-
-		if oldParams, ok := oldArguments[2].([]interface{}); ok {
-			newParams := make([]hessian.Object, 0, len(oldParams))
-			for i := range oldParams {
-				newParams = append(newParams, hessian.Object(struct2MapAll(oldParams[i])))
-			}
-			newArguments := []interface{}{
-				oldArguments[0],
-				oldArguments[1],
-				newParams,
-			}
-			newInvocation := invocation2.NewRPCInvocation(invocation.MethodName(), newArguments, invocation.Attachments())
-			newInvocation.SetReply(invocation.Reply())
-			return invoker.Invoke(ctx, newInvocation)
-		}
-	}
-	return invoker.Invoke(ctx, invocation)
-}
-```
-
-Generic Filter 灏嗙敤鎴疯姹傜殑缁撴瀯浣撳弬鏁拌浆鍖栦负缁熶竴鏍煎紡鐨� map锛堜唬鐮佷腑鐨� struct2MapAll 锛夛紝灏嗙被锛� golang 涓负 struct 锛夌殑姝e弽搴忓垪鍖栨搷浣滃彉鎴� map 鐨勬鍙嶅簭鍒楀寲鎿嶄綔銆傝繖浣垮緱鏃犻渶 POJO 鎻忚堪閫氳繃纭紪鐮佹敞鍏� hessain 搴撱€�
-
-浠庝笂闈唬鐮佸彲浠ョ湅鍒帮紝娉涘寲璋冪敤瀹為檯闇€瑕佸姩鎬佹瀯寤虹殑鍐呭鏈� 4 涓紝ReferenceConfig 涓渶瑕佺殑 InterfaceName 銆佸弬鏁颁腑鐨� method 銆丳arameterTypes銆佸疄闄呭叆鍙� requestParams銆�
-
-**閭d箞杩欎簺鍙傛暟鏄浣曚粠 HTTP API 鍖归厤鑾峰彇鍒扮殑鍛紵**
-
-杩欓噷灏变細鐢ㄥ埌涓婃枃鎻愬埌鐨� provider 鐢ㄤ簬鏀堕泦鍏冩暟鎹殑鎻掍欢銆傚紩鍏ユ彃浠跺悗锛屽簲鐢ㄥ湪鍚姩鏃朵細鎵弿闇€瑕佹毚闇茬殑 dubbo 鎺ュ彛锛屽皢 dubbo 鍏冩暟鎹拰 HTTP API 鍏宠仈銆傛彃浠朵娇鐢ㄦ柟娉曞ぇ鑷村涓嬶紝杩欓噷璋冧簡鍑犱釜绠€鍗曠殑閰嶇疆浣滀负绀轰緥锛屽疄闄呯敓浜ф椂娉ㄨВ鍐呭浼氭洿澶氥€�
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-3.png)
-
-鏈€缁堣幏寰楃殑 dubbo 鍏冩暟鎹涓�:
-
-```json
-{
-    "key": "POST:/hello/{uid}/add",
-    "interfaceName": "com.tuya.hello.service.template.IUserServer",
-    "methodName": "addUser",
-    "parameterTypes": [
-        "com.tuya.gateway.Context",
-        "java.lang.String",
-        "com.tuya.hello.User"
-    ],
-    "parameterNames": [
-        "context",
-        "uid",
-        "userInfo"
-    ],
-    "updateTimestamp": "1234567890",
-    "permissionDO": {},
-    "voMap": {
-        "userInfo": {
-            "name": "java.lang.String",
-            "sex": "java.lang.String",
-            "age": "java.lang.Integer"
-        }
-    },
-    "parameterNameHumpToLine": true,
-    "resultFiledHumpToLine": false,
-    "protocolName": "dubbo"
-}
-```
-
-Gateway 浠庡厓鏁版嵁閰嶇疆涓績璁㈤槄鍒颁互涓婁俊鎭紝灏辫兘鎶婁竴涓� API 璇锋眰鍖归厤鍒颁竴涓� dubbo 鎺ュ彛銆傚啀浠� API 璇锋眰涓姄鍙栧弬鏁颁綔涓哄叆鍙傘€傝繖鏍峰姛鑳藉氨瀹屾垚浜嗘祦閲忛棴鐜€�
-
-浠ヤ笂鍐呭锛屽ぇ瀹跺簲璇ュ姝� gateway 鐨勯」鐩嫇鎵戠粨鏋勬湁浜嗘竻鏅扮殑璁ょ煡銆傛垜鎺ョ潃鍒嗕韩椤圭洰鍦ㄤ娇鐢� dubbo-go 杩囩▼涓亣鍒扮殑闂鍜岃皟浼樼粡楠屻€�19 骞村垵锛屽綋鏃剁殑 dubbo-go 椤圭洰杩樺彧鏄瀯寤哄垵鏈燂紝娌℃湁浠€涔堢敤鎴疯惤鍦扮殑缁忛獙銆傛垜涔熸槸涓€杈瑰弬涓庣ぞ鍖哄紑鍙戯紝涓€杈圭紪鐮佸叕鍙稿唴閮ㄧ綉鍏抽」鐩€傚湪瑙e喅浜嗕竴鍫� hessain 搴忓垪鍖栧拰 zookeeper 娉ㄥ唽涓績鐨勯棶棰樺悗锛岄」鐩渶缁堣窇閫氫簡闂幆銆備絾鏄紝浣滀负涓€涓牳蹇冨簲鐢紝璺戦€氶棴鐜涓婄敓浜х幆澧冭繕鏈夊緢闀跨殑璺璧帮紝鐗瑰埆鏄娇鐢ㄤ簡褰撴椂绋冲畾鎬у緟娴嬭瘯鐨勬柊妗嗘灦銆傛暣涓祴璇曞姞涓婂姛鑳借ˉ鍏紝鏁存暣鑺辫垂浜嗕竴涓搴︾殑鏃堕棿锛岀洿鍒伴」鐩秼浜庣ǔ瀹氾紝鍘嬫祴鏁堟灉涔熻壇濂姐€�**鍗曞彴缃戝叧鏈哄櫒锛� 2C 8G 锛夊叏閾捐矾妯℃嫙鐪熷疄鐜鍘嬫祴杈惧埌 2000 QPS銆傜敱浜庡紩鍏ヤ簡姣旇緝閲嶇殑涓氬姟閫昏緫锛堝崟涓姹傚钩鍧囪皟鐢� 3 涓� dubbo 鎺ュ彛锛夛紝瀵逛簬杩欎釜鍘嬫祴缁撴灉锛屾槸绗﹀悎鐢氳嚦瓒呭嚭棰勬湡鐨勩€�**
-
-鎬荤粨浜嗕竴浜� dubbo-go 鍙傛暟閰嶇疆璋冧紭鐨勭粡楠岋紝涓昏鏄竴浜涚綉缁滅浉鍏抽厤缃€傚ぇ瀹跺湪璺� demo 鏃讹紝搴旇浼氱湅鍒伴厤缃枃浠舵渶鍚庢湁涓€鍫嗛厤缃紝浣嗗鏋滃 dubbo-go 搴曞眰缃戠粶妯″瀷涓嶇啛鎮夛紝灏卞緢闅剧悊瑙h繖浜涢厤缃殑鍚箟銆傜洰鍓� dubbo-go 缃戠粶灞備互 [getty](https://github.com/AlexStocks/getty) 涓哄簳灞傛鏋讹紝瀹炵幇璇诲啓鍒嗙鍜屽崗绋嬫睜绠$悊銆俫etty 瀵瑰鏆撮湶 session 鐨勬蹇碉紝session 鎻愪緵涓€绯诲垪缃戠粶灞傛柟娉曟敞鍏ョ殑瀹炵幇锛屽洜涓烘湰鏂囦笉鏄簮鐮佽В鏋愭枃妗o紝鍦ㄨ繖閲屼笉杩囧璁鸿堪銆�**璇昏€呭彲浠ョ畝鍗曠殑璁や负 dubbo-go 缁存姢浜嗕竴涓� getty session 姹狅紝session 鍙堢淮鎶や簡涓€涓� TCP 杩炴帴姹犮€傚浜庢瘡涓繛鎺ワ紝getty 浼氭湁璇诲崗绋嬪拰鍐欏崗绋嬩即鐢燂紝鍋氬埌璇诲啓鍒嗙**銆傝繖閲屾垜灏介噺鐢ㄩ€氫織鐨勬敞閲婂府澶у姊崇悊涓嬪鎬ц兘褰卞搷杈冨ぇ鐨勫嚑涓厤缃惈涔夛細
-
-```yaml
-protocol_conf:
-  # 杩欓噷鏄崗璁嫭绔嬬殑閰嶇疆锛屽湪dubbo鍗忚涓嬶紝澶у鏁伴厤缃嵆涓篻etty session鐩稿叧鐨勯厤缃€�
-  dubbo:
-  	# 涓€涓猻ession浼氬缁堜繚璇乧onnection_number涓猼cp杩炴帴涓暟锛岄粯璁ゆ槸16锛�
-    # 浣嗚繖閲屽缓璁ぇ瀹堕厤缃浉瀵瑰皬鐨勫€硷紝涓€鑸郴缁熶笉闇€瑕佸姝ゅ鐨勮繛鎺ヤ釜鏁般€�
-    # 姣忛殧reconnect_interval鏃堕棿锛屾鏌ヨ繛鎺ヤ釜鏁帮紝濡傛灉灏忎簬connection_number锛�
-    # 灏卞缓绔嬭繛鎺ャ€傚~0鎴栦笉濉兘涓洪粯璁ゅ€�300ms
-    reconnect_interval: 0
-    connection_number: 2
-    # 瀹㈡埛绔彂閫佸績璺崇殑闂撮殧
-    heartbeat_period: "30s"
-    # OnCron鏃秙ession鐨勮秴鏃舵椂闂达紝瓒呰繃session_timeout鏃犺繑鍥炲氨鍏抽棴session
-    session_timeout: "30s"
-    # 姣忎竴涓猟ubbo interface鐨勫鎴风锛屼細缁存姢涓€涓渶澶у€间负pool_size澶у皬鐨剆ession姹犮€�
-    # 姣忔璇锋眰浠巗ession姹犱腑select涓€涓€傛墍浠ョ湡瀹炵殑tcp鏁伴噺鏄痵ession鏁伴噺*connection_number锛�
-    # 鑰宲ool_size鏄痵ession鏁伴噺鐨勬渶澶у€笺€傛祴璇曟€荤粨涓嬫潵涓€鑸▼搴�4涓猼cp杩炴帴瓒充互銆�
-    pool_size: 4
-    # session淇濇椿瓒呮椂鏃堕棿锛屼篃灏辨槸瓒呰繃session_timeout鏃堕棿娌℃湁浣跨敤璇ession锛屽氨浼氬叧闂session
-    pool_ttl: 600
-    # 澶勭悊杩斿洖鍊肩殑鍗忕▼姹犲ぇ灏�
-    gr_pool_size: 1200
-    # 璇绘暟鎹拰鍗忕▼姹犱腑鐨勭紦鍐查槦鍒楅暱搴︼紝鐩墠宸茬粡搴熷純銆備笉浣跨敤缂撳啿闃熷垪
-    queue_len: 64
-    queue_number: 60
-    getty_session_param:
-      compress_encoding: false
-      tcp_no_delay: true
-      tcp_keep_alive: true
-      keep_alive_period: "120s"
-      tcp_r_buf_size: 262144
-      tcp_w_buf_size: 65536
-      pkg_wq_size: 512
-      tcp_read_timeout: "1s"  # 姣忔璇诲寘鐨勮秴鏃舵椂闂�
-      tcp_write_timeout: "5s" # 姣忔鍐欏寘鐨勮秴鏃舵椂闂�
-      wait_timeout: "1s"
-      max_msg_len: 102400     # 鏈€澶ф暟鎹紶杈撻暱搴�
-      session_name: "client"
-```
-
-## dubbo-go 蹇€熸帴鍏�
-
-鍓嶆枃宸茬粡灞曠ず杩� dubbo-go 鍦ㄦ秱楦︽櫤鑳界殑瀹炶返鎴愭灉锛屾帴涓嬫潵浠嬬粛蹇€熸帴鍏� dubbo-go 鐨勬柟寮忋€�
-
-### 绗竴姝ワ細hello world
-
-dubbo-go 浣跨敤鑼冧緥鐩墠鍜� dubbo 涓€鑷达紝鏀剧疆鍦� [apache/dubbo-samples](https://github.com/apache/dubbo-samples) 椤圭洰涓€傚湪 dubbo-sample/golang 鐩綍涓嬶紝鐢ㄦ埛鍙互閫夋嫨鑷繁鎰熷叴瓒g殑 feature 鐩綍锛屽揩閫熸祴璇曚唬鐮佹晥鏋溿€�
-
-```shell
-tree dubbo-samples/golang -L 1
-dubbo-samples/golang
-鈹溾攢鈹€ README.md
-鈹溾攢鈹€ async
-鈹溾攢鈹€ ci.sh
-鈹溾攢鈹€ configcenter
-鈹溾攢鈹€ direct
-鈹溾攢鈹€ filter
-鈹溾攢鈹€ general
-鈹溾攢鈹€ generic
-鈹溾攢鈹€ go.mod
-鈹溾攢鈹€ go.sum
-鈹溾攢鈹€ helloworld
-鈹溾攢鈹€ multi_registry
-鈹斺攢鈹€ registry
-```
-
-鎴戜滑浠� hello world 涓轰緥锛屾寜鐓� dubbo-samples/golang/README.md 涓殑姝ラ锛屽垎鍒惎鍔� server 鍜� client 銆傚彲浠ュ皾璇� golang 璋冪敤 java 銆� java 璋冪敤 golang 銆乬olang 璋冪敤 golang 銆乯ava 璋冪敤 java銆俤ubbo-go 鍦ㄥ崗璁笂鏀寔鍜� dubbo 浜掗€氥€�
-
-鎴戜滑浠ュ惎鍔� go-server 涓轰緥锛屾敞鍐屼腑蹇冮粯璁や娇鐢� zookeeper 銆傞鍏堢‘璁ゆ湰鍦扮殑 zookeeper 鏄惁杩愯姝e父銆傜劧鍚庢墽琛屼互涓嬪懡浠わ紝绱ф帴鐫€浣犲氨鍙互鐪嬪埌浣犵殑鏈嶅姟姝e父鍚姩鐨勬棩蹇椾簡銆�
-
-```shell
-export ARCH=mac
-export ENV=dev
-cd dubbo-samples/golang/helloworld/dubbo/go-server
-sh ./assembly/$ARCH/$ENV.sh
-cd ./target/darwin/user_info_server-2.6.0-20200608-1056-dev/
-sh ./bin/load.sh start
-```
-
-### 绗簩姝ワ細鍦ㄩ」鐩腑浣跨敤 dubbo-go
-
-涓婇潰锛屾垜浠€氳繃绀惧尯缁存姢鐨勬祴璇曚唬鐮佸拰鍚姩鑴氭湰灏嗙敤渚嬭窇浜嗚捣鏉ャ€傛帴涓嬫潵锛屾垜浠渶瑕佸湪鑷繁鐨勪唬鐮佷腑宓屽叆 dubbo-go 妗嗘灦銆傚緢澶氭湅鍙嬪線寰€鏄湪杩欎竴姝ラ亣鍒伴棶棰橈紝杩欓噷鎴戞暣鐞嗙殑涓€浜涘父瑙侀棶棰橈紝甯屾湜鑳藉府鍒板ぇ瀹躲€�
-
-##### 1. 鐜鍙橀噺
-
-鐩墠 dubbo-go 鏈� 3 涓幆澧冨彉閲忛渶瑕侀厤缃€�
-
-- `CONF_CONSUMER_FILE_PATH` : Consumer 绔厤缃枃浠惰矾寰勶紝浣跨敤 consumer 鏃跺繀闇€銆�
-- `CONF_PROVIDER_FILE_PATH`锛歅rovider 绔厤缃枃浠惰矾寰勶紝浣跨敤 provider 鏃跺繀闇€銆�
-- `APP_LOG_CONF_FILE` 锛歀og 鏃ュ織鏂囦欢璺緞锛屽繀闇€銆�
-- `CONF_ROUTER_FILE_PATH`锛欶ile Router 瑙勫垯閰嶇疆鏂囦欢璺緞锛屼娇鐢� File Router 鏃堕渶瑕併€�
-
-##### 2. 浠g爜娉ㄦ剰鐐�
-
-- 娉ㄥ叆鏈嶅姟 : 妫€鏌ユ槸鍚︽墽琛屼互涓嬩唬鐮�
-
-- 瀹㈡埛绔�
-  ```go
-  func init() {
-  	config.SetConsumerService(userProvider)
-  }
-  ```
-- 鏈嶅姟绔�
-  ```go
-  func init() {
-  	config.SetProviderService(new(UserProvider))
-  }
-  ```
-- 娉ㄥ叆搴忓垪鍖栨弿杩� 锛氭鏌ユ槸鍚︽墽琛屼互涓嬩唬鐮�
-
-  ```go
-  hessian.RegisterJavaEnum(Gender(MAN))
-  hessian.RegisterJavaEnum(Gender(WOMAN))
-  hessian.RegisterPOJO(&User{})
-  ```
-
-##### 3. 姝g‘鐞嗚В閰嶇疆鏂囦欢
-
-- `references/services` 涓嬬殑 key 锛屽涓嬮潰渚嬪瓙鐨� "UserProvider" 闇€瑕佸拰鏈嶅姟 Reference() 杩斿洖鍊间繚鎸佷竴鑷达紝姝や负鏍囪瘑鏀规帴鍙g殑 key銆�
-
-  ```yaml
-  references:
-  "UserProvider":
-  registry: "hangzhouzk"
-  protocol: "dubbo"
-  interface: "com.ikurento.user.UserProvider"
-  cluster: "failover"
-  methods:
-  - name: "GetUser"
-  	retries: 3
-  ```
-
-- 娉ㄥ唽涓績濡傛灉鍙湁涓€涓敞鍐屼腑蹇冮泦缇わ紝鍙渶閰嶇疆涓€涓€傚涓� IP 鐢ㄩ€楀彿闅斿紑锛屽涓嬶細
-
-  ```yaml
-  registries:
-  "hangzhouzk":
-  protocol: "zookeeper"
-  timeout: "3s"
-  address: "172.16.120.181:2181,172.16.120.182:2181"
-  username: ""
-  password: ""
-  ```
-
-##### 4. java 鍜� go 鐨勯棶棰�
-
-- `go` 鍜� `java` 浜や簰鐨勫ぇ灏忓啓 锛歡olang 涓轰簡閫傞厤 java 鐨勯┘宄版牸寮忥紝鍦ㄨ皟鐢� java 鏈嶅姟鏃讹紝浼氳嚜鍔ㄥ皢 method 鍜屽睘鎬ч瀛楁瘝鍙樻垚灏忓啓銆傚緢澶氬悓瀛︽晠鎰忓皢 java 浠g爜鍐欐垚閫傞厤 golang 鐨勫弬鏁板畾涔夛紝灏嗛瀛楁瘝澶у啓锛屾渶鍚庡弽鑰屾棤娉曞簭鍒楀寲鍖归厤銆�
-
-### 绗笁姝ワ細鎷撳睍鍔熻兘
-
-dubbo-go 鍜� dubbo 閮芥彁渚涗簡闈炲父涓板瘜鐨勬嫇灞曟満鍒躲€傚彲浠ュ疄鐜拌嚜瀹氫箟妯″潡浠f浛 dubbo-go 榛樿妯″潡锛屾垨鑰呮柊澧炴煇浜涘姛鑳姐€傛瘮濡傚疄鐜� Cluster銆丗ilter 銆丷outer 绛夋潵閫傞厤涓氬姟鐨勯渶姹傘€傝繖浜涙敞鍏ユ柟娉曟毚闇插湪 dubbo-go/common/extension 涓紝鍏佽鐢ㄦ埛璋冪敤鍙婇厤缃€�
-
-**_鏈枃浣滆€咃細_**
-**娼樺ぉ棰栵紝Github ID @pantianying锛屽紑婧愮埍濂借€咃紝灏辫亴浜庢秱楦︽櫤鑳姐€�**
-
-## 娆㈣繋鍔犲叆 dubbo-go 绀惧尯
-
-鏈変换浣� dubbo-go 鐩稿叧鐨勯棶棰橈紝鍙互鍔犳垜浠殑閽夐拤缇� 23331795 璇㈤棶鎺㈣锛屾垜浠竴瀹氱涓€鏃堕棿缁欏嚭鍙嶉銆�
-![1.png](../../pic/course/practice-and-exploration-of-dubbo-go-4.png)
-
-### 鏈€鏂版椿鍔�
-
-Dubbo-go ASoC [鐩稿叧棰樼洰](https://github.com/apache/dubbo-go/issues?q=is%3Aissue+is%3Aopen+label%3AASOC2020) 锛屽弬鍔犺鎯� [璇风偣鍑籡(https://github.com/apache/dubbo/issues/6203)
diff --git a/doc/md/course/quick-start-dubbo-go.md b/doc/md/course/quick-start-dubbo-go.md
deleted file mode 100644
index 49d07d824d4f5097cc67774b97239ba07010bf42..0000000000000000000000000000000000000000
--- a/doc/md/course/quick-start-dubbo-go.md
+++ /dev/null
@@ -1,243 +0,0 @@
-# [蹇€熶笂鎵� dubbo-go](https://studygolang.com/articles/29457)
-
-## 鍓嶈█
-
-姣忔鎶€鏈皟鐮旀€讳細鍙戠幇鑷繁瀛︿笉鍔ㄤ簡鎬庝箞鍔烇紵鐢ㄥ凡鏈夌殑鐭ヨ瘑鏉ユ嫇灞曡瀛︿範鐨勬柊鐭ヨ瘑灏卞ソ浜唦 by LinkinStar
-
-鏈€杩戦渶瑕佽皟鐮斾娇鐢� dubbo锛屼箣鍓嶅畬鍏ㄦ槸 0 鍩虹锛屽浜� dubbo 鍙瓨鍦ㄤ簬鍚锛屼粖澶╀笂鎵嬪疄鎴樹竴鎶婏紝鍛婅瘔浣犲浣曞揩閫熺敤 go 涓婃墜 dubbo
-
-PS锛氫互涓嬬殑瀛︿範鏂瑰紡閫傜敤浜庡緢澶氭柊鎶€鏈�
-
-## 鍩烘湰姒傚康
-
-棣栧厛瀛︿範涓€涓妧鏈鍏堣鐪嬬湅瀹冪殑鏁翠綋鏋舵瀯鍜屽熀鏈蹇碉紝姣忎釜鎶€鏈兘鏈夌潃鑷繁鐨勫悕璇嶈В閲婂拰瀹炵幇鏂瑰紡锛屽鏋滄枃妗i綈鍏ㄥ氨绠€鍗曞緢澶氥€�
-
-http://dubbo.apache.org/zh-cn/docs/user/preface/background.html
-
-澶ц嚧娴忚浜嗚儗鏅€侀渶姹傘€佹灦鏋勪箣鍚庡熀鏈笂鏈変竴涓ぇ鑷存蹇�
-
-image.png
-鍏跺疄鏁翠綋鏋舵瀯鍜屽緢澶氬井鏈嶅姟鐨勬灦鏋勯兘鏄被浼肩殑锛屽氨鏄湁涓€涓敞鍐屼腑蹇冪鐞嗘墍鏈夌殑鏈嶅姟鍒楄〃锛屾湇鍔℃彁渚涙柟鍏堝悜娉ㄥ唽涓績娉ㄥ唽锛岃€屾秷璐规柟鍚戞敞鍐屼腑蹇冭姹傛湇鍔″垪琛紝閫氳繃鏈嶅姟鍒楄〃璋冪敤鏈€缁堢殑鏈嶅姟銆傛€荤殑鏉ヨ dubbo 灏嗘暣涓繃绋嬪皝瑁呭湪浜嗛噷闈紝鑰屼綔涓轰娇鐢ㄨ€呯殑鎴戜滑鏉ヨ鏇村姞鍏冲績涓氬姟瀹炵幇锛屽畠甯垜浠仛濂戒簡娌荤悊鐨勫伐浣溿€�
-
-鐒跺悗鎴戞姄浣忎簡鍑犱釜鎴戞兂瑕佺煡閬撶殑閲嶇偣锛�
-
-娉ㄥ唽涓績鍙浛鎹紝瀹樻柟鎺ㄨ崘鐨勬槸 zk
-濡傛灉鏈夊彉鏇达紝娉ㄥ唽涓績灏嗗熀浜庨暱杩炴帴鎺ㄩ€佸彉鏇存暟鎹粰娑堣垂鑰咃紝娉ㄥ唽涓績锛屾湇鍔℃彁渚涜€咃紝鏈嶅姟娑堣垂鑰呬笁鑰呬箣闂村潎涓洪暱杩炴帴
-鍩轰簬杞礋杞藉潎琛$畻娉曪紝閫変竴鍙版彁渚涜€呰繘琛岃皟鐢紝濡傛灉璋冪敤澶辫触锛屽啀閫夊彟涓€鍙拌皟鐢�
-娑堣垂鑰呭湪鏈湴缂撳瓨浜嗘彁渚涜€呭垪琛�
-
-## 瀹為檯涓婃墜
-
-瀹樼綉鏂囨。涓篃缁欏嚭濡傛灉浣跨敤 golang 寮€鍙戯紝閭d箞鏈� https://github.com/apache/dubbo-go 鍙互鐢紝閭d箞搴熻瘽涓嶅璇达紝涓婃墜瀹炶返涓€鎶婂厛銆傚洜涓轰綘鐪嬪啀澶氾紝閮芥瘮涓嶄笂瀹炶返涓€鎶婃潵瀛︾殑蹇€�
-
-### 鐜鎼缓
-
-澶у鏁版暀绋嬪氨浼氳窡浣犺锛屼竴涓� helloWorld 闇€瑕� zookeeper 鐜锛屼絾鏄笉鍛婅瘔浣犲浣曟惌寤猴紝鍥犱负杩欏浜庝粬浠潵璇村お绠€鍗曚簡锛岃€屾垜涓嶄竴鏍凤紝鎴戞槸 0 鍩虹锛岄偅濡備綍蹇€熸惌寤轰竴涓渶瑕佽皟鐮旈」鐩殑鐜鍛紵鏈€濂界殑鏂瑰紡灏辨槸 docker銆�
-
-```yml
-version: "3"
-services:
-  zookeeper:
-    image: zookeeper
-    ports:
-      - 2181:2181
-  admin:
-    image: apache/dubbo-admin
-    depends_on:
-      - zookeeper
-    ports:
-      - 8080:8080
-    environment:
-      - admin.registry.address=zookeeper://zookeeper:2181
-      - admin.config-center=zookeeper://zookeeper:2181
-      - admin.metadata-report.address=zookeeper://zookeeper:2181
-```
-
-```yml
-version: "3"
-services:
-  zookeeper:
-    image: zookeeper
-    ports:
-      - 2181:2181
-  admin:
-    image: chenchuxin/dubbo-admin
-    depends_on:
-      - zookeeper
-    ports:
-      - 8080:8080
-    environment:
-      - dubbo.registry.address=zookeeper://zookeeper:2181
-      - dubbo.admin.root.password=root
-      - dubbo.admin.guest.password=guest
-```
-
-涓婇潰涓や釜 docker-compose 鏂囦欢涓€涓槸瀹樻柟鎻愪緵鐨勭鐞嗗伐鍏凤紝涓€涓寘鍚殑鏄釜浜轰慨鏀逛箣鍚庣殑绠$悊宸ュ叿锛岃浣忚繖閲屾湁涓敤鎴峰悕瀵嗙爜鏄� root-root锛岀湅浣犲枩娆�
-
-搴熻瘽涓嶅璇达紝鐩存帴鍒涘缓 docker-compose.yaml 鐒跺悗 `docker-compose up` 浣犲氨寰楀埌浜嗕竴涓幆澧冿紝妫� 馃憤
-
-### 鏍蜂緥涓嬭浇
-
-鏈夌殑鎶€鏈細缁欏嚭瀹樻柟鐨勫疄楠屾牱渚嬶紝dubbo-go 涔熶笉渚嬪
-
-https://github.com/apache/dubbo-samples
-
-閲岄潰鍖呭惈浜� go 鍜� java 鐨勬牱渚嬶紝鏈変簡瀹冧綘灏辫兘蹇€熶笂鎵嬩簡锛屾妸瀹冧笅杞藉埌鏈湴
-
-### 鏍蜂緥杩愯
-
-棣栧厛瑕佸仛鐨勭涓€姝ュ氨鏄妸 helloworld 缁欒窇璧锋潵锛岃繘鍏� golang 鐩綍锛岄噷闈㈡湁涓� README.md 鐪嬩竴涓嬨€傜劧鍚庡紑鎼炪€�
-
-鎵撳紑涓€涓粓绔繍琛屾湇鍔℃柟
-```sh
-export ARCH=mac
-export ENV=dev
-cd helloworld/dubbo/go-server
-sh ./assembly/$ARCH/$ENV.sh
-cd ./target/linux/user_info_server-0.3.1-20190517-0930-release
-sh ./bin/load.sh start
-```
-鎵撳紑鍙︿竴涓粓绔繍琛屽鎴风
-
-```sh
-export ARCH=mac
-export ENV=dev
-cd helloworld/dubbo/go-client
-sh ./assembly/$ARCH/$ENV.sh
-cd ./target/linux/user_info_client-0.3.1-20190517-0921-release
-sh ./bin/load_user_info_client.sh start
-```
-鍚姩杩囩▼涓細鍑虹幇涓€浜涜鍛婏紝闂涓嶅ぇ锛屽鏋滄垚鍔燂紝閭d箞瀹㈡埛绔細鏈変竴涓皟鐢ㄦ湇鍔$鐨勮姹傦紝骞跺湪鎺у埗鍙颁腑浠ョ櫧鑹插簳鑹茶繘琛屾墦鍗�
-
-image.png
-java 鐨勬湇鍔′篃鏈夌浉瀵瑰簲鐨勫惎鍔ㄦ柟寮忥紝鎸夌収 README 涓墍璇存槑鐨勪篃鍙互杩涜娉ㄥ唽鍜岃皟鐢紝骞朵笖 java 鍜� go 涔嬮棿鏄彲浠ヤ簰鐩歌皟鐢ㄧ殑
-
-### 鏌ョ湅鏈嶅姟
-
-鍥犱负鎴戜滑閮ㄧ讲鐨勬椂鍊欐湁涓€涓� dubbo-admin 鐢ㄤ簬绠$悊 zk 涓婃敞鍐岀殑鏈嶅姟锛屾垜浠彲浠ヨ闂湰鍦扮殑 8080 绔彛鐪嬪埌瀵瑰簲鐨勬湇鍔℃儏鍐�
-
-image.png
-鑷虫浣犲簲璇ュ凡缁忓浜庢暣浣撶殑閾捐矾璋冪敤鏈変竴涓ぇ鑷寸殑璁よ瘑锛岀粨鍚堜箣鍓嶅畼缃戞枃妗g殑涓殑鏋舵瀯鍥撅紝搴旇涔熸竻鏅颁簡銆�
-
-## 濡備綍浣跨敤
-
-閭d箞鐜板湪浣犲凡缁忚繍琛岃捣鏉ヤ簡锛岄偅涔堝娍蹇呭氨瑕佹潵鐪嬬湅鍏蜂綋鏄浣曡繘琛屼娇鐢ㄧ殑浜嗐€�
-
-### 鏈嶅姟绔�
-
-鏈嶅姟绔紝涔熷氨鏄湇鍔℃彁渚涜€咃紱
-
-浣嶇疆鍦細dubbo-samples/golang/helloworld/dubbo/go-server/app
-
-```go
-// 灏嗘湇鍔¤繘琛屾敞鍐�
-config.SetProviderService(new(UserProvider))
-// 娉ㄥ唽瀵硅薄鐨刪essian搴忓垪鍖�
-hessian.RegisterPOJO(&User{})
-```
-
-鏄笉鏄湅璧锋潵鍏跺疄寰堢畝鍗曪紝鍏跺疄閲嶇偣灏辨槸涓婇潰涓ゅ彞浠g爜浜�
-瀵逛簬鏈嶅姟鏈韩鏉ヨ
-
-```go
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
-    println("req:%#v", req)
-    rsp := User{"A001", "Alex Stocks", 18, time.Now()}
-    println("rsp:%#v", rsp)
-    return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
-    return "UserProvider"
-}
-```
-
-鍏跺疄灏辨槸闇€瑕佸疄鐜颁笅闈㈤偅涓帴鍙e氨鍙互浜�
-
-```go
-// rpc service interface
-type RPCService interface {
-    Reference() string // rpc service id or reference id
-}
-```
-
-鍏朵腑鏈変竴姝ラ涓嶈蹇樿浜嗘槸 config.Load()锛屼細鍔犺浇閰嶇疆鏂囦欢鐨勭浉鍏抽厤缃紝涓嶇劧浣犱互涓烘敞鍐屼腑蹇冪殑鍦板潃绛夌瓑鏄湪鍝噷閰嶇疆鐨勫憿锛�
-
-瀹㈡埛绔�
-鐪嬩簡鏈嶅姟绔紝鍏跺疄瀹㈡埛绔篃灏卞緢绠€鍗曚簡
-
-```go
-config.SetConsumerService(userProvider)
-hessian.RegisterPOJO(&User{})
-```
-
-鍏跺疄涔熸槸宸笉澶氱殑锛屼篃闇€瑕佹敞鍐屼竴涓秷璐规湇鍔★紝骞跺皢搴忓垪鍖栨柟寮忕粰娉ㄥ唽涓婂幓
-
-```go
-user := &User{}
-err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-```
-
-浣跨敤涔熷氨寰堢畝鍗曚簡锛屽悓鏍风殑涔熼渶瑕佸疄鐜� Reference 鎺ュ彛
-
-```go
-type UserProvider struct {
-    GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
-    return "UserProvider"
-}
-```
-
-鍥炲ご鎯虫兂
-褰撴垜浠湅瀹屼簡浠g爜鐨勪笂鐨勪娇鐢紝鍐嶅洖澶存兂鎯� dubbo 鐨勪綔鐢紝浣犲氨浼氬彂鐜板叾瀹� dubbo 甯綘鍋氱殑浜嬫儏鐪熺殑灞忚斀浜嗗緢澶氥€�
-
-- 浣犱笉闇€瑕佸叧蹇冩湇鍔℃槸鎬庝箞娉ㄥ唽鐨�
-- 浣犱笉闇€瑕佸叧蹇冩湇鍔℃槸鎬庝箞鑾峰彇鐨�
-- 浣犱笉闇€瑕佸叧绯绘湇鍔℃槸鎬庝箞璋冪敤鐨�
-- 鐢氳嚦搴忓垪鍖栫殑杩囩▼閮芥槸鍩烘湰閫忔槑鐨�
-- 鎯冲姣旀潵璇达紝濡傛灉璁╀綘鑷繁鍘绘槸瀹炵幇寰湇鍔★紝閭f槸涓嶆槸璇达紝浣犻渶瑕佸疄鐜版湇鍔$殑鎷夊彇锛屾湇鍔$殑璐熻浇鍧囪 锛屾湇鍔$殑鍙戠幇锛屽簭鍒楀寲.....
-
-杩欎笅浣犲簲璇ユ槑鐧戒簡 dubbo 鏄仛浠€涔堢殑涔熷氨鏄庣櫧浜嗗畠涓轰粈涔堜細鍑虹幇浜�
-
-## 鍏朵粬鑳藉姏
-
-褰撲綘瀛︿範浜嗕竴涓妧鏈殑鍩烘湰浣跨敤涔嬪悗锛岃瀛︿範鍏朵粬鐨勮兘鍔涳紝浠ヤ究鍦ㄤ娇鐢ㄧ殑杩囩▼涓笉浼氬嚭鐜拌嚜宸遍噸澶嶉€犺疆瀛愭垨鑰呰鏈夎疆瀛愭病鐢ㄥ埌鐨勬儏鍐碉紝https://github.com/apache/dubbo-samples 涓嶆鏈� helloworld 杩樿寰堝鍒殑妗堜緥渚涗綘鍙傝€冿紝浣犲彲浠ョ户缁湅鐪嬪苟杩涜璇曢獙銆�
-
-### 鏀寔鎵╁睍
-
-https://github.com/apache/dubbo-go
-
-鍦� Feature list 涓垪涓句簡 dubbo-go 鎵€鏀寔鐨勭浉鍏冲姛鑳斤紝姣斿搴忓垪鍖栵紝姣斿娉ㄥ唽涓績锛屽湪姣斿杩囨护鍣ㄣ€�
-
-涔熷氨鏄锛屽湪浣跨敤 dubbo-go 鐨勬椂鍊欑浉鍏冲姛鑳介兘鏄彃浠跺寲鐨勶紝鎯崇敤浠€涔堝氨鐪嬩綘鑷繁浜嗭紝姣斿娉ㄥ唽涓績鎴戞兂鐢� etcd锛屾瘮濡傝皟鐢ㄧ殑鍗忚鎴戞兂鎹㈡垚 grpc 閮藉彲浠ャ€�
-
-## 鐩稿叧闂
-
-瀵逛簬涓€涓妧鏈皟鐮旓紝閭d箞鑲畾浼氭湁鐩稿叧闂绛夌潃浣犲幓鍙戠幇鍘昏€冭檻銆�
-
-涓嬮潰鏄垜鑳芥兂鍒扮殑涓€浜涢棶棰橈細
-
-褰撳墠 dubbo-go 鐨勭増鏈渶楂樺湪 1.4锛屾墍瀵瑰簲鐨� dubbo 鐗堟湰搴旇鏄� 2.6.x锛屽鏋滆皟鐢ㄦ洿楂樼増鏈殑鏈嶅姟鏄惁浼氭湁闂
-java 鍜� go 涔嬮棿浜掔浉璋冪敤锛屽悇绉嶇被鍨嬭浆鎹箣闂存槸鍚﹀瓨鍦ㄩ棶棰橈紝鏄惁瀹规槗鍑虹幇鏃犳硶姝g‘鍙嶅簭鍒楀寲鐨勯棶棰�
-
-
-## 鍚庣画瀛︿範
-
-閭d箞涓婇潰鍙槸璇磋兘璁╀綘涓婃墜 dubbo-go锛屼絾鏄疄闄呬娇鐢ㄥ彲鑳藉瓨鍦ㄨ窛绂汇€備负浠€涔堣繖涔堣鍛紵濡傛灉浣犲湪涓嶅姩閲岄潰浠讳綍鐨勫師鐞嗘儏鍐典笅锛岄偅涔堝鏋滈亣鍒伴棶棰橈紝浣犲緢鍙兘灏辨潫鎵嬫棤绛栦簡銆傛瘮濡傚鏋滅嚎涓婃湇鍔℃棤娉曟甯稿彂鐜帮紝浣犲簲璇ュ浣曟帓鏌ワ紵璋冪敤杩囩▼涓嚭鐜伴棶棰樺浣曞畾浣嶏紵
-
-鎵€浠ュ悗缁綘闇€瑕佸仛鐨勬槸锛�
-
-鐪嬬湅鏁翠綋璁捐鏋舵瀯鍜屾€濊矾锛屾槑鐧芥暣鏉¢摼璺皟鐢ㄨ繃绋嬪拰瑙勫垯
-瀛︿範瀹冪殑鎺ュ彛璁捐锛屼负浠€涔堝埆浜鸿璁$殑鎺ュ彛鑳藉吋瀹归偅涔堝鐨勬敞鍐屼腑蹇冿紵濡傛灉璁╀綘鏉ヨ璁′綘鎬庝箞璁捐鍛紵
-鎬ц兘涔熷緢閲嶈锛岀綉涓婅鎬ц兘寰堜笉閿欙紝涓轰粈涔堝憿锛熶粈涔堝湴鏂瑰仛浜嗕紭鍖栵紝璐熻浇鍧囪 鐨勭畻娉曟槸鎬庝箞鏍风殑锛屼綘鑳借嚜瀹氫箟鍚楋紵
-
-## 鎬荤粨
-
-鎬荤殑鏉ヨ锛屽浜� dubbo-go 鏁翠綋鐨勪娇鐢ㄤ笂杩樻槸闈炲父濂戒笂鎵嬬殑锛岃嚜宸辨兂浜嗕竴涓嬶紝濡傛灉褰撳墠椤圭洰鎯宠鎺ュ叆鐨勮瘽锛屼富瑕佹槸鏈嶅姟鐨勬毚闇层€佸簭鍒楀寲鏂瑰紡銆侀壌鏉冭皟鏁寸瓑瀛樺湪寮€鍙戝伐浣溿€�
-
-涓婇潰鐮栧ご涔熸姏鐨勫樊涓嶅浜嗭紝瀵逛簬浣犲揩閫熶笂鎵嬪簲璇ユ病鏈夐棶棰樹簡锛屽墿涓嬬殑灏辫闈犱綘鑷繁浜嗐€�
diff --git a/doc/md/course/quick-start.md b/doc/md/course/quick-start.md
deleted file mode 100644
index e2307454c95c5d022dce2db0637ea46bc0b55ef0..0000000000000000000000000000000000000000
--- a/doc/md/course/quick-start.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-title: 蹇€熷紑濮�
-keywords: 蹇€熷紑濮�, hellowworld, Provider
-description: 蹇€熶笂鎵媎ubbo-go锛岀紪鍐欎竴涓畝鍗曠殑hellowworld搴旂敤
----
-
-# [蹇€熷紑濮媇(<(https://github.com/dubbogo/dubbo-go-website/blob/master/docs/zh-cn/user/quick-start.md)>)
-
-閫氳繃涓€涓� `hellowworld` 渚嬪瓙甯﹂澶у蹇€熶笂鎵� Dubbo-go 妗嗘灦銆�
-
-鍗忚锛欴ubbo  
-缂栫爜锛欻essian2  
-娉ㄥ唽涓績锛歓ookeeper
-
-## 鐜
-
-- Go 缂栫▼鐜
-- 鍚姩 zookeeper 鏈嶅姟锛屼篃鍙互浣跨敤杩滅▼瀹炰緥
-
-## 浠庢湇鍔$寮€濮�
-
-### 绗竴姝ワ細缂栧啓 `Provider` 缁撴瀯浣撳拰鎻愪緵鏈嶅姟鐨勬柟娉�
-
-> <https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/user.go>
-
-1. 缂栧啓闇€瑕佽缂栫爜鐨勭粨鏋勪綋锛岀敱浜庝娇鐢� `Hessian2` 浣滀负缂栫爜鍗忚锛宍User` 闇€瑕佸疄鐜� `JavaClassName` 鏂规硶锛屽畠鐨勮繑鍥炲€煎湪 dubbo 涓搴� User 绫荤殑绫诲悕銆�
-
-```go
-type User struct {
-	Id   string
-	Name string
-	Age  int32
-	Time time.Time
-}
-
-func (u User) JavaClassName() string {
-	return "com.ikurento.user.User"
-}
-```
-
-2. 缂栧啓涓氬姟閫昏緫锛宍UserProvider` 鐩稿綋浜� dubbo 涓殑涓€涓湇鍔″疄鐜般€傞渶瑕佸疄鐜� `Reference` 鏂规硶锛岃繑鍥炲€兼槸杩欎釜鏈嶅姟鐨勫敮涓€鏍囪瘑锛屽搴� dubbo 鐨� `beans` 鍜� `path` 瀛楁銆�
-
-```go
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
-	println("req:%#v", req)
-	rsp := User{"A001", "hellowworld", 18, time.Now()}
-	println("rsp:%#v", rsp)
-	return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
-	return "UserProvider"
-}
-```
-
-3. 娉ㄥ唽鏈嶅姟鍜屽璞�
-
-```go
-func init() {
-	config.SetProviderService(new(UserProvider))
-	// ------for hessian2------
-	hessian.RegisterPOJO(&User{})
-}
-```
-
-### 绗簩姝ワ細缂栧啓涓荤▼搴�
-
-> <https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/server.go>
-
-1. 寮曞叆蹇呴渶鐨� dubbo-go 鍖�
-
-```go
-import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/registry/protocol"
-	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-	_ "github.com/apache/dubbo-go/filter/impl"
-	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
-	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/protocol/dubbo"
-)
-
-```
-
-2. main 鍑芥暟
-
-```go
-func main() {
-	config.Load()
-}
-```
-
-### 绗笁姝ワ細閰嶇疆
-
-#### 1.浣跨敤鐜鍙橀噺
-
-1. 鍙傝€� [log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/profiles/release/log.yml) 鍜� [server](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/profiles/release/server.yml) 缂栬緫閰嶇疆鏂囦欢銆�
-
-涓昏缂栬緫浠ヤ笅閮ㄥ垎锛�
-
-- `registries` 缁撶偣涓嬮渶瑕侀厤缃� zk 鐨勬暟閲忓拰鍦板潃
-
-- `services` 缁撶偣涓嬮厤缃湇鍔$殑鍏蜂綋淇℃伅锛岄渶瑕侀厤缃� `interface` 閰嶇疆锛屼慨鏀逛负瀵瑰簲鏈嶅姟鐨勬帴鍙e悕锛屾湇鍔$殑 key 瀵瑰簲绗竴姝ヤ腑 `Provider` 鐨� `Reference` 杩斿洖鍊�
-
-2. 鎶婁笂闈㈢殑涓や釜閰嶇疆鏂囦欢鍒嗗埆閰嶇疆涓虹幆澧冨彉閲�
-
-```shell
-export CONF_PROVIDER_FILE_PATH="xxx"
-export APP_LOG_CONF_FILE="xxx"
-```
-
-#### 2.鑷畾涔夐厤缃枃浠�
-
-1. var consumerConfigStr = `xxxxx`// 閰嶇疆鏂囦欢鍐呭锛屽彲浠ュ弬鑰僛log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/log.yml) 鍜� [client](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/client.yml)
-
-   - 鍦ㄨ繖閲屼綘鍙互瀹氫箟閰嶇疆鏂囦欢鐨勮幏鍙栨柟寮忥紝姣斿閰嶇疆涓績锛屾湰鍦版枃浠惰鍙�
-
-2. 鍦╜config.Load()`涔嬪墠璁剧疆閰嶇疆
-
-```go
-func main() {
-	hessian.RegisterPOJO(&User{})
-	providerConfig := config.ProviderConfig{}
-	yaml.Unmarshal([]byte(providerConfigStr), &providerConfig)
-	config.SetProviderConfig(providerConfig)
-	defaultServerConfig := dubbo.GetDefaultServerConfig()
-	dubbo.SetServerConfig(defaultServerConfig)
-	logger.SetLoggerLevel("warn") // info,warn
-	config.Load()
-	select {
-	}
-}
-```
-
-## 鎺ョ潃鏄鎴风
-
-### 绗竴姝ワ細缂栧啓瀹㈡埛绔� `Provider`
-
-> <https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/user.go>
-
-1. 鍙傝€冩湇鍔$绗竴姝ョ殑绗竴鐐广€�
-
-2. 涓庢湇鍔$涓嶅悓鐨勬槸锛屾彁渚涙湇鍔$殑鏂规硶浣滀负缁撴瀯浣撶殑鍙傛暟锛屼笉闇€瑕佺紪鍐欏叿浣撲笟鍔¢€昏緫銆傚彟澶栵紝`Provider` 涓嶅搴� dubbo 涓殑鎺ュ彛锛岃€屾槸瀵瑰簲涓€涓疄鐜般€�
-
-```go
-type UserProvider struct {
-	GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
-	return "UserProvider"
-}
-```
-
-3. 娉ㄥ唽鏈嶅姟鍜屽璞�
-
-```go
-func init() {
-	config.SetConsumerService(userProvider)
-	hessian.RegisterPOJO(&User{})
-}
-```
-
-### 绗簩姝ワ細缂栧啓瀹㈡埛绔富绋嬪簭
-
-> <https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/client.go>
-
-1. 寮曞叆蹇呴渶鐨� dubbo-go 鍖�
-
-```go
-import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/registry/protocol"
-	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-	_ "github.com/apache/dubbo-go/filter/impl"
-	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
-	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/protocol/dubbo"
-)
-```
-
-2. main 鍑芥暟
-
-```go
-func main() {
-	config.Load()
-	time.Sleep(3e9)
-
-	println("\n\n\nstart to test dubbo")
-	user := &User{}
-	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-	if err != nil {
-		panic(err)
-	}
-	println("response result: %v\n", user)
-}
-func println(format string, args ...interface{}) {
-	fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...)
-}
-```
-
-### 绗笁姝ワ細閰嶇疆
-
-#### 1.浣跨敤鐜鍙橀噺
-
-1. 鍙傝€� [log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/log.yml) 鍜� [client](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/client.yml) 缂栬緫閰嶇疆鏂囦欢銆�
-
-涓昏缂栬緫浠ヤ笅閮ㄥ垎锛�
-
-- `registries` 缁撶偣涓嬮渶瑕侀厤缃� zk 鐨勬暟閲忓拰鍦板潃
-
-- `references` 缁撶偣涓嬮厤缃湇鍔$殑鍏蜂綋淇℃伅锛岄渶瑕侀厤缃� `interface` 閰嶇疆锛屼慨鏀逛负瀵瑰簲鏈嶅姟鐨勬帴鍙e悕锛屾湇鍔$殑 key 瀵瑰簲绗竴姝ヤ腑 `Provider` 鐨� `Reference` 杩斿洖鍊�
-
-2. 鎶婁笂闈㈢殑涓や釜閰嶇疆鏂囦欢璐瑰埆閰嶇疆涓虹幆澧冨彉閲忥紝涓洪槻姝� log 鐨勭幆澧冨彉閲忓拰鏈嶅姟绔殑 log 鐜鍙橀噺鍐茬獊锛屽缓璁墍鏈夌殑鐜鍙橀噺涓嶈鍋氬叏灞€閰嶇疆锛屽湪褰撳墠璧锋晥鍗冲彲銆�
-
-```shell
-export CONF_CONSUMER_FILE_PATH="xxx"
-export APP_LOG_CONF_FILE="xxx"
-```
-
-#### 2.鑷畾涔夐厤缃枃浠�
-
-1. var consumerConfigStr = `xxxxx`// 閰嶇疆鏂囦欢鍐呭锛屽彲浠ュ弬鑰僛log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/log.yml) 鍜� [client](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/client.yml)
-
-   - 鍦ㄨ繖閲屼綘鍙互瀹氫箟閰嶇疆鏂囦欢鐨勮幏鍙栨柟寮忥紝姣斿閰嶇疆涓績锛屾湰鍦版枃浠惰鍙�
-
-2. 鍦╜config.Load()`涔嬪墠璁剧疆閰嶇疆
-
-```go
-func main() {
-     p := config.ConsumerConfig{}
-     yaml.Unmarshal([]byte(consumerConfigStr), &p)
-     config.SetConsumerConfig(p)
-     defaultClientConfig := dubbo.GetDefaultClientConfig()
-     dubbo.SetClientConf(defaultClientConfig)
-     logger.SetLoggerLevel("warn") // info,warn
-     config.Load()
-
-     user := &User{}
-     err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-     if err != nil {
-         log.Print(err)
-         return
-     }
-  log.Print(user)
-}
-```
diff --git a/doc/md/course/ten-year-dubbo.md b/doc/md/course/ten-year-dubbo.md
deleted file mode 100644
index b1bd9bbf0071c02335a109e1b62572fa7f625330..0000000000000000000000000000000000000000
--- a/doc/md/course/ten-year-dubbo.md
+++ /dev/null
@@ -1,209 +0,0 @@
-# [閮藉凡缁忓崄宀佺殑 Apache Dubbo锛岃繕鑳藉啀涔橀鐮存氮鍚楋紵](https://my.oschina.net/u/3874284/blog/4338792)
-
-绾佃涓浗寮€婧愬巻鍙诧紝浣犵湡鐨勬病娉曟壘鍒扮浜屼釜鍍� Dubbo 涓€鏍疯嚜甯︿簤璁拰璁ㄨ鐑害鐨勫紑婧愰」鐩€�
-
-涓€鏂归潰锛�2011 骞达紝瀹冪殑寮€婧愬~琛ヤ簡褰撴椂鐢熶骇鐜浣跨敤鐨� RPC 妗嗘灦鐨勭┖鐧斤紝涓€鍙戝竷灏辫骞挎硾閲囩敤锛涘彟涓€鏂归潰锛屽畠缁忓巻浜嗗仠姝㈢淮鎶ゃ€侀噸鍚淮鎶ゅ悗鎹愮尞缁� Apache 鍩洪噾浼氥€佹帴鐫€鍙堜互椤剁骇椤圭洰鐨勮韩浠芥瘯涓氥€�
-
-闈㈠澶氱枒鐨勫紑鍙戣€咃紝鍦ㄤ簯鍘熺敓鏃朵唬锛孉pache Dubbo 灏嗗浣曞欢缁綋鍓嶅厜鑺掞紵
-
-浠婂勾鏄� Dubbo 浠� Apache 鍩洪噾浼氭瘯涓氱殑涓€鍛ㄥ勾锛屽悓鏃朵篃鏄帹杩� Dubbo 3.0锛屽嵆鍏ㄩ潰鎷ユ姳浜戝師鐢熺殑閲嶈涓€骞淬€傚紑婧愪腑鍥戒笌 Apaceh Dubbo 鍏卞悓绛栧垝**銆怐ubbo 浜戝師鐢熶箣璺€�**绯诲垪鏂囩珷锛屽拰澶у涓€璧峰洖椤� Apache Dubbo 绀惧尯鐨勫彂灞曘€傜郴鍒楁枃绔犱富瑕佹兜鐩� Dubbo 鎶€鏈В璇汇€佺ぞ鍖恒€佸簲鐢ㄦ渚嬭В鏋愪笁澶ч儴鍒嗭紝涔嬪悗姣忓懆閮戒細鍜屽ぇ瀹惰闈€€�
-
-鍦ㄣ€愰樋閲屽反宸翠簯鍘熺敓鍏紬鍙枫€戠暀瑷€璇村嚭涓� Apache Dubbo 鐨勬晠浜嬶紝鐐硅禐鎺掑悕鍓嶅崄鐨勫悓瀛﹀彲棰嗗彇 Dubbo 閫佸嚭鐨勪笓灞炲鍝佹澂瀛愪竴鍙紱鍙﹀鐢� Apache Dubbo PMC @Chickenlj 闅忔満鎶藉彇涓€鍚嶅垢杩愯鑰咃紝璧犻€佷环鍊� 260 鍏冩姢鐪肩伅涓€鍙般€備笅鍛ㄤ笁寮€濂栥€�
-
-### 浣滆€呯畝浠�
-
-**鍒樺啗**锛岃姳鍚嶉檰榫燂紝GitHub 璐﹀彿 Chickenlj锛孉pache Dubbo PMC锛岄」鐩牳蹇冨紑鍙戯紝瑙佽瘉浜� Dubbo 閲嶅惎寮€婧愶紝鍒颁粠 Apache 鍩洪噾浼氭瘯涓氱殑鏁翠釜杩囩▼銆傜幇浠昏亴闃块噷浜戜簯鍘熺敓搴旂敤骞冲彴鍥㈤槦锛屽弬涓庢湇鍔℃鏋躲€佸井鏈嶅姟鐩稿叧宸ヤ綔锛岀洰鍓嶄富瑕佸湪鎺ㄥ姩 Dubbo 3.0 - Dubbo 浜戝師鐢熴€�
-
-## 绯诲垪寮€绡囷細3.0 鍏ㄩ潰閾哄紑銆丄SF 姣曚笟涓€鍛ㄥ勾
-
-浠� 2019 骞村埌鐜板湪锛屽湪 Dubbo 姣曚笟鐨勮繖涓€骞存椂闂撮噷锛孌ubbo 绀惧尯鍜屼骇鍝侀兘鍙栧緱闀胯冻杩涙锛屽悓鏃� Dubbo 浜戝師鐢熺増鏈� - Dubbo 3.0 鐨勫紑鍙戝伐浣滀篃宸茬粡鍏ㄩ潰閾哄紑銆�
-
-绀惧尯鏂归潰銆傞渶瑕侀噸鐐规彁鍙婄殑鏈変袱鐐癸細涓€涓槸钀藉湴涓庤础鐚殑浼佷笟鐢ㄦ埛杩涗竴姝ュ鍔狅紝涓诲姩涓庣ぞ鍖哄彇寰楄仈绯荤殑涓€佸ぇ瑙勬ā鍏徃杈� 200 澶氬锛屽鎼虹▼銆佸伐鍟嗛摱琛屻€佺摐瀛愪簩鎵嬭溅銆佺綉鑱旀竻绠椼€佷腑閫氱瓑锛涘彟涓€涓槸浠� Dubbo-go 涓轰唬琛ㄧ殑瀛愮ぞ鍖鸿摤鍕冨彂灞曘€�
-
-浜у搧鎶€鏈紨杩涙柟闈€€侱ubbo Java 鐗堝彂甯� 10 涓増鏈紝鍦ㄥ璇█銆佸崗璁€佹€ц兘銆佹湇鍔℃不鐞嗘ā鍨嬬瓑鏂归潰閮芥湁娣卞害鎺㈢储銆侱ubbo go 鍙戝竷瓒呰繃 8 涓増鏈紝鍦ㄥ姛鑳藉熀鏈榻� Java 鐗堟湰鐨勫熀纭€涓婏紝涓€浜涙柟鍚戜笂涔熷凡缁忚蛋鍦ㄤ簡 Java 鐗堟湰鍓嶉潰銆�
-
-鍊煎緱涓€鎻愮殑鏄紝闃块噷宸村反鍐呴儴涔熸鍦ㄧН鏋佹帹鍔� Dubbo 绀惧尯鐗堟湰鍦ㄥ唴閮ㄧ殑钀藉湴锛屼粠浠婂勾寮€濮嬮€愭瀹炵幇浠� Dubbo 鏇挎崲鍏跺唴閮ㄧ殑 HSF 妗嗘灦銆傝繖涓€鏂归潰鏈夊埄浜庨樋閲屽皢鍏跺湪 HSF 涓婄殑涓板瘜鏈嶅姟娌荤悊缁忛獙鍥為杈撳嚭鍒扮ぞ鍖猴紝鍙︿竴鏂归潰闃块噷瀹樻柟鐨勮惤鍦颁篃灏嗙洿鎺ュ姞閫� Dubbo 浜戝師鐢熺殑鍙戝睍銆�
-
-鍦ㄤ簯鍘熺敓澶ф疆涓嬶紝3.0 宸茶姝e紡鍒椾负浠婂勾 Dubbo 浜у搧寤鸿鐨勬牳蹇冪洰鏍囷紝娑夊強涓嬩竴浠� RPC 鍗忚銆佹湇鍔℃不鐞嗘ā鍨嬨€佷簯鍘熺敓鍩虹璁炬柦閫傞厤绛夊鏂归潰鐨勫唴瀹广€傚叾涓紝寰堝鏂归潰宸茬粡鍦ㄥ綋鍓嶇殑 2.7 鐗堟湰涓仛浜嗗墠缃€ф帰绱紝濡傝繎鏈熷彂甯冪殑鍩轰簬 HTTP/2 鐨勫崗璁敮鎸併€佸簲鐢ㄧ骇鏈嶅姟鍙戠幇绛夛紝鍚庣画宸ヤ綔灏嗕互姝や负鍩虹灞曞紑銆傜郴鍒楁枃绔犱篃浼氭湁瀵� Dubbo 3.0 Roadmap 鍙婃妧鏈柟妗堢殑璇︾粏瑙f瀽銆�
-
-## Dubbo 姣曚笟涓€鍛ㄥ勾鍥為【
-
-2017 骞� 7 鏈堬紝Dubbo 寮€婧愰」鐩閲嶆柊婵€娲伙紝2018 骞存崘鐚埌 Apache 鍩洪噾浼氾紝2019 骞� 5 鏈堬紝Dubbo 姝e紡浠� Apache 鍩洪噾浼氬鍖栨瘯涓氾紝鎴愪负 Apache 椤剁骇椤圭洰銆傛帴涓嬫潵锛屾枃绔犲垎鍒粠绀惧尯銆佸瓙绀惧尯銆佷骇鍝佷笁鏂归潰浠嬬粛 Dubbo 杩囧幓涓€骞寸殑鎴愮哗銆�
-
-### 绀惧尯涓€骞村彂甯� 24 涓増鏈紝璐$尞鑰呭凡瓒� 300
-
-濡傛灉璇存渶寮€濮嬮噸鏂版縺娲绘槸浠ラ樋閲屽反宸翠负涓诲鐨勯」鐩淮鎶ゆ姇鍏ワ紝閭h嚜 Dubbo 鍔犲叆 Apache 璧凤紝瀹冨氨宸茬粡寮€濮嬫垚涓轰竴涓ぞ鍖轰富瀵笺€佺ぞ鍖鸿础鐚负涓荤殑瀹屽叏寮€鏀剧殑鍩洪噾浼氶」鐩€�
-
-鍒颁粖澶╋紝杩欎竴瓒嬪娍姝e彉寰楁洿鏄庢樉銆傚寘鎷樋閲屽反宸淬€佹惡绋嬨€佸伐鍟嗛摱琛屻€佺摐瀛愪簩鎵嬭溅銆佺綉鑱旀竻绠椼€佷腑閫氱瓑鍦ㄥ唴鐨勪簰鑱旂綉銆佷紶缁熶紒涓氬叕鍙革紝鍦� Dubbo 鐨勪娇鐢ㄤ笌绀惧尯浠g爜璐$尞涓婇兘鏈夋姇鍏ャ€侱ubbo 绀惧尯姝e彉寰楅潪甯告椿璺冨拰澶氭牱鍖栥€�
-
-杩囧幓涓€骞达紝Dubbo 绀惧尯椤圭洰鎬诲叡鍙戝竷 24 涓増鏈紝鍙戝睍 Committer/PMC 27 浜猴紝鍏朵腑鏈� 20% 鐨勮础鐚€呮槸鏉ヨ嚜浜庨樋閲屽反宸达紝80% 浠ヤ笂鏉ヨ嚜涓嶅悓缁勭粐鐨勫紑鍙戣€呮垨鐖卞ソ鑰呫€�
-
-Dubbo 绀惧尯缁勭粐浜嗚秴杩� 10 鍦虹嚎涓� meetup 娲诲姩锛屽熀鏈鐩栦簡鍥藉唴寮€鍙戣€呰仛闆嗙殑鍩庡競銆傞€氳繃绾夸笅鎴栫嚎涓婄洿鎾椿鍔紝鍒嗕韩瓒呰繃 100 涓� topic 鐨勬紨璁诧紝娣卞害璁茶В Dubbo 绀惧尯鏈€鏂板姩鎬併€佸姛鑳芥ā鍧楀紑鍙戝拰杩戞湡瑙勫垝绛夈€備富棰樻紨璁插ぇ澶氭槸绀惧尯閲囬泦鏂瑰紡锛岀敱 Dubbo 鐨勬繁搴︿紒涓氬垎浜疄璺电粡楠岋紝鍏朵腑鍏稿瀷鐨勪唬琛ㄥ寘鎷惡绋嬨€佸伐鍟嗛摱琛屻€佽€冩媺銆佷俊鐢ㄧ畻鍔涚瓑銆�
-
-浠� GitHub 缁熻鏁版嵁鏉ョ湅锛孌ubbo Star 鏁板彇寰楁柊鐨勯噷绋嬬锛屽凡瓒呰繃 3 涓囷紝鐩告瘮閲嶅惎寮€婧愭椂澧為暱浜嗚繎 5 鍊嶏紱璐$尞鑰呯敱鏈€鍒濈殑鍑犲崄涓闀垮埌鐜板湪鐨� 300 澶氫釜锛岃€岃繖鍏朵腑鏈� 60 澶氫汉宸茬粡琚彁鍚嶄负 committer锛屼笉璁烘槸璐$尞鑰呮暟閲忚繕鏄� committer 姣斾緥閮藉緱鍒板緢澶х殑鎻愬崌锛汥ubbo Java 鍙戝竷鐨勬湁 65 涓€�
-
-涓婅堪涓昏鏄 Dubbo Java 椤圭洰绀惧尯鍙戝睍鐨勬€荤粨锛屼笅闈㈠皢浠嬬粛 Dubbo Java 浜у搧鏂归潰鐨勮繘灞曘€�
-
-### Dubbo Java 杩唬锛岀洰鍓嶄富瑕佺淮鎶� 3 涓ぇ鐗堟湰
-
-褰撳墠绀惧尯缁存姢鐨� Dubbo Java 澶х増鏈富瑕佹湁 3 涓紝鍒嗗埆鏄� 2.5.x銆�2.6.x 鍜� 2.7.x銆�
-
-2.7.x 鏄ぞ鍖虹殑涓昏寮€鍙戠増鏈紝鍦ㄨ繃鍘荤殑涓€骞村叡鍙戝竷浜� 8 涓増鏈紙2.7.0 - 2.7.7锛夛紝姣忎釜鐗堟湰閮芥湁涓€浜涘€煎緱鍏虫敞鐨勭壒鎬ф垨鍔熻兘鍗囩骇锛屾兜鐩栦粠缂栫▼妯″瀷銆佹湇鍔℃不鐞嗐€佹€ц兘鍒板崗璁殑澶氫釜鏂归潰鐨勫寮猴紱
-
-2.6.x 鐗堟湰鍒欏畾浣嶄负 bugfix 鐗堟湰锛岃繃鍘讳竴骞村叡鍙戝竷浜� 3 涓増鏈紝涓昏浠ヤ慨澶嶉棶棰樺拰瀹夊叏婕忔礊涓轰富锛屽苟娌℃湁澧炲姞澶鏂扮殑 feature锛�
-
-2.5.x 鐗堟湰浠� 2019 骞村垵寮€濮嬪凡瀹e竷 EOF锛屽彧鍋氬畨鍏ㄤ慨澶嶏紱鑰屽埌浜嗕笅鍗婂勾宸茬粡瀹屽叏鍋滄浜嗙淮鎶ゃ€�
-
-涓嬮潰閫氳繃涓€涓畝瑕佸垎灞傛ā鍧楀浘锛屽洖椤捐繃鍘讳竴娈垫椂闂� Dubbo 鐨勬妧鏈灦鏋勬紨杩涳紝浠庣紪绋嬫ā鍨嬨€佹湇鍔℃不鐞嗐€佷紶杈撳崗璁€佹€ц兘浼樺寲绛夎搴﹀垏鍏ワ細
-
-![dubbo-go 鐨勬椂闂磋酱](../../pic/course/ten-year-dubbo-1.png)
-
-浠ヤ笂寰堝鍔熻兘閮藉凡琚悇澶у巶鍟嗚惤鍦帮紝鐢ㄤ簬瑙e喅鍏蜂綋鐨勪笟鍔¢棶棰樸€傛垜浠篃鏈熷緟锛屾帴涓嬫潵杩欎簺鍘傚晢甯︽潵鏇村鍏充簬 Dubbo 瀹炶返缁忛獙鐨勬繁搴︽€荤粨銆�
-
-## Dubbo-go 鍙戝睍鐨勭浜斿勾锛屾涓� Dubbo 榻愬ご骞惰繘
-
-闄� Dubbo Java 涔嬪锛孌ubbo 鍛ㄨ竟涔熷彂灞曞嚭浜嗗緢澶氫紭绉€鐨勫瓙椤圭洰锛堝瓙绀惧尯锛夛紝鍏朵腑鍖呮嫭 Dubbo-spring-boot-project銆丏ubbo-go 绛夛紝杩欓噷鍏堢潃閲嶄粙缁� Dubbo-go 瀛愮ぞ鍖恒€�
-
-Dubbo-go 椤圭洰鏈€鏃╃敱浜庨洦鍦� 2016 骞� 5 鏈堟瀯寤猴紝鍚屽勾 9 鏈堝彂甯冨苟寮€婧愶紝濡備笅鏃堕棿杞村浘娓呮櫚璁板綍浜� Dubbo-go 鐨勫墠涓栦粖鐢熴€�
-
-![dubbo-go 鐨勬椂闂磋酱](../../pic/arch/dubbo-go-one-year-1.png)
-
-绉夋壙 "bridge the gap between Java and Go" 澶╃劧浣垮懡鐨� Dubbo-go锛屽凡缁忚繘鍏ョ浜斾釜骞村ご锛屼篃璧板嚭浜嗚嚜宸辩嫭鐗圭殑鍙戝睍璺緞锛�
-
-- 褰撳墠鐨� v1.4.0 鐗堟湰宸插榻� 2.6.x 鐗堟湰锛屽嵆灏嗗彂甯冪殑鐗堟湰灏嗕笌 v2.7.x銆愬鏍� v2.7.5銆戝榻愶紝鑰屽悗灏嗕細鍙戝竷瀵规爣 Dubbo 3.x 鐨� v1.6.0 鐗堟湰锛�
-
-- 鐙珛缁存姢浠庡簳灞傜殑 hessian2 鍗忚搴� Dubbo-go-hessian2銆佺綉缁滃簱 getty 鍒颁笂灞傚鏍� Dubbo 鐨� Dubbo-go 鐨勫叏濂楀疄鐜帮紱
-
-- 鐙珛鐨� TCP + Protobuf 鍜� gRPC + JSON 閫氫俊鏂规涔熷凡寮€鍙戝畬鎴愩€愬皢鍖呭惈鐫€鍦ㄧ増鏈� v1.5.0 涓€戯紱
-
-- 宸蹭笌 Dubbo/gRPC/Spring Boot 瀹炵幇浜掕仈浜掗€氾紱
-
-- 閫氳繃鎺ュ叆 Opentracing 鍜� Promethus锛孌ubbo-go 鍦ㄥ彲瑙傛祴鎬х瓑寰湇鍔℃柟鍚戠殑杩涜浜嗚嚜宸辩嫭鐗圭殑鎺㈢储锛�
-
-- 宸插疄鐜颁簡鍩轰簬 HTTPS 鐨勫彲淇� RPC 璋冪敤锛�
-
-- 宸茬粡瀹炵幇浜嗚嚜宸辩嫭鐗圭殑鎶� Kubernetes 浣滀负娉ㄥ唽涓績鐨勫井鏈嶅姟鏂规锛�
-
-Dubbo-go 浠庢渶寮€濮� Dubbo 鐨� Go 璇█瀹炵幇锛屽凡鍙戝睍鎴愪负鐩墠 Dubbo 澶氳瑷€鐗堟湰涓姛鑳芥渶寮哄ぇ鑰咃紝瀹冪殑鍙戝睍绂讳笉寮€鑳屽悗寮哄ぇ鐨� Dubbo-go 绀惧尯銆傞櫎浜嗕笂杩� Dubbo-go 鐨勮嚜韬壒鎬у锛岄€氳繃璺ㄧぞ鍖哄悎浣滐紝鍙栧緱浜嗗涓嬫垚缁╋細
-
-- 閫氳繃涓� MOSN 绀惧尯鍚堜綔锛屽凡缁忓疄鐜� Dubbo/Dubbo-go 搴旂敤鍙互闆舵垚鏈帴鍏ュ熀浜� MOSN 瀹炵幇 Dubbo Mesh锛屽疄鐜板井鏈嶅姟鍜屼簯鍘熺敓鍏卞瓨鐨� 鈥滃弻妯″井鏈嶅姟鈥濓紱
-
-- 涓� sentinel 绀惧尯鍚堜綔锛屽湪 Dubbo/Dubbo-go 瀹屾暣鎺ュ叆 sentinel 鐨勯檷绾у拰闄愭祦鏂规锛�
-
-- 涓� Apollo 绀惧尯鍚堜綔锛屽湪 Dubbo-go 涓疄鐜拌繙绋嬮厤缃笅鍙戯紱
-
-- 涓� Nacos 绀惧尯鍚堜綔锛屽疄鐜板熀浜� Nacos 鐨勬湇鍔″彂鐜帮紱
-
-### Dubbo-go 绀惧尯 2020 骞� Q2 涓昏鐩爣鏈夛細
-
-鍙戝竷瀹屽叏瀵归綈 Dubbo 2.7.x 鐨� v1.5.0 鐗堟湰锛�
-
-鍙戝竷瀵规爣 Dubbo 3.0 鐨� v1.6.0 鐗堟湰锛�
-
-鍦ㄤ簯鍘熺敓鏂归潰缁х画鑷繁鐨勬帰绱紱
-
-缁х画涓庡厔寮熺ぞ鍖轰繚鎸佸悎浣滃叡杩涙€佸娍锛屾墿澶ц嚜韬娇鐢ㄨ寖鍥达紱
-
-鐢熶骇瀹炶返涓婃帹杩涘湪闃块噷闆嗗洟锛屼互鍙婃洿澶氬巶瀹剁殑钀藉湴銆�
-
-椤圭洰锛堝寘鎷瓙椤圭洰锛夌洰鍓嶅凡鍏堝悗鍦ㄦ惡绋嬨€佹秱楦︽櫤鑳藉拰铓傝殎閲戞湇绛夊叕鍙哥敓浜ц惤鍦般€�
-
-浠婂勾闃块噷闆嗗洟瀹屾垚 HSF 鍜� Dubbo 鐨勮瀺鍚堝悗锛岄」鐩篃灏嗗湪闃块噷闆嗗洟鍙屽崄涓€鎴樺満缁忓彈鑰冮獙銆�
-
-## 浜戝師鐢� Dubbo - Dubbo 3.0
-
-3.0 鏄笅涓€浠� Dubbo 鏋舵瀯鐨勪唬鍙枫€備竴骞村墠锛屾渶寮€濮嬫帰绱� Reactive Stream 涔嬫椂锛岀ぞ鍖轰篃鏇炬湁杩囧 Dubbo 3.0 鐨勫箍娉涜璁恒€傝€岃繖涓€娆★紝鍦ㄤ簯鍘熺敓澶ц儗鏅笅锛�3.0 浠h〃浜嗘洿鍏ㄩ潰鐨� Dubbo 鏋舵瀯鍗囩骇锛屾秹鍙婂埌涓嬩竴浠� RPC 鍗忚銆佸叏鏂扮殑鏈嶅姟娌荤悊妯″瀷鍜屼簯鍘熺敓鍩虹璁炬柦閫傞厤绛夈€�
-
-闃块噷宸村反鏄弬涓� Dubbo 3.0 寮€鍙戝缓璁剧殑涓昏鍔涢噺涔嬩竴锛岃繖娆惧浜庨樋閲岀殑寮€婧愰」鐩閲嶆柊鍥炲綊闃块噷鍐呴儴钀藉湴銆�
-
-鍘诲勾寮€濮嬶紝闃块噷宸村反灏卞凡缁忓湪閫愭鎺ㄥ姩浠� Dubbo 鏇挎崲鍏跺唴閮ㄧ殑 HSF 妗嗘灦鐨勫伐浣滐紝閫氳繃灏� Dubbo 涓� HSF 涓や釜妗嗘灦铻嶄负涓€浣擄紝骞跺湪姝ゅ熀纭€涓婂彂灞曞嚭閫傚簲浜戝師鐢熸灦鏋勭殑 Dubbo 鐗堟湰銆侱ubbo 閲嶅洖闃块噷宸村反鐨勮惤鍦版槸鎷ユ姳绀惧尯銆佹嫢鎶变簯鍘熺敓銆佹嫢鎶辨爣鍑嗗寲鐨勪竴娆″緢濂界殑瀹炶返銆�
-
-闃块噷宸村反鍐呴儴 Dubbo 3.0 鐨勮惤鍦帮紝瀵圭ぞ鍖轰篃鏄竴涓噸澶у埄濂斤紝杩欎竴鏂归潰鏈夊埄浜庨樋閲屽反宸村皢鍏跺湪 HSF 涓婄殑涓板瘜鏈嶅姟娌荤悊缁忛獙鍥為杈撳嚭鍒扮ぞ鍖猴紝鍙︿竴鏂归潰涔熷皢鐩存帴鎺ㄥ姩 Dubbo 浜戝師鐢熸灦鏋勭殑蹇€熸紨杩涖€傞櫎浜嗛樋閲屽反宸翠箣澶栵紝鍖呮嫭鏂楅奔銆佸伐鍟嗛摱琛屻€佺埍濂囪壓銆佹枟楸肩瓑鍘傚晢涔熼兘鍦ㄥ弬涓庝笅涓€浠� Dubbo 3.0 鐨勫缓璁俱€�
-
-涓嬮潰鍒楀嚭浜� Dubbo 3.0 涓殑涓変釜閲嶈鏂瑰悜锛屽叿浣撶殑 Roadmap 灏嗗湪鎺ヤ笅鏉ユ枃绔犱腑鍗曠嫭璇存槑锛�
-
-- 涓嬩竴浠� RPC 鍗忚銆傛柊鍗忚灏嗘彁渚涙洿涓板瘜鐨勫 Stream銆丗low Control 绛夊唴缃涔夛紝鍚屾椂灏嗗叿鏈夋洿濂界殑鎵╁睍鎬с€佺綉鍏崇殑鍙嬪ソ鎬х瓑锛�
-
-- 鍩轰簬搴旂敤绮掑害鐨勬湇鍔″彂鐜版満鍒躲€傚湪鍏奸【 Dubbo 闈㈠悜鎺ュ彛鐨勬槗鐢ㄦ€т笌鍔熻兘鎬х殑鍩虹涓婏紝瑙e喅涓� Kubernetes Native Service 閫傞厤闂锛岃В鍐冲ぇ瑙勬ā闆嗙兢涓嬬殑鍦板潃鎺ㄩ€佹€ц兘鐡堕闂锛�
-
-- 閫傞厤浜戝師鐢熷熀纭€璁炬柦鐨勮В鍐虫柟妗堛€傝繖娑夊強鍒� Dubbo 鏈嶅姟涓庡熀纭€璁炬柦鐢熷懡鍛ㄦ湡瀵规帴銆並ubernetes Native Service 閫傞厤銆侀€傚簲鍩虹璁炬柦璋冨害鐨勬湇鍔℃不鐞嗚鍒欍€侀€傞厤 Service Mesh 鏋舵瀯鐨勮В鍐虫柟妗堢瓑锛�
-
-鎺ヤ笅鏉ユ部鐫€杩欎笁涓柟闈㈢畝瑕佸睍寮€銆�
-
-### 涓嬩竴浠� RPC 鍗忚
-
-涓撴敞鍦ㄥ崗璁嚜韬潵璇达紝涓嬩竴浠g殑鍗忚涓昏鑱氱劍鍦� HTTP/2銆丷eactive Stream銆丗low Control 绛夋柟闈細
-
-- **Reactive Stream**锛歊eactive Stream 寮曞叆 RPC锛屽甫鏉ユ洿涓板瘜鐨勯€氫俊璇箟鍜� API 缂栫▼妯″瀷鏀寔锛屽 Request-Stream銆丅i-Stream 绛夛紱
-
-- **HTTP/2**锛氬井鏈嶅姟浜戝師鐢熷満鏅笅锛屽熀浜� HTTP/2 鏋勫缓鐨勯€氫俊鍗忚鍏锋湁鏇村ソ鐨勯€氱敤鎬у拰绌块€忔€э紱
-
-- **Flow Control**锛氬崗璁唴缃祦鎺ф満鍒讹紝鏀寔绫讳技 Reqctive Stream 鐨� Request (n) 娴佹帶鏈哄埗銆�
-
-浠庤В鍐崇殑涓氬姟鍦烘櫙闂涓婃潵璇达紝鍩轰簬鏂扮殑鍗忚 Dubbo 鍦ㄦ鏋跺眰闈㈣鏀寔鏅鸿兘鍐崇瓥鐨勮礋杞藉潎琛$畻娉曘€佸 Mesh 鍜岀綉鍏虫洿鍙嬪ソ銆佹洿瀹规槗鎻愪緵澶氳瑷€瀹炵幇涓庝簰閫氱瓑銆�
-
-- **Mesh**锛氬崗璁绌块€� Mesh 鏇村弸濂斤紝鍖哄垎鍗忚澶� Metadata 涓� RPC Payload锛屾柟渚垮畬鎴愪笌 Mesh 鐨勫崗浣滐紝鍖呮嫭娴侀噺鎺у埗鏈哄埗銆佸簲鐢ㄥ眰閰嶇疆鍗忓晢绛夛紱
-
-- **鍗忚閫氱敤鎬�**锛氬吋椤鹃€氱敤鎬т笌鎬ц兘锛屾敮鎸佸崗璁兘鍦ㄥ悇绉嶈澶囦笂杩愯锛�
-
-- **澶氳瑷€鏀寔**锛氬閫氳繃鏀寔 Protobuf 鎻愪緵浜嗘洿瀹屽杽鐨� 璺ㄨ瑷€鏈嶅姟瀹氫箟 涓� 搴忓垪鍖栦紶杈撶殑鏀寔銆�
-
-### 搴旂敤绾ф湇鍔℃不鐞�
-
-闈㈠悜鎺ュ彛涓€鐩翠互鏉ラ兘鏄� Dubbo 妗嗘灦鐨勪紭鍔裤€備竴鏂归潰瀹冪殑鏄撶敤鎬э紝涓哄紑鍙戣€呭睆钄戒簡杩滅▼璋冪敤鐨勫瓨鍦紱鍙︿竴鏂归潰闈㈠悜鎺ュ彛鐨勫湴鍧€鍙戠幇銆佹湇鍔℃不鐞嗗甫鏉ヤ簡鏇村己澶х殑鑳藉姏锛屼娇寰楁暣涓� Dubbo 娌荤悊浣撶郴闈炲父寮哄ぇ涓庣伒娲汇€�
-
-鏃㈢劧闈㈠悜鎺ュ彛鏈夊姝ゅ鐨勫ソ澶勶紝閭d负浠€涔堟垜浠繕瑕佹帰绱㈤潰鍚戝簲鐢ㄧ殑鏈嶅姟娌荤悊妯″紡鍛紵
-
-鍚捣鏉ヤ技涔庢湁浜涚煕鐩俱€傚叾瀹炲埌搴曟槸闈㈠悜鎺ュ彛锛岃繕鏄潰鍚戝簲鐢紝鍙槸浠庝笉鍚岀殑瑙掑害鐪� Dubbo銆傛垜浠墍鑱婄殑鈥滈潰鍚戞帴鍙� -> 闈㈠悜搴旂敤鈥濈殑鏀归€狅紝涓昏浣撶幇鍦ㄦ湇鍔℃敞鍐屻€佸彂鐜板眰闈細
-
-![dubbo-go 鐨勬椂闂磋酱](../../pic/course/ten-year-dubbo-2.png)
-鑰屾垜浠鐨勯潰鍚戝簲鐢ㄧ殑鏂版ā鍨嬶紝涓昏瀵圭 2 鐐癸紝鍗虫敞鍐屼腑蹇冪殑鏁版嵁缁勭粐杞彉涓� 鈥滈潰鍚戝簲鐢�/瀹炰緥鈥� 绮掑害銆傝繖涓烘垜浠В鍐充袱涓棶棰橈細
-
-- 鍦ㄦ湇鍔″彂鐜板眰闈笌 Kubernetes Service 绛夊井鏈嶅姟妯″瀷瀵归綈锛�
-
-- 鏈嶅姟鍙戠幇鐨勬暟鎹噺灏嗘湁涓€涓噺绾х殑涓嬮檷锛屼粠 鈥滄帴鍙f暟 _ 瀹炰緥鏁� 鈥濅笅闄嶅埌 鈥滃簲鐢ㄦ暟 _ 瀹炰緥鏁扳€濄€�
-
-鍏蜂綋鍙互鍙傝鏂囩珷銆奃ubbo 杩堝嚭浜戝師鐢熼噸瑕佷竴姝� - 搴旂敤绾ф湇鍔″彂鐜拌В鏋愩€嬶紝鏈郴鍒楁枃绔犲悗缁篃浼氭湁瀵硅繖閮ㄥ垎鏈哄埗鍜屽疄鐜扮殑鏇存繁搴﹁В鏋愩€�
-
-浜戝師鐢熷熀纭€璁炬柦
-浜戝師鐢熷甫鏉ヤ簡搴曞眰鍩虹璁炬柦锛屽簲鐢ㄥ紑鍙戙€侀儴缃插拰杩愮淮绛夊叏鏂逛綅鐨勫彉鍖栵細
-
-鍩虹璁炬柦
-
-鍩虹璁炬柦璋冨害鏈哄埗鍙樺寲锛屽甫鏉ヨ繍缁达紙鐢熷懡鍛ㄦ湡锛夈€佹湇鍔℃不鐞嗙瓑鏂归潰鐨勫彉鍖栵紱
-
-鏈嶅姟鍙戠幇鑳藉姏涓嬫矇锛� Kubernetes 鎶借薄浜� Native Service Discovery銆�
-
-Service Mesh - 浜戝師鐢熷井鏈嶅姟瑙e喅鏂规
-
-- Mesh 涓鸿法璇█銆乻dk 鍗囩骇绛夋彁渚涗簡瑙e喅鏂规锛孌ubbo sdk 瑕佷笌 Mesh 鍗忎綔锛屽仛鍒板姛鑳姐€佸崗璁€佹湇鍔℃不鐞嗙瓑澶氭柟渚跨殑閫傞厤锛�
-
-- Mesh 灏氭湭澶ц妯¢摵寮€锛屼笖鍏舵洿閫傚悎瀵规祦閲忕鎺ф洿鍏虫敞鐨勫簲鐢紝浼犵粺 SDK 鐨勬€ц兘浼樺娍浠嶆棫瀛樺湪锛屼袱鑰呮贩閮ㄨ縼绉诲満鏅彲鑳戒細闀挎湡瀛樺湪銆�
-
-浠庡簲鐢ㄥ満鏅笂锛孌ubbo 鍙兘鐨勯儴缃茬幆澧冨寘鎷細
-
-涓嶄娇鐢� Kubernetes Native Service锛孠ubernetes 鍙綔涓哄鍣ㄧ紪鎺掕皟搴﹁鏂斤紝缁х画浣跨敤 Dubbo 鑷缓鐨勬湇鍔℃敞鍐屻€佸彂鐜版満鍒讹紱
-
-澶嶇敤 Kubernetes Native Service锛孌ubbo 涓嶅啀鍏冲績鏈嶅姟娉ㄥ唽锛孌ubbo Client 璐熻矗鏈嶅姟鍙戠幇涓庢祦閲忓垎閰嶏紱
-
-Dubbo sdk 寰€ Mesh 杩佺Щ锛屼竴鏂归潰瑕佸仛鍒伴€傚簲 Mesh 鏋舵瀯锛屾垚涓� Mesh 浣撶郴涓嬬殑 RPC 缂栫▼鍜岄€氫俊鏂规锛涘彟涓€鏂归潰瑕佸仛鍒� Dubbo 涓� Mesh 鏋舵瀯闀挎湡鍏卞瓨锛屼簰鐩告墦閫氭湇鍔″彂鐜板拰娌荤悊浣撶郴锛�
-
-Kubernetes 涓婁笌浜戜笅娣峰悎閮ㄧ讲鐨勫钩婊戣縼绉绘敮鎸侊紝鍖呮嫭鏈嶅姟鍙戠幇鐨勭粺涓€涓庣綉缁滈€氫俊鏂规鐨勬墦閫氥€�
-
-浠� Dubbo 鍔熻兘鍒掑垎涓婏紝灏嗙潃閲嶄粠浠ヤ笅鏂归潰鎻愪緵瀵逛簯鍘熺敓鍩虹璁炬柦鐨勬敮鎸侊細
-
-- **鐢熷懡鍛ㄦ湡**锛欴ubbo 涓� Kubernetes 璋冨害鏈哄埗缁戝畾锛屼繚鎸佹湇鍔$敓鍛藉懆鏈熶笌 Pod 瀹瑰櫒绛夌敓鍛藉懆鏈熺殑鑷姩瀵归綈锛�
-
-- **娌荤悊瑙勫垯**锛氭湇鍔℃不鐞嗚鍒欏湪瑙勫垯浣撱€佽鍒欐牸寮忔柟闈㈣繘琛屼紭鍖栵紝濡傝鍒欎綋浠� YAML 鎻忚堪銆佸彇娑堣繃婊よ鍒欏 IP 鐨勭洿鎺ヤ緷璧栵紝瀹氫箟瑙勫垯鐗规湁鐨� CRD 璧勬簮绛夛紱
-
-- **鏈嶅姟鍙戠幇**锛氭敮鎸� K8S Native Service 鐨勬湇鍔″彂鐜帮紝鍖呮嫭 DNS銆丄PI-Server锛屾敮鎸� xDS 鐨勬湇鍔″彂鐜帮紱
-
-- **Mesh 鏋舵瀯鍗忎綔**锛氭瀯寤轰笅涓€浠g殑鍩轰簬 HTTP/2 鐨勯€氫俊鍗忚锛屾敮鎸� xDS 鐨勬爣鍑嗗寲鐨勬暟鎹笅鍙戙€�
-
-鏂颁竴浠g殑 RPC 鍗忚鍜屽簲鐢ㄧ骇鏈嶅姟鍙戠幇妯″瀷灏嗕細鏄繖涓€閮ㄥ垎鐨勫墠缃熀纭€銆�
-
-## 鎬荤粨涓庡睍鏈�
-
-浣滀负绯诲垪鏂囩珷寮€绡囷紝鎴戜滑鍦ㄨ繖閲屽 Dubbo 杩囧幓涓€骞寸殑鎴愮哗鍋氫簡绠€瑕佺殑鎬荤粨涓庡洖椤撅紝鍖呮嫭 Dubbo 绀惧尯銆佷骇鍝佽凯浠g殑鍙戝睍銆傛帴涓嬫潵鎴戜滑浼氱湅鍒版洿澶氭潵鑷繁搴� Dubbo 鐢ㄦ埛鐨勮惤鍦扮粡楠屽垎浜紝Dubbo-go 瀛愮ぞ鍖虹殑鍙戝睍鏁呬簨绛夈€傛洿閲嶈鐨勶紝鎴戜滑涔熷涓嬩竴浠d簯鍘熺敓 Dubbo - Dubbo 3.0 鍋氫簡灞曟湜锛屽悗缁叧浜� Dubbo 3.0 Roadmap銆佹柟妗堣璁′笌杩涘睍瑙f瀽绛変篃灏嗗湪姝ょ郴鍒椾腑鍙戝竷銆�
-
-鍦ㄣ€愰樋閲屽反宸翠簯鍘熺敓鍏紬鍙枫€戠暀瑷€璇村嚭涓� Apache Dubbo 鐨勬晠浜嬶紝鐐硅禐鎺掑悕鍓嶅崄鐨勫悓瀛﹀彲棰嗗彇 Dubbo 閫佸嚭鐨勪笓灞炲鍝佹澂瀛愪竴鍙紱鍙﹀鐢� Apache Dubbo PMC @Chickenlj 闅忔満鎶藉彇涓€鍚嶅垢杩愯鑰咃紝璧犻€佷环鍊� 260 鍏冩姢鐪肩伅涓€鍙般€備笅鍛ㄤ笁寮€濂栥€�
diff --git a/doc/md/course/the-5th-years-of-dubbo-go.md b/doc/md/course/the-5th-years-of-dubbo-go.md
deleted file mode 100644
index 288c8ab0fba01f2101b737dd8841680367512d6f..0000000000000000000000000000000000000000
--- a/doc/md/course/the-5th-years-of-dubbo-go.md
+++ /dev/null
@@ -1,165 +0,0 @@
-# [鍐欏湪 Dubbo go 鐨勭浜斿勾](https://my.oschina.net/u/3874284/blog/4577120)
-
-09/16 14:33
-
-![澶村浘.png](../../pic/course/the-5th-years-of-dubbo-go-a.png)
-
-浣滆€� |聽浜庨洦
-
-**闃块噷宸村反浜戝師鐢熷叕浼楀彿鍚庡彴鍥炲鈥�915鈥濆嵆鍙煡鐪� dubbogo聽v1.5.1聽椤圭洰绠$悊鍥炬竻鏅板ぇ鍥撅紒**
-
-# 寮曡
-
-dubbogo 椤圭洰宸茶繘鍏ョ浜斾釜骞村ご銆�
-
-椤圭洰鍙戝睍鐨勫墠涓ゅ勾锛屾垜浠妸 hessian2 鍗忚搴撱€佺綉缁滃簱鍜屾暣浣撳熀纭€妗嗘灦鎼缓涓€鐣€備粠 2018 骞撮」鐩 Dubbo 瀹樻柟鎺ョ撼寮€濮嬶紝渚濇墭闃块噷骞冲彴锛岀ぞ鍖哄紑濮嬪舰鎴愬苟蹇€熷彂灞曘€備笌绀惧尯鍚屽浠綈蹇冨悎鍔涗箣涓嬶紝濡備粖鍏ㄩ潰鍏煎 Dubbo v2.7.x 鐨� Dubbo-go v1.5.1 宸茬粡鍙戝竷銆�
-
-# 绔嬮」
-
-涓€涓」鐩暣浣撳繀椤绘彁鐐煎嚭鏍稿績鐩爣锛屾寚鏄庡叾瀛樺湪鐨勬剰涔夊拰浠峰€笺€傛湁浜嗗垵蹇冿紝椤圭洰鍙戝睍杩囩▼涓骇鐢熷洶鎯戞椂锛屾墠鑳芥槑纭瓟澶� 鈥滄垜鏄皝锛熶粠鍝噷鏉ワ紵鍒板摢閲屽幓鈥濄€�
-
-## 1\. dubbogo
-
-dubbogo 椤圭洰鏈夊叾鑷韩鐨� milestone 瑕佹眰锛屽ぇ鑷磋鍒掍簡姣忎釜闃舵鐨勫叧閿噷绋嬬锛屽湪椤圭洰鍙戝睍鍒濇湡浠呬粎鏄疄鐜� Dubbo 鐨勬煇涓姛鑳斤紝浣嗗湪鍙戝睍杩囩▼涓細涓嶆柇缁撳悎褰撲笅鐨勬妧鏈彂灞曟疆娴侊紝涓嶆柇淇鍏舵湭鏉ュ彂灞曟柟鍚戙€�
-
-鍏跺彂鐗堣鍒掓槸閫氳繃鈥滃紑鍙戝綋鍓嶇増鏈€佽鍒掓柊鐗堟湰銆佹牴鎹弽棣堜慨姝f柊鐗堟湰鈥濈殑妯″紡瀹氫箟褰撳墠鐗堟湰鐨勫紑鍙戝唴瀹瑰拰涓嬩竴涓増鏈殑鍙戝睍鏂瑰悜銆傛瘡娆″彂鐗堝悗浼氭牴鎹ぞ鍖轰娇鐢ㄥ弽棣堝涓嬩竴浠g殑鍙戝睍鐩爣杩涜淇銆�
-
-绔欏湪鍚冪摐浜虹殑瑙掑害锛屾垨璁稿彲浠ヨ鍑� 鈥渄ubbogo 涓嶅氨鏄� dubbo 鐨� Go 璇█鐗堟湰鍢涳紝鐓х潃鎶勫氨鏄簡鈥� 涔嬬被鐨勮璋冦€傝€屽弬涓庤繃 dubbogo 椤圭洰璺熺潃绀惧尯涓€璺蛋鏉ョ殑浜猴紝灏辩煡閬� dubbogo 骞朵笉绠€鍗曞畾浣嶄簬 Dubbo 椤圭洰鐨� Go 璇█鐗堟湰銆�
-
-dubbogo 鍒濆績涓嶅彉锛屼笉鍚屾椂闂村鑷韩瀹氫綅鍧囨湁鍗囩骇銆傛垜璁や负褰撳墠 dubbogo 鐨勫畾浣嶆槸锛�
-
-*   鍏ㄩ潰鍏煎 Dubbo锛�
-*   涓€涓� Go 璇█搴旂敤閫氫俊妗嗘灦锛屽厖鍒嗗埄鐢ㄤ綔涓轰簯鍘熺敓鏃朵唬绗竴璇█---Go 璇█鐨勪紭鍔匡紝鎵╁睍 dubbo 鐨勮兘鍔涖€�
-
-## 2\. dubbo-go-proxy
-
-dubbogo 椤圭洰鍒濇湡鐩殑鏄緷闈� Dubbo 瀹炵幇 "bridge the gap between Java and Go" 锛岀洰鍓� dubbogo 姝d笌 Dubbo 榻愬ご骞惰繘锛屽凡缁忚揪鍒伴」鐩珛椤圭殑鐩爣銆傛湁闀挎湡鐢熷懡鐨勯€氫俊妗嗘灦锛屽ぇ姒傛湁 5 骞寸殑鎴愰暱鏈熷拰 5 骞寸殑绋冲畾鎴愮啛鏈熴€傜洰鍓嶇殑 dubbogo 澶勫湪鎴愰暱鏈熷拰绋冲畾鎴愮啛鏈熺殑杩囨浮鏈燂紝杩欐剰鍛崇潃绀惧尯濡傛灉鎯充繚鎸佸彂灞曟€佸娍锛屽氨蹇呴』寮€濮嬭蛋澶氬厓鍖栭亾璺紝鍙戝睍鑷繁鐨勭敓鎬佷簡銆�
-
-鐪间笅 dubbogo 绀惧尯姝e湪闆嗕腑绮惧姏瀛靛寲涓€涓柊鐨勯」鐩�---瀹炵幇涓€涓熀浜� dubbogo 鐨� [HTTP 缃戝叧](https://github.com/dubbogo/dubbo-go-proxy)锛岄」鐩殑鎰忎箟鏄細dubbogo 鑷韩鏄竴涓祦閲忔帶鍒朵腑闂翠欢锛屽湪鍏朵笂鎵╁睍椤圭洰锛屽叾鏂瑰悜寰堣嚜鐒跺氨鏄仛涓€涓� proxy/sidecar or gateway锛屼笖绀惧尯涓€鐩存湁缃戝叧杩欐柟闈㈢殑闇€姹傘€�
-
-椤圭洰鐩殑濡備笅锛�
-
-*   鍋氫竴涓叿鏈夌敓浜т娇鐢ㄦ剰涔夌殑缃戝叧锛�
-*   dubbo-go-proxy 楠岃瘉 dubbogo 鐨勮兘鍔涳紝瀵� dubbogo 鏈潵鐨勮繘鍖栨寚鍑烘柊鏂瑰悜锛屽叡鍚岃繘鍖栵紱
-*   浼樺寲 dubbogo 鐨勭ǔ瀹氭€у拰鎬ц兘銆�
-
-# 鍥㈤槦
-
-椤圭洰绔嬮」瀹屾瘯鍚庯紝灏辫繘鍏ユ嫑鍏典拱椹樁娈典簡銆�
-
-## 1\. 鏉ユ簮
-
-dubbogo 绀惧尯鍙戝睍鍒濇湡锛屽叾鍏抽敭鎴愬憳閮芥槸閫氳繃鎻愪氦 issue 鎴栬€� pr 鐨勫悓瀛︽挬鏉ョ殑銆傞€氳繃杩欑鏂瑰紡鎾╂潵鐨勫悓瀛﹀洜涓哄織鍚岄亾鍚堬紝鏈夋瀬楂樼殑姒傜巼鍚岀ぞ鍖轰竴璧疯蛋涓嬫潵銆俤ubbogo 绀惧尯鐨� core member 灏辨槸杩欐牱鏉ョ殑銆�
-
-鍏舵鏄笌鍏朵粬鍏徃鐨勫悎浣溿€俤ubbogo 鏈韩鏄竴涓湁鐫€鏋侀珮鐢熶骇鐜闇€姹傜殑椤圭洰锛屽湪鍙戝睍杩囩▼涓緷娆′笌鎼虹▼銆佹秱楦︺€佹枟楸笺€佽檸鐗欍€佽殏铓侀噾鏈嶅拰闃块噷闆嗗洟鏈夎繃鏋佹繁鐨勫悎浣滐紝鍏堕棿涓庢惡绋嬬殑鍚堜綔瀵� dubbogo 鎴愬瀷鑰岃█鏋佷负鍏抽敭銆�
-
-鍙︿竴涓€斿緞鏄笌鍏朵粬绀惧尯鍚堜綔銆俤ubbogo 椤圭洰鍙戝睍杩囩▼涓紝涓庝互涓嬬ぞ鍖哄悎浣滆繃锛�
-
-*   涓� MOSN 绀惧尯鍚堜綔瀹炵幇 Dubbo Mesh锛�
-*   涓� sentinel 绀惧尯鍚堜綔锛屽湪 Dubbo/Dubbo-go 瀹屾暣鎺ュ叆 sentinel 鐨勯檷绾у拰闄愭祦鏂规锛�
-*   涓� Apollo 绀惧尯鍚堜綔锛屽湪 Dubbo-go 涓疄鐜拌繙绋嬮厤缃笅鍙戯紱
-*   涓� Nacos 绀惧尯鍚堜綔锛屽疄鐜板熀浜� Nacos 鐨勬湇鍔″彂鐜般€�
-
-涓庡叾浠栫ぞ鍖哄悎浣滅殑濂藉鏄娇寰楀弻鏂圭殑椤圭洰閮藉彈鐩婏細鎵╁睍鍙屾柟鐨勮兘鍔涘拰浣跨敤鍦烘櫙锛屽叾娆℃槸绀惧尯闂翠汉鍛樼殑娴佸姩銆傚湪鍚堜綔杩囩▼涓紝dubbogo 鑷韩鍙楃泭鏋佸ぇ锛岀洰鍓嶆湁 4 涓ぞ鍖� committer 鏉ヨ嚜浜庡叾瀹冪ぞ鍖恒€傚悎浣滃畬鎴愬悗骞朵笉鎰忓懗鐫€缁撴潫锛岃€屾槸涓€涓柊鐨勫弻璧㈢殑寮€濮嬶細绀惧尯椤圭洰涔熸槸鍙戝睍鐨勶紝褰撲竴涓」鐩湁鏂扮壒鎬ф椂鍙互鍚屾椂蹇€熻鍙︿竴涓」鐩噰鐢ㄩ獙璇侊紝瀵规墿灞曞紑鍙戣€呬滑鐨勬妧鏈兘鍔涘拰浜鸿剦涔熸槸鏋佷负鏈夊埄鐨勶紝dubbogo 绀惧尯鐩墠鐨勫ソ鍑犱釜鍚屽鍚屾椂娲昏穬鍦ㄥ涓ぞ鍖恒€�
-
-dubbogo 椤圭洰宸茬粡杩囦簡鑽夎幗闃舵锛屽舰鎴愪簡涓€涓殑 800 澶氫汉鐨勭ぞ鍖虹兢锛屾墍浠� dubbogo-proxy 椤圭洰绔嬮」鍚庯紝寰堝揩灏卞湪绀惧尯缇ゅ唴鎵惧埌寰堝椤圭洰鐖卞ソ鑰呫€�
-
-## 2\. 鎴愬憳鐨� qualification
-
-椤圭洰鍙戝睍鍒濇湡鏈夊緢澶氬悓瀛︿細 Java 涓嶆噦 Dubbo 涓嶄細 Go锛屾渶鍚庨兘閫氳繃鍙備笌椤圭洰鎻愬崌浜嗚嚜鎴戠殑鑳藉姏銆傚綋鐒舵湁浜涗汉浼氭媴蹇冮」鐩唬鐮佺殑璐ㄩ噺锛屼絾鍙绉夋寔 "Community Over Code" 杩欎釜 "Apache Way"锛屽湪鍙戝睍杩囩▼涓繖浜涢棶棰橀兘涓嶅ぇ銆�
-
-2019 骞存椂锛屽弬涓� dubbogo 椤圭洰鐨勬垚鍛樹腑涓€閮ㄥ垎鍚屽骞虫椂鐨勫伐浣滄槸杩涜涓氬姟寮€鍙戯紝绉夋壙鐫€瀵逛腑闂翠欢閫氫俊鎶€鏈� 鈥滄垜鏄皝锛熸垜浠庡摢閲屾潵锛熻鍒伴偅閲屽幓鈥� 鐨勫垵蹇冨弬涓� dubbogo 鐨勫紑鍙戯紝鏃犺鏄 dubbogo 鎶戞垨鏄鍏惰嚜韬妧鏈按骞虫彁鍗囬兘浜х敓浜嗙Н鏋佺殑褰卞搷銆�
-
-dubbogo 绀惧尯瀵� dubbogo 鍙戠増鏃堕棿鏈変竴瀹氭湡闄愯姹傦紝鎵€浠ュ鍙備笌浜哄憳鐨勬椂闂存姇鍏ヤ篃鏈変竴瀹氱殑瑕佹眰銆傛瘡涓増鏈殑鏍稿績鍔熻兘鐨� owner锛岄渶瑕佷繚璇佸湪 deadline 鏈熼檺鍐呭畬鎴愬紑鍙戜换鍔°€�
-
-dubbogo 姣忎釜鐗堟湰閮芥湁涓€涓彂鐗堜汉锛岃礋璐g浉搴旂増鏈殑浠诲姟鎷嗗垎銆佸彂灞曡窡韪€佷唬鐮� Review 鍜屾渶鍚庣殑娴嬭瘯楠屾敹锛岃繖灏辫姹傚彂鐗堜汉鑷韩鐨勬妧鏈按骞冲拰鏃堕棿鎶曞叆鏋侀珮銆傜洰鍓� dubbogo 姣忎釜澶х増鏈殑鍙戠増浜洪兘涓嶆槸鍚屼竴涓汉锛屾瘡娆� dubbogo 鍙戠増锛岄兘鎰忓懗鐫€姣忎釜鍙戠増浜虹殑浣撳姏鍜岀簿鍔涚殑鏋佸ぇ浠樺嚭銆備簬鏌愬湪姝よ嚧鏁巻灞婂彂鐗堜汉锛�
-
-# 绠$悊
-
-椤圭洰绔嬮」鍚庯紝灏遍渶瑕佹槑纭彂灞曞ぇ鏂瑰悜銆佸彂灞� milestone銆佺増鏈鍒掋€佷互鍙婁竴娈垫椂闂村唴鐨勫叿浣撶殑寮€鍙戣鍒掋€傞」鐩彂灞曞垵鏈燂紝Roadmap 鍙互涓嶆竻鏅帮紝鍏堟懜鐫€鐭冲ご杩囨渤锛屽湪鍙戝睍杩囩▼涓€愭鏄庣‘鍏跺唴瀹广€�
-
-## 1\. 闇€姹傛敹闆�
-
-dubbogo 椤圭洰鍙戝睍鍒濇湡锛屽叾鐩爣浠呬粎鏄疄鐜� dubbo 鏌愪釜鐗堟湰鐨勫姛鑳斤紝 鎵€浠ュ叾闇€姹傛敹闆嗗苟涓嶇敤鑺辫垂寰堜箙鏃堕棿銆傞殢鐫€ 2019 骞� 8 鏈堜唤鍙戝竷 v1.0 鍚庯紝dubbogo 瓒婃潵瓒婂鍦拌澶氬鐢熶骇鍘傚晢鎶曞叆鐢熶骇浣跨敤鐜涓紝鐩墠鍏堕渶姹傛柟鏉ユ簮濡備笅锛�
-
-*   瀹炵幇 dubbo 鏌愪釜鐗堟湰鐨勫姛鑳斤紱
-*   瀹為檯浣跨敤鏂圭殑鐢熶骇闇€姹傦紱
-*   涓虹揣璺熷綋涓嬫渶杩戞妧鏈彂灞曟柟鍚戣€岃繘琛岀殑鎶€鏈婕斻€�
-
-dubbogo 褰撳墠鐨� K8s 娉ㄥ唽涓績鎶€鏈柟妗堝氨鏄揣璺熸渶鏂版妧鏈彂灞曟柟鍚戣€岃繘琛岄婕旂殑鏋佸ソ渚嬭瘉锛屽叾鍙戝睍鏃堕棿绾垮涓嬶細
-
-*   2019 骞� 7 鏈堬紝闅忕潃闃块噷闆嗗洟鍜岃殏铓侀噾鏈嶅湪浜戝師鐢熸柟鍚戠殑鎺ㄦ尝鍔╂緶锛岄樋閲� dubbo 寮€鍙戝洟闃熷苟鏈粰鍑哄彲闈犵殑鎶€鏈柟鍚戯紝dubbogo 绀惧尯 core members 涔熼兘娌℃湁浜戝師鐢熸柟鍚戠殑鎶€鏈Н绱拰鐩稿簲浜烘墠锛屽喅瀹氬厛寮€鍙戜竴涓熀浜� kube-apiserver 鐨勬敞鍐屼腑蹇冿紝浠ヨ繘琛屾妧鏈偍澶囷紱
-    
-*   2019 骞� 8 鏈堬紝 璋冪爺 dubbo 鐨� K8s 娉ㄥ唽涓績鏂规鍚庯紝dubbogo 绀惧尯鍐冲畾鎶涘紑瀹冪嫭绔嬪疄鐜颁竴涓紝浜夊彇浠ユ渶浣庝唬浠锋妸 dubbo 搴旂敤杩佺Щ鍒� K8s 鐜涓繍琛岃捣鏉ワ紝鍚屾椂鍐冲畾鏈潵鐨勫彂灞曟柟鍚戞槸 dubbogo operator锛�
-    
-*   2019 骞� 11 鏈堬紝绀惧尯鐨勭帇缈斿悓瀛︾粰鍑轰簡鍒濇瀹炵幇锛屽湪 2020 骞� 1 鏈堥殢 dubbogo v1.2 鐗堟湰鍙戝竷锛�
-    
-*   2020 骞� 4 鏈堬紝鏈夌敤鎴疯姹傚湪 K8s 鐜涓� consumer 鍙法 namespace 璁块棶 provider锛岀浉搴斿疄鐜板湪 2020 骞� 7 鏈堥殢鐫€ dubbogo v1.5 鐗堟湰鍙戝竷锛�
-    
-*   2020 骞� 5 鏈堬紝dubbogo 绀惧尯鍜� mosn 绀惧尯鍚堜綔瀹炵幇浜� dubbo mesh锛�
-    
-*   2020 骞� 6 鏈堬紝绀惧尯鎰忚瘑鍒� kube-apiserver 鏄郴缁熺殑杩愮淮鎬� IaaS 灞傜殑鏍稿績缁勪欢锛屼笉搴旇璺ㄨ繃 PaaS 灞傜洿鎺ユ毚闇茬粰搴旂敤灞傦紝鍚﹀垯搴旂敤灞備娇鐢ㄤ笉褰撴垨鑰呮鏋惰嚜韬殑娴侀噺鏂归潰鐨� bug 鎶� kube-apiserver 鎵撳灝鍚庡皢閫犳垚鏁翠釜绯荤粺鐨� P0 绾ф晠闅滐紝dubbogo v1.6 搴斿綋缁欏嚭 dubbogo operator 鐨勫叿浣撳疄鐜帮紱
-    
-*   2020 骞� 7 鏈堬紝dubbogo v1.5 鍙戝竷鍚庯紝绀惧尯宸茬粡鐭ラ亾瀹屽叏鍙互鎶婄洰鍓嶇殑 kube-apiserver 娉ㄥ唽涓績鐨勫疄鐜扮嫭绔嬫垚涓轰竴涓� dubbogo operator锛屾湭鏉ョ殑鏂瑰悜鏄粨鍚� Istio 鎷撳睍鍏剁伆搴﹀彂甯冦€侀檺娴併€佹晠闅滄敞鍏ュ拰閰嶇疆鍔ㄦ€佷笅鍙戣兘鍔涖€�
-    
-
-鑷充簬 dubbo-go-proxy 锛宒ubbogo 绀惧尯骞朵笉鎵撶畻鍊熼壌鍏朵粬椤圭洰锛屽畬鍏ㄤ緷闈犵ぞ鍖哄悓瀛﹁础鐚悇鑷兂娉曞悗锛岃繘琛岄」鐩渶姹傛敹闆嗐€傜洰鍓� dubbogo 绀惧尯宸茬粡鏀堕泦瀹屾瘯 dubbo-go-proxy 鐨刐椤圭洰闇€姹傛柟鐨勬剰瑙乚(https://github.com/apache/dubbo-go/issues/540)锛岀ぞ鍖哄凡鏈� 5 浣嶅悓瀛﹀弬涓庨」鐩竴鏈熷紑鍙戯紝棰勮 10 鏈堜唤鍙戝竷鍒濈増銆�
-
-## 2\. 椤圭洰绠$悊
-
-闇€姹傛敹闆嗗畬姣曪紝瀹氫箟杩戞湡涓€娈垫椂闂村唴鐨勫紑鍙戠洰鏍囧悗锛屽氨杩涘叆浜嗛」鐩换鍔℃媶瑙e拰椤圭洰寮€鍙戠鐞嗛樁娈点€傚儚 dubbogo 鍜� dubbo-go-proxy 杩欑鍚庢潵鑰呴」鐩紝澶勪簬杩借刀闃舵锛屼釜浜虹悊瑙e畠浠苟娌℃湁鎵€璋撶殑鍚庡彂浼樺娍锛屾洿娌℃湁鐗瑰畾鐨勬妧鏈紭鍔匡紝鑳藉鍋氱殑灏辨槸蹇€熻凯浠o紝缂╃煭涓庣珵鍝佺殑宸窛銆�
-
-dubbogo 瑕佹眰鎺ュ彈寮€鍙戜换鍔$殑鍚勪釜 feature owner 蹇呴』鍦ㄦ煇涓� deadline 鍓嶅畬鎴愮浉搴旂殑寮€鍙戜换鍔°€傚綋鐒讹紝feature 鐨勭瓑绾т笉鍚岋紝闈炴牳蹇� feature 銆愬鎶€鏈婕旀€х殑 feature銆戝厑璁� delay锛岄『寤跺彂甯冧篃鏃犱笉鍙€�
-
-鎴戜滑鍦ㄩ」鐩瘡涓増鏈殑闇€姹傛敹闆嗛樁娈碉紝浼氭妸鐖卞ソ鑰呯粺涓€鎷夊叆涓€涓皬缇よ繘琛屾矡閫氫氦娴併€傝繘鍏ュ紑鍙戦樁娈垫椂锛岀敱浜庨」鐩椂闂� deadline 闄愬畾浠ュ強鎶€鏈尮閰嶅害涓ら」瑕佹眰锛屾瘡涓増鏈氨寰堣嚜鐒惰兘閫夊嚭鑳藉鐣欎笅鏉ュ弬涓庨」鐩紑鍙戠殑浜恒€傛渶缁堝弬涓庢瘡涓増鏈紑鍙戠殑浜哄敖閲忎笉瑕佽秴杩� 7 涓汉锛屽惁鍒欐矡閫氭垚鏈氨浼氬墽澧炪€�
-
-涓嬪浘鏄� dubbogo v1.5.1 鐨勯」鐩鐞嗗浘\*\*锛堥樋閲屽反宸翠簯鍘熺敓鍏紬鍙峰悗鍙板洖澶嶁€�915鈥濆嵆鍙煡鐪嬫竻鏅板ぇ鍥撅級\*\*锛�
-
-![1.png](../../pic/course/the-5th-years-of-dubbo-go-b.png)
-
-鍏舵湁浠诲姟鍒嗚В銆佹妧鏈闄╀互鍙婇闄╅妗堛€�
-
-![2.png](../../pic/course/the-5th-years-of-dubbo-go-c.png)
-
-宸ュ叿鏄敓浜у姏锛岀洰鍓嶄互 dubbogo 椤圭洰寮€鍙戣繘搴﹁窡韪伐鍏蜂娇鐢� Github Projects銆傚涓婂浘锛屾瘡涓瓙浠诲姟杩涘害锛岃繖涓伐鍏烽兘浼氬強鏃舵樉绀猴紝鐩稿簲鐨勪换鍔� owner 鍙互鍙婃椂鏍规嵁浠诲姟杩涘害鍜� deadline 锛岃皟鏁村紑鍙戣鍒掋€傛洿杩涗竴姝ョ殑濂藉鏄紝娌℃湁浜轰細瀵瑰伐鍏蜂骇鐢熸剰瑙侊紝鎽嗚劚鈥滀氦閫氬熀鏈潬璧帮紝閫氳鍩烘湰闈犲惣鈥濈殑娌熼€氭ā寮忥紝鍑忓皯鐗堟湰鍙戠増浜哄拰 feature owner 涔嬮棿鐨勬埦姘斻€�
-
-## 3\. 浠g爜璐ㄩ噺
-
-寮€婧愰」鐩殑寮€鍙戜换鍔′笉浠呬粎鏄紑鍙戜唬鐮侊紝涔熶笉鎰忓懗鐫€鍥犱负鍚勪釜 owner 浠呬粎鏄笟浣欐椂闂村弬涓庡紑婧愰」鐩氨鍙互闄嶄綆瀵逛唬鐮佽川閲忚姹傘€�
-
-宸ュ叿灏辨槸鐢熶骇鍔涳紝鍚堥€傜殑宸ュ叿鑳藉鍑忓皯浜哄伐宸ヤ綔閲忓拰鎻愬崌浠g爜璐ㄩ噺銆俤ubbogo 鍦ㄩ」鐩紑鍙戣繃绋嬩腑鐨勫悇涓樁娈甸兘鐢ㄥ埌浜嗗涓嬪伐鍏凤細
-
-*   auto-comment锛歝ontributor 鎻愬嚭 issue 鎴栬€� pr 鍚庯紝鍙緢鏂逛究鍦板彂鍑洪鍏堝畾鍒剁殑璇勮锛�
-    
-*   hound锛氫竴涓� Go 璇█椤圭洰闈欐€佷唬鐮佹娴嬪伐鍏凤紝鑷姩 Review 浠g爜锛�
-    
-*   travis锛氫竴涓� Github 椤圭洰鑷姩鍖栨祴璇曞伐鍏凤紝鍙嚜鍔ㄦ墽琛屼唬鐮佸崟娴嬪拰鐢ㄦ埛鑷畾涔夌殑闆嗘垚娴嬭瘯锛屽苟鍙戝嚭閽夐拤閫氱煡锛�
-    
-*   浜哄伐 Review锛歞ubbogo 绀惧尯瑕佹眰姣忎釜 pr 鑷冲皯鏈変笁涓� committer 绾у埆鐨勪汉 Review 閫氳繃锛�
-    
-*   goreportcard锛氫竴涓緢濂界殑 Github 椤圭洰闈欐€佷唬鐮佹娴嬪伐鍏凤紱
-    
-*   gitee锛氫綔涓哄浗鍐呬竴涓瘮杈冨己澶х殑浠g爜鎵樼缃戠珯锛屽厤璐逛负椤圭洰鎻愪緵浜嗕竴浜涗唬鐮佸畨鍏ㄥ拰闈欐€佷唬鐮佽川閲忔娴嬪伐鍏凤紝dubbogo 涔熺粡甯镐娇鐢紝鍙楃泭鑹锛�
-    
-*   浠g爜瑙勮寖锛岀ぞ鍖哄唴閮ㄦ湁涓€浠界畝鍗曠殑浠g爜瑙勮寖锛屽苟闅忕潃椤圭洰鍙戝睍涓嶆柇瀹屽杽銆�
-    
-
-# 灞曟湜
-
-<br />dubbogo 椤圭洰姣忔鍙戝畬鐗堟湰锛屽彂鐗堜汉閮戒細棣栧厛鍙戝嚭涓€浠� "What's New"锛岄櫎浜嗘€荤粨鏈€鏂扮増鏈殑鐗规€у锛岃繕浼氭€荤粨鍏惰繎鏈熻繘灞曞苟瀵规湭鏉ュ彂灞曡繘琛岃鍒掞紝浠ュ府鍔╅」鐩埍濂借€呭拰浣跨敤鑰呬簡瑙e叾瀹炵幇鎬濊矾鍜屼娇鐢ㄦ柟娉曘€�
-
-dubbogo 鑷韩杩樻湁寰堝缂虹偣锛屽锛�
-
-*   缃戠珯寤鸿鍜屾枃妗h川閲忛兘鏈夊緟鏀硅繘锛�
-*   API 鐢ㄦ埛鍙嬪ソ搴︿笉澶燂紱
-*   閰嶇疆鏂囦欢杩囧涓旀病鏈夊悎鐞嗙殑鏂囨。璇存槑瀵艰嚧鍏ラ棬闂ㄦ楂橈紱
-*   鏁翠綋鎬ц兘鏀硅繘锛屽緢澶氬湴鏂瑰彲娣诲姞璋冪敤閾剧殑缂撳瓨浠ュ噺灏忛攣绔炰簤锛�
-*   娣诲姞 prometheus 鎸囨爣锛岀户缁彁楂� 鍙娴嬫€э紱
-*   鍦ㄥ崗璁眰闈㈡敮鎸佸叾浠栧井鏈嶅姟妗嗘灦锛屽疄鐜板師鐢熼€氫俊锛屼互缁х画鎻愬崌鍏朵簰鑱斾簰閫氭€э紱
-*   dubbo-samples 鐢ㄤ緥涓嶅涓板瘜锛岀户缁坊鍔犳祴璇曠敤渚嬶紝浠ュ噺灏忓叆闂ㄩ棬妲涳紱
-
-甯屾湜鍊熷姪绀惧尯涔嬪姏锛屽湪 dubbogo 鍙戝睍杩囩▼涓秷鍖栧苟瑙e喅鎺夎繖浜涢棶棰橈紝dubbogo 绀惧尯銆愰拤閽夌兢鍙� 23331795銆戜笌 dubbogo 鍚屽湪銆�
-
-### 浣滆€呯畝浠�
-
-浜庨洦锛屼竴涓湁鍗佸骞存湇鍔$鍩虹鏋舵瀯鐮斿彂涓€绾垮伐浣滅粡楠岀殑绋嬪簭鍛橈紝鐩墠鍦ㄨ殏铓侀噾鏈嶅彲淇″師鐢熼儴浠庝簨瀹瑰櫒缂栨帓鍜� service mesh 宸ヤ綔銆傜儹鐖卞紑婧愶紝浠� 2015 骞寸粰 Redis 璐$尞浠g爜寮€濮嬶紝闄嗙画鏀硅繘杩� Muduo/Pika/Dubbo/Dubbo-go 绛夌煡鍚嶉」鐩€�
\ No newline at end of file
diff --git a/doc/md/course/the-growth-of-dubbo-go.md b/doc/md/course/the-growth-of-dubbo-go.md
deleted file mode 100644
index 4ecf021656998780ac167b5b115bf5f4b702c11f..0000000000000000000000000000000000000000
--- a/doc/md/course/the-growth-of-dubbo-go.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# [閭规瘏璐わ細Dubbo-go 鐨勬垚闀夸笌铚曞彉涔嬭矾](https://m.bilibili.com/video/BV1BV411677w)
-
-Dubbo-go 铏界劧鏈夌潃 鈥渂ridge the gap between Java and Go鈥� 鐨勫ぉ鐒朵娇鍛斤紝浣嗕竴璺蛋鏉ワ紝宸蹭笉浠呬粎鏄� Dubbo 鐨勪竴涓� Go 璇█瀹炵幇銆傞€氳繃鎻愪緵鍙娴嬨€佸彲淇℃€ф湇鍔′繚闅滐紝蹇€熺粨鍚� Dubbo 鏈嶅姟杩涜浜掕仈浜掗€氾紝涓旀湁鍏剁嫭鐗圭殑浜戝師鐢熷寲瀹炵幇涓庝娇鐢ㄥ満鏅紝Dubbo-go 宸茬粡璧板嚭浜嗚嚜宸辩嫭鐗圭殑鍙戝睍璺緞銆�
-
-[bilibili 鐨� dubbo-go瑙嗛](https://m.bilibili.com/video/BV1BV411677w)
\ No newline at end of file
diff --git a/doc/md/getty/getty-development-log.md b/doc/md/getty/getty-development-log.md
deleted file mode 100644
index c98be503adcda4ce51a2635a14cf25ef721b0e26..0000000000000000000000000000000000000000
--- a/doc/md/getty/getty-development-log.md
+++ /dev/null
@@ -1,224 +0,0 @@
-## [getty 寮€鍙戞棩蹇梋(http://alexstocks.github.io/html/getty.html)
-
-* * *
-
-_written by Alex Stocks on 2018/03/19锛岀増鏉冩墍鏈夛紝鏃犳巿鏉冧笉寰楄浆杞絖
-
-### 0 璇存槑
-
-* * *
-
-[getty](https://github.com/alexstocks/getty)鏄竴涓猤o璇█瀹炵幇鐨勭綉缁滃眰寮曟搸锛屽彲浠ュ鐞員CP/UDP/websocket涓夌缃戠粶鍗忚銆�
-
-2016骞�6鏈堟垜鍦ㄤ笂娴峰仛涓€涓嵆鏃堕€氳椤圭洰鏃讹紝鎺ュ彛灞傜殑搴曞眰缃戠粶椹卞姩鏄�褰撴椂鐨勫悓浜媅sanbit](https://github.com/sanbit)鍐欑殑锛�鍘熷缃戠粶灞傚疄鐜颁簡TCP Server锛屽叾鍛藉悕瑙勮寖瀛︿範浜嗚憲鍚嶇殑netty銆傚綋鏃惰繖涓紩鎿庢瘮杈冪畝娲侊紝闅忕潃鎴戝杩欎釜椤圭洰鐨勬敼杩涜繖涓綉缁滃眰寮曟搸涔熷氨闅忎箣杩涘寲浜嗭紙娣诲姞浜員CP Client銆佹娊璞″嚭浜� TCP connection 鍜� TCP session锛夛紝鑷�2016骞�8鏈堜唤锛堝張娣诲姞浜唚ebsocket锛夊叾涓庡師濮嬪疄鐜板凡缁忓ぇ寮傚叾瓒d簡锛屽緛寰楀師浣滆€呭拰鐩稿叧棰嗗鍚屾剰鍚庡氨鏀惧埌浜唃ithub涓娿€�
-
-灏嗚繎涓ゅ勾鐨勬椂闂存垜涓嶉棿鏂湴瀵瑰叾杩涜鏀硅繘锛屽勾榻挎笎澧炰絾璁板繂閫熻“锛岃寰楁湁蹇呰璁板綍涓嬩竴浜涘紑鍙戣繃绋嬩腑閬囧埌鐨勯棶棰�浠ュ強瑙e喅鏂规硶锛屼互澶囧皢鏉ュ洖蹇嗕箣鍙傝€冦€�
-
-### 1 UDP connection
-
-* * *
-
-2018骞�3鏈�5鏃� 璧风粰 getty 娣诲姞浜哢DP鏀寔銆�
-
-#### 1.1 UDP connect
-
-* * *
-
-UDP鑷韩鍒嗕负unconnected UDP鍜宑onnected UDP涓ょ锛宑onnected UDP鐨勫簳灞傚師鐞嗚涓嬪浘銆�
-
-![](../../pic/getty/getty_connected_udp_socket.gif)
-
-褰撲竴绔殑UDP endpoint璋冪敤connect涔嬪悗锛宱s灏变細鍦ㄥ唴閮ㄧ殑routing table涓婃妸udp socket鍜屽彟涓€涓猠ndpoint鐨勫湴鍧€鍏宠仈璧锋潵锛屽湪鍙戣捣connect鐨剈dp endpoint绔缓绔嬭捣涓€涓崟鍚戠殑杩炴帴鍥涘厓缁勶細鍙戝嚭鐨刣atagram packet鍙兘鍙戝線杩欎釜endpoint锛堜笉绠endto鐨勬椂鍊欐槸鍚︽寚瀹氫簡鍦板潃锛変笖鍙兘鎺ユ敹杩欎釜endpoint鍙戞潵鐨剈dp datagram packet锛堝鍥�???鍙戞潵鐨勫寘浼氳OS涓㈠純锛夈€�
-
-UDP endpoint鍙戣捣connect鍚庯紝OS骞朵笉浼氳繘琛孴CP寮忕殑涓夋鎻℃墜锛屾搷浣滅郴缁熷叡浠呬粎璁板綍涓�UDP socket鐨刾eer udp endpoint 鍦板潃鍚庡氨鐞嗚В杩斿洖锛屼粎浠呬細鏍告煡瀵圭鍦板潃鏄惁瀛樺湪缃戠粶涓€�
-
-鑷充簬鍙︿竴涓猽dp endpoint鏄惁涓篶onnected udp鍒欐棤鍏崇揣瑕侊紝鎵€浠ョОudp connection鏄崟鍚戠殑杩炴帴銆傚鏋渃onnect鐨勫绔笉瀛樺湪鎴栬€呭绔鍙f病鏈夎繘绋嬬洃鍚紝鍒欏彂鍖呭悗瀵圭浼氳繑鍥濱CMP 鈥減ort unreachable鈥� 閿欒銆�
-
-濡傛灉涓€涓狿OSIX绯荤粺鐨勮繘绋�鍙戣捣UDP write鏃舵病鏈夋寚瀹歱eer UDP address锛屽垯浼氭敹鍒癊NOTCONN閿欒锛岃€岄潪EDESTADDRREQ銆�
-
-![](../../pic/getty/getty_dns_udp.gif)
-
-涓€鑸彂璧穋onnect鐨勪负 UDP client锛屽吀鍨嬬殑鍦烘櫙鏄疍NS绯荤粺锛�DNS client鏍规嵁/etc/resolv.conf閲岄潰鎸囧畾鐨凞NS server杩涜connect鍔ㄤ綔銆�
-
-鑷充簬 UDP server 鍙戣捣connect鐨勬儏褰㈡湁 TFTP锛�UDP client 鍜� UDP server 闇€瑕佽繘琛岄暱鏃堕棿鐨勯€氫俊锛� client 鍜� server 閮介渶瑕佽皟鐢� connect 鎴愪负 connected UDP銆�
-
-濡傛灉涓€涓� connected UDP 闇€瑕佹洿鎹� peer endpoint address锛屽彧闇€瑕侀噸鏂� connect 鍗冲彲銆�
-
-#### 1.2 connected UDP 鐨勬€ц兘
-
-* * *
-
-connected UDP 鐨勪紭鍔胯瑙佸弬鑰冩枃妗�1銆傚亣璁�鏈変袱涓� datagram 闇€瑕佸彂閫侊紝unconnected UDP 鐨勮繘琛� write 鏃跺彂閫佽繃绋嬪涓嬶細
-
-```none
-* Connect the socket
-* Output the first datagram
-* Unconnect the socket
-* Connect the socket
-* Output the second datagram
-* Unconnect the socket
-```
-
-姣忓彂閫佷竴涓寘閮介渶瑕佽繘琛� connect锛屾搷浣滅郴缁熷埌 routine table cache 涓垽鏂湰娆$洰鐨勫湴鍦板潃鏄惁涓庝笂娆′竴鑷达紝濡傛灉涓嶄竴鑷�杩橀渶瑕佷慨鏀� routine table銆�
-
-connected UDP 鐨勪袱娆″彂閫佽繃绋嬪涓嬶細
-
-```none
-* Connect the socket
-* Output first datagram
-* Output second datagram
-```
-
-杩欎釜 case 涓嬶紝鍐呮牳鍙湪绗竴娆¤瀹氫笅铏氭嫙閾炬帴鐨� peer address锛屽悗闈㈣繘琛岃繛缁彂閫佸嵆鍙€傛墍浠� connected UDP 鐨勫彂閫�杩囩▼鍑忓皯浜� 1/3 鐨勭瓑寰呮椂闂淬€�
-
-2017骞�5鏈�7鏃� 鎴戞浘鐢� [python 绋嬪簭](https://github.com/alexStocks/python-practice/blob/master/tcp_udp_http_ws/udp/client.py) 瀵逛簩鑰呬箣闂寸殑鎬ц兘鍋氳繃娴嬭瘯锛屽鏋� client 鍜� server 閮介儴缃插湪鏈満锛屾祴璇曠粨鏋滄樉绀哄彂閫� 100 000 閲忕殑 UDP datagram packet 鏃讹紝connected UDP 姣� unconnected UDP 灏戠敤浜� 2 / 13 鐨勬椂闂淬€�
-
-杩欎釜娴嬭瘯鐨勫彟涓€涓粨璁烘槸锛氫笉绠℃槸 connected UDP 杩樻槸 unconnected UDP锛屽鏋滃惎鐢ㄤ簡 SetTimeout锛屽垯浼氬澶у彂閫佸欢杩熴€�
-
-#### 1.3 Go UDP
-
-* * *
-
-Go 璇█ UDP 缂栫▼涔熷 connected UDP 鍜� unconnected UDP 杩涜浜嗘槑纭尯鍒嗭紝鍙傝€冩枃妗�2 璇︾粏鍦板垪鏄庝簡濡備綍浣跨敤鐩稿叧 API锛屾牴鎹繖绡囨枃妗d釜浜轰篃鍐欎竴涓� [绋嬪簭](https://github.com/alexstocks/go-practice/blob/master/udp-tcp-http/udp/connected-udp.go) 娴嬭瘯杩欎簺 API锛屾祴璇曠粨璁哄涓嬶細
-
-```none
-* 1 connected UDP 璇诲啓鏂规硶鏄� Read 鍜� Write锛�
-* 2 unconnected UDP 璇诲啓鏂规硶鏄� ReadFromUDP 鍜� WriteToUDP锛堜互鍙� ReadFrom 鍜� WriteTo)锛�
-* 3 unconnected UDP 鍙互璋冪敤 Read锛屽彧鏄棤娉曡幏鍙� peer addr锛�
-* 4 connected UDP 鍙互璋冪敤 ReadFromUDP锛堝~鍐欑殑鍦板潃浼氳蹇界暐锛�
-* 5 connected UDP 涓嶈兘璋冪敤 WriteToUDP锛屸€濆嵆浣挎槸鐩稿悓鐨勭洰鏍囧湴鍧€涔熶笉鍙互鈥濓紝鍚﹀垯浼氬緱鍒伴敊璇� 鈥渦se of WriteTo with pre-connected connection鈥濓紱
-* 6 unconnected UDP 涓嶈兘璋冪敤 Write, 鈥滃洜涓轰笉鐭ラ亾鐩爣鍦板潃鈥�, error:鈥漺rite: destination address requiredsmallnestMBP:udp smallnest鈥濓紱
-* 7 connected UDP 鍙互璋冪敤 WriteMsgUDP锛屼絾鏄湴鍧€蹇呴』涓� nil锛�
-* 8 unconnected UDP 鍙互璋冪敤 WriteMsgUDP锛屼絾鏄�蹇呴』濉啓 peer endpoint address銆�
-```
-
-缁间笂缁撹锛岃缁熶竴浣跨敤 ReadFromUDP锛屽啓鍒欑粺涓€浣跨敤 WriteMsgUDP銆�
-
-#### 1.4 Getty UDP
-
-* * *
-
-鐗堟湰 v0.8.1 Getty 涓坊鍔� connected UDP 鏀寔鏃讹紝鍏惰繛鎺ュ嚱鏁� [dialUDP](https://github.com/alexstocks/getty/blob/master/client.go#L141) 杩欐槸绠€鍗曡皟鐢ㄤ簡 net.DialUDP 鍑芥暟锛屽鑷存槰鏃ワ紙20180318 22:19 pm锛夋祴璇曠殑鏃跺€欓亣鍒颁竴涓€幇璞★細鎶� peer UDP endpoint 鍏抽棴锛宭ocal udp endpoint 杩涜 connect 鏃� net.DialUDP 鍑芥暟杩斿洖鎴愬姛锛岀劧鍚� lsof 鍛戒护鏌ラ獙缁撴灉鏃剁湅鍒扮‘瀹炲瓨鍦ㄨ繖涓崟閾炬帴锛�
-
-```none
-COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
-echo_clie 31729 alex    9u  IPv4 0xa5d288135c97569d      0t0  UDP localhost:63410->localhost:10000
-```
-
-鐒跺悗褰� net.UDPConn 杩涜 read 鍔ㄤ綔鐨勬椂鍊欙紝浼氬緱鍒伴敊璇� 鈥渞ead: connection refused鈥濄€�
-
-浜庢槸妯′豢C璇█涓 TCP client connect 鎴愬姛涓庡惁鍒ゆ柇鏂规硶锛屽 [dialUDP](https://github.com/alexstocks/getty/blob/master/client.go#L141) 鏀硅繘濡備笅锛�
-
-```none
-* 1 net.DialUDP 鎴愬姛涔嬪悗锛屽垽鏂叾鏄惁鏄嚜杩炴帴锛屾槸鍒欓€€鍑猴紱
-* 2 connected UDP 鍚戝绔彂閫佷竴涓棤鐢ㄧ殑 datagram packet銆愨€漰ing鈥濆瓧绗︿覆锛屽绔細鍥犲叾闈炴纭� datagram 鑰屼涪寮冦€戯紝澶辫触鍒欓€€鍑猴紱
-* 3 connected UDP 鍙戣捣璇绘搷浣滐紝濡傛灉瀵圭杩斿洖 鈥渞ead: connection refused鈥� 鍒欓€€鍑猴紝鍚﹀垯灏卞垽鏂负 connect 鎴愬姛銆�
-```
-
-### 2 Compression
-
-* * *
-
-鍘诲勾缁� getty 娣诲姞浜� TCP/Websocket compression 鏀寔锛學ebsocket 搴撲娇鐢ㄧ殑鏄� [gorilla/websocket](https://github.com/gorilla/websocket/)锛孾Go 瀹樼綉](https://godoc.org/golang.org/x/net/websocket)涔熸帹鑽愯繖涓簱锛屽洜涓鸿嚜 `This package("golang.org/x/net/websocket") currently lacks some features`銆�
-
-#### 2.1 TCP compression
-
-* * *
-
-鏈€杩戝湪瀵� Websocket compression 杩涜娴嬭瘯鐨勬椂鍊欙紝鍙戠幇 CPU 寰堝鏄撳氨璺戝埌 100%锛屼笖绋嬪簭鍚姩鍚庡緢蹇氨 panic 閫€鍑轰簡銆�
-
-鏍规嵁 panic 淇℃伅鎻愮ず鏌ュ埌 [gorilla/websocket/conn.go:ReadMsg](https://github.com/gorilla/websocket/blob/master/conn.go#L1018) 鍑芥暟璋冪敤 [gorilla/websocket/conn.go:NextReader](https://github.com/gorilla/websocket/blob/master/conn.go#L928) 鍚庡氨绔嬪嵆 panic 閫€鍑轰簡銆俻anic 鐨� `琛ㄥ眰鍘熷洜` 鍒版槸寰堝鏄撴煡鏄庯細
-
-*   1 [gorrilla/websocket:Conn::advanceFrame](https://github.com/gorilla/websocket/blob/master/conn.go#L768) 閬囧埌璇昏秴鏃堕敊璇紙io timeout锛�;
-*   2 [gorrilla/websocket:ConnConn.readErr](https://github.com/gorilla/websocket/blob/master/conn.go#L941)璁板綍杩欎釜error锛�
-*   3 [gorilla/websocket/conn.go:Conn::NextReader](https://github.com/gorilla/websocket/blob/master/conn.go#L959)寮€濮嬭鍙栦箣鍓嶅垯[妫€鏌ヨ繖涓敊璇痌(https://github.com/gorilla/websocket/blob/master/conn.go#L938)锛屽浠ュ墠鍙戠敓杩囬敊璇垯涓嶅啀璇诲彇 websocket frame锛屽苟瀵筟gorrilla/websocket:ConnConn.readErr绱Н璁℃暟](https://github.com/gorilla/websocket/blob/master/conn.go#L957)锛�
-*   4 [褰揼orrilla/websocket:ConnConn.readErr鏁板€煎ぇ浜� 1000](https://github.com/gorilla/websocket/blob/master/conn.go#L958) 鐨勬椂鍊欙紝绋嬪簭灏变細panic 閫€鍑恒€�
-
-浣嗘槸涓轰綍鍙戠敓璇昏秴鏃堕敊璇垯姣棤澶寸华銆�
-
-2018/03/07 鏃ユ祴璇� TCP compression 鐨勬椂鍊欏彂鐜板惎鍔� compression 鍚庯紝绋嬪簭 CPU 涔熶細寰堝揩璺戝埌 100%锛岃繘涓€姝ヨ拷鏌ュ悗鍙戠幇鍑芥暟 [getty/conn.go:gettyTCPConn::read](https://github.com/alexstocks/getty/blob/master/conn.go#L228) 閲岄潰鐨� log 鏈夊緢澶� 鈥渋o timeout鈥� error銆傚綋鏃舵煡鍒拌繖涓敊璇緢鐤戞儜锛屽洜涓烘垜宸茬粡鍦� TCP read 涔嬪墠杩涜浜嗚秴鏃惰缃€怱etReadDeadline銆戯紝闅鹃亾鍚姩 compression 浼氬鑷磋秴鏃惰缃け鏁堜娇寰梥ocket鎴愪簡闈為樆濉炵殑socket锛�
-
-浜庢槸鍦� [getty/conn.go:gettyTCPConn::read](https://github.com/alexstocks/getty/blob/master/conn.go#L228) 涓坊鍔犱簡涓€涓€昏緫锛氬惎鐢� TCP compression 鐨勬椂涓嶅啀璁剧疆瓒呮椂鏃堕棿銆愰粯璁ゆ儏鍐典笅tcp connection鏄案涔呴樆濉炵殑銆戯紝CPU 100% 鐨勯棶棰樺緢蹇氨寰楀埌浜嗚В鍐炽€�
-
-鑷充簬涓轰綍 `鍚敤 TCP compression 浼氬鑷� SetDeadline 澶辨晥浣垮緱socket鎴愪簡闈為樆濉炵殑socket`锛屽浛浜庝釜浜鸿兘鍔涘拰绮惧姏锛屽緟灏嗘潵杩芥煡鍑虹粨鏋滃悗鍐嶅湪姝よˉ鍏呬箣銆�
-
-#### 2.2 Websocket compression
-
-* * *
-
-TCP compression 鐨勯棶棰樿В鍐冲悗锛屼釜浜虹寽鎯� Websocket compression 绋嬪簭閬囧埌鐨勯棶棰樻垨璁镐篃璺� `鍚敤 TCP compression 浼氬鑷� SetDeadline 澶辨晥浣垮緱socket鎴愪簡闈為樆濉炵殑socket` 鏈夊叧銆�
-
-浜庢槸鍊熼壌 TCP 鐨勮В鍐虫柟娉曪紝鍦� [getty/conn.go:gettyWSConn::read](https://github.com/alexstocks/getty/blob/master/conn.go#L527) 鐩存帴鎶婅秴鏃惰缃叧闂紝鐒跺悗 CPU 100% 琚В鍐筹紝涓旂▼搴忚繍杞甯搞€�
-
-### 3 unix socket
-
-鏈妭涓� getty 鏃犲叧锛屼粎浠呮槸鍦ㄤ娇鐢� unix socket 杩囩▼涓亣鍒颁竴浜� keypoint 鐨勮褰曘€�
-
-#### 3.1 reliable
-
-unix socket datagram 褰㈠紡鐨勫寘涔熸槸鍙潬鐨勶紝姣忔鍐欏繀鐒惰姹傚搴斾竴娆¤锛屽惁鍒欏啓鏂逛細琚樆濉炪€傚鏋滄槸 stream 褰㈠紡锛屽垯 buffer 娌℃湁婊′箣鍓嶏紝鍐欒€呮槸涓嶄細琚樆濉炵殑銆俤atagram 鐨勪紭鍔垮湪浜� api 绠€鍗曘€�
-
-```none
-Unix sockets are reliable. If the reader doesn't read, the writer blocks. If the socket is a datagram socket, each write is paired with a read. If the socket is a stream socket, the kernel may buffer some bytes between the writer and the reader, but when the buffer is full, the writer will block. Data is never discarded, except for buffered data if the reader closes the connection before reading the buffer.  ---[Do UNIX Domain Sockets Overflow?](https://unix.stackexchange.com/questions/283323/do-unix-domain-sockets-overflow)
-```
-
-```none
-On most UNIX implementations, UNIX domain datagram sockets are always reliable and don't reorder
-       datagrams.   ---[man 7 socketpair](http://www.man7.org/linux/man-pages/man7/unix.7.html)
-```
-
-鈥� ---[Do UNIX Domain Sockets Overflow?](https://unix.stackexchange.com/questions/283323/do-unix-domain-sockets-overflow)
-
-#### 3.2 buffer size
-
-datagram 褰㈠紡鐨� unix socket 鐨勫崟涓� datagram 鍖呮渶澶ч暱搴︽槸 130688 B銆�
-
-```none
-AF_UNIX SOCK_DATAGRAM/SOCK_SEQPACKET datagrams need contiguous memory. Contiguous physical memory is hard to find, and the allocation fails. The max size actually is 130688 B.  --- [the max size of AF_UNIX datagram message that can be sent in linux](https://stackoverflow.com/questions/4729315/what-is-the-max-size-of-af-unix-datagram-message-that-can-be-sent-in-linux)
-```
-
-```none
-It looks like AF_UNIX sockets don't support scatter/gather on current Linux. it is a fixed size 130688 B.                      --- [Difference between UNIX domain STREAM and DATAGRAM sockets?](https://stackoverflow.com/questions/13953912/difference-between-unix-domain-stream-and-datagram-sockets)
-```
-
-### 4 Goroutine Pool
-
-闅忕潃 [dubbogo/getty](https://github.com/dubbogo/getty) 琚� [apache/dubbo-go](https://github.com/apache/dubbo-go/) 鐢ㄤ綔搴曞眰 tcp 鐨� transport 寮曟搸锛屽浜庢彁楂樼郴缁熷悶鍚愮殑闇€瑕侊紝[dubbogo/getty](https://github.com/dubbogo/getty) 闈复鐫€涓嬩竴姝ョ殑杩涘寲瑕佹眰锛歔**閽堝 dubbo-go 鍜� Getty 鐨勭綉缁� I/O 涓庣嚎绋嬫淳鍙戣繖涓€閮ㄥ垎杩涜杩涗竴姝ヤ紭鍖�**](https://www.oschina.net/question/3820517_2306822)銆傚叾涓殑鍏抽敭灏辨槸娣诲姞 Goroutine Pool銆愪笅鏂囩畝绉� gr pool銆戯紝浠ュ垎绂荤綉缁� I/O 鍜� 閫昏緫澶勭悊銆�
-
-Gr Pool 鎴愬憳鏈変换鍔¢槦鍒椼€愬叾鏁扮洰涓� M銆戝拰 Gr 鏁扮粍銆愬叾鏁扮洰涓� N銆戜互鍙婁换鍔°€愭垨鑰呯О涔嬩负娑堟伅銆戯紝鏍规嵁 N 鐨勬暟鐩彉鍖栧叾绫诲瀷鍒嗕负鍙几缂╀笌鍥哄畾澶у皬锛屽彲浼哥缉 Gr Pool 濂藉鏄彲浠ラ殢鐫€浠诲姟鏁扮洰鍙樺寲澧炲噺 N 浠ヨ妭绾� CPU 鍜屽唴瀛樿祫婧愶紝浣嗕竴鑸笉鐢氬父鐢紝姣斾汉浠ュ墠鎾歌繃涓€涓悗灏辫汉鍦ㄦ垜鐨� [github repo](https://github.com/alexstocks/goext/blob/master/sync/pool/worker_pool.go) 閲岄潰浜嗐€�
-
-[dubbogo/getty](https://github.com/dubbogo/getty) 鍙叧娉� N 鍊煎浐瀹氬ぇ灏忕殑 gr pool锛屼笖涓嶈€冭檻鏀跺埌鍖呭悗鐨勫鐞嗛『搴忋€傝濡傦紝[dubbogo/getty](https://github.com/dubbogo/getty) 鏈嶅姟绔敹鍒颁簡瀹㈡埛绔彂鏉ョ殑 A 鍜� B 涓や釜缃戠粶鍖咃紝涓嶈€冭檻澶勭悊椤哄簭鐨� gr pool 妯″瀷鍙兘閫犳垚瀹㈡埛绔厛鏀跺埌 B 鍖呯殑 response锛屽悗鎵嶆敹鍒� A 鍖呯殑 response銆�
-
-濡傛灉瀹㈡埛绔殑姣忔璇锋眰閮芥槸鐙珛鐨勶紝娌℃湁鍓嶅悗椤哄簭鍏崇郴锛屽垯甯︽湁 gr pool 鐗规€х殑 [dubbogo/getty](https://github.com/dubbogo/getty) 涓嶈€冭檻椤哄簭鍏崇郴鏄病鏈夐棶棰樼殑銆傚鏋滀笂灞傜敤鎴峰叧娉� A 鍜� B 璇锋眰澶勭悊鐨勫墠鍚庨『搴忥紝鍒欏彲浠ユ妸 A 鍜� B 涓や釜璇锋眰鍚堝苟涓轰竴涓姹傦紝鎴栬€呮妸 gr pool 鐗规€у叧闂€�
-
-### 4.1 鍥哄畾澶у皬 Gr Pool
-
-鎸夌収 M 涓� N 鐨勬瘮渚嬶紝鍥哄畾澶у皬 Gr Pool 鍙堝尯鍒嗕负 1:1銆�1:N銆丮:N 涓夌被銆�
-
-1:N 绫诲瀷鐨� Gr Pool 鏈€鏄撳疄鐜帮紝涓汉 2017 骞村湪椤圭洰 [kafka-connect-elasticsearch](https://github.com/AlexStocks/kafka-connect-elasticsearch) 涓疄鐜拌繃姝ょ被鍨嬬殑 [Gr Pool](https://github.com/AlexStocks/kafka-connect-elasticsearch/blob/master/app/worker.go)锛氫綔涓烘秷璐硅€呬粠 kafka 璇诲彇鏁版嵁鐒跺悗鏀惧叆娑堟伅闃熷垪锛岀劧鍚庡悇涓� worker gr 浠庢闃熷垪涓彇鍑轰换鍔¤繘琛屾秷璐瑰鐞嗐€�
-
-鍚� [dubbogo/getty](https://github.com/dubbogo/getty) 涓坊鍔� gr pool 鏃朵篃鏇惧疄鐜拌繃杩欎釜鐗堟湰鐨� [gr pool](https://github.com/dubbogo/getty/pull/6/commits/4b32c61e65858b3eea9d88d8f1c154ab730c32f1)銆傝繖绉嶆ā鍨嬬殑 gr pool 鏁翠釜 pool 鍙垱寤轰竴涓� chan锛� 鎵€鏈� gr 鍘昏鍙栬繖涓€涓� chan锛屽叾缂虹偣鏄細闃熷垪璇诲啓妯″瀷鏄� 涓€鍐欏璇伙紝鍥犱负 go channel 鐨勪綆鏁堢巼銆愭暣浣撲娇鐢ㄤ竴涓� mutex lock銆戦€犳垚绔炰簤婵€鐑堬紝褰撶劧鍏剁綉缁滃寘澶勭悊椤哄簭鏇存棤浠庝繚璇併€�
-
-[dubbogo/getty](https://github.com/dubbogo/getty) 鍒濆鐗堟湰鐨� [gr pool](https://github.com/dubbogo/getty/pull/6/files/c4d06e2a329758a6c65c46abe464a90a3002e428#diff-9922b38d89e2ff9f820f2ce62f254162) 妯″瀷涓� 1:1锛屾瘡涓� gr 澶氭湁鑷繁鐨� chan锛屽叾璇诲啓妯″瀷鏄竴鍐欎竴璇伙紝鍏朵紭鐐规槸鍙繚璇佺綉缁滃寘澶勭悊椤哄簭鎬э紝  
-濡傝鍙� kafka 娑堟伅鏃跺€欙紝鎸夌収 kafka message 鐨� key 鐨� hash 鍊间互鍙栦綑鏂瑰紡銆恏ash(message key) % N銆戝皢鍏舵姇閫掑埌鏌愪釜 task queue锛屽垯鍚屼竴 key 鐨勬秷鎭兘鍙互淇濊瘉澶勭悊鏈夊簭銆備絾 [鏈涘摜](http://alexstocks.github.io/html/10) 鎸囧嚭浜嗚繖绉嶆ā鍨嬬殑缂洪櫡锛氭瘡涓猼ask澶勭悊瑕佹湁鏃堕棿锛屾鏂规浼氶€犳垚鏌愪釜 gr 鐨� chan 閲岄潰鏈� task 鍫靛锛屽氨绠楀叾浠� gr 闂茬潃锛屼篃娌″姙娉曞鐞嗕箣銆愪换鍔″鐞嗏€滈ゥ楗库€濄€戙€�
-
-[wenwei86](https://github.com/wenweihu86) 缁欏嚭浜嗘洿杩涗竴姝ョ殑 1:1 妯″瀷鐨勬敼杩涙柟妗堬細姣忎釜 gr 涓€涓� chan锛屽鏋� gr 鍙戠幇鑷繁鐨� chan 娌℃湁璇锋眰锛屽氨鍘绘壘鍒殑 chan锛屽彂閫佹柟涔熷敖閲忓彂寰€娑堣垂蹇殑鍗忕▼銆傝繖涓柟妗堢被浼间簬 go runtime 鍐呴儴鐨� MPG 璋冨害绠楁硶锛屼絾鏄鎴戜釜浜烘潵璇寸畻娉曞拰瀹炵幇鍧囧お澶嶆潅锛屾晠鑰屾病鏈夐噰鐢ㄣ€�
-
-[dubbogo/getty](https://github.com/dubbogo/getty) 鐩墠閲囩敤浜� M:N 妯″瀷鐗堟湰鐨� [gr pool](https://github.com/dubbogo/getty/pull/6/commits/1991056b300ba9804de0554dbb49b5eb04560c4b)锛屾瘡涓� task queue 琚� N/M 涓� gr 娑堣垂锛岃繖绉嶆ā鍨嬬殑浼樼偣鏄吋椤惧鐞嗘晥鐜囧拰閿佸帇鍔涘钩琛★紝鍙互鍋氬埌鎬讳綋灞傞潰鐨勪换鍔″鐞嗗潎琛°€傛鐗堟湰涓� Task 娲惧彂閲囩敤 RoundRobin 鏂瑰紡銆�
-
-## 鎬荤粨
-
-* * *
-
-鏈枃鎬荤粨浜� [getty](https://github.com/alexstocks/getty) 杩戞湡寮€鍙戣繃绋嬩腑閬囧埌鐨勪竴浜涢棶棰橈紝鍥夸簬涓汉姘村钩鍙兘缁欏嚭鐩墠鑷涓烘渶濂界殑瑙e喅鏂规硶銆愬浣曚綘鏈夋洿濂界殑瀹炵幇锛岃鐣欒█銆戙€�
-
-闅忕潃 [getty](https://github.com/alexstocks/getty) 鑻ユ湁鏂扮殑 improvement 鎴栬€呮柊 feature锛屾垜浼氬強鏃惰ˉ鍔犳鏂囥€�
-
-姝よ銆�
-
-## 鍙傝€冩枃妗�
-
-* * *
-
-*   1 [connect Function with UDP](http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch08lev1sec11.html)
-*   2 [娣卞叆Go UDP缂栫▼](http://colobu.com/2016/10/19/Go-UDP-Programming/)
\ No newline at end of file
diff --git a/doc/md/hessian2/dubbo-go-hessian2-performance-optimization.md b/doc/md/hessian2/dubbo-go-hessian2-performance-optimization.md
deleted file mode 100644
index 875ea1589699cfd1167e4802825d273ca6fb2b4e..0000000000000000000000000000000000000000
--- a/doc/md/hessian2/dubbo-go-hessian2-performance-optimization.md
+++ /dev/null
@@ -1,233 +0,0 @@
-# 璁颁竴娆″ dubbo-go-hessian2 鐨勬€ц兘浼樺寲
-
-2020骞�05鏈�02鏃�
-
-鐩綍
-
-[dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2) 鏄竴涓敤 Go 瀹炵幇鐨� hessian 鍗忚 v2.0 鐗堟湰鐨勫簭鍒楀寲搴撱€備粠椤圭洰鍚嶇О閲屽彲浠ョ湅鍒颁富瑕佺敤鍦� [dubbo-go](http://github.com/apache/dubbo-go) 杩欎釜椤圭洰閲屻€俬essian 鍗忚浣滀负 dubbo 鐨勯粯璁ゅ崗璁紝鍥犳瀵规€ц兘鏈夋瘮杈冮珮鐨勮姹傘€�
-
-## 绔嬮」
-
-璀鏈夌綉鏂� [鍩轰簬 Go 鐨勯┈铚傜獫鏃呮父缃戝垎甯冨紡 IM 绯荤粺鎶€鏈疄璺礭(https://my.oschina.net/u/4231722/blog/3168223) 鎶� dubbo-go 涓庡叾浠� RPC 妗嗘灦瀵规瘮濡備笅锛�
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-a.png)
-
-鏈夐壌浜庢锛岀ぞ鍖轰究寮€濮嬬粍缁囬儴鍒嗕汉鍔涳紝鍚姩浜嗗 dubbo-go 鎬ц兘浼樺寲銆愬悓鏃朵篃娆㈣繋涓婃枃浣滆€呭埌閽夐拤缇� 23331795 涓庢垜浠ぞ鍖轰氦娴併€戙€傝€冨療 dubbo-go 鐨勫悇涓粍浠讹紝澶у涓嶇害鑰屽悓鍦板喅瀹氶鍏堜紭鍖栨瘮杈冪嫭绔嬬殑 [dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2)銆�
-
-## 璧锋
-
-鍦ㄦ渶寮€濮嬬殑鏃跺€欙紝骞舵病鏈夊お鎯虫竻妤氶渶瑕佸仛浠€涔堬紝鏀瑰摢涓湴鏂癸紝瑕佷紭鍖栧埌浣曠绋嬪害锛屾墍浠ユ渶绠€鍗曠殑鍔炴硶灏辨槸鐪嬬湅鐜扮姸銆�
-
-棣栧厛锛屽啓浜嗕竴涓畝鍗曠殑渚嬪瓙锛屾妸甯歌鐨勭被鍨嬪埌涓€涓粨鏋勪綋閲岋紝鐒跺悗娴嬩竴涓嬭€楁椂銆�
-
-```go
-type Mix struct {
-    A  int
-    B  string
-    CA time.Time
-    CB int64
-    CC string
-    CD []float64
-    D  map[string]interface{}
-}
-
-m := Mix{A: int('a'), B: `hello`}
-m.CD = []float64{1, 2, 3}
-// 鍐嶅姞涓€灞傦紝浣垮緱鏁版嵁鏄惧緱澶嶆潅涓€浜�
-m.D = map[string]interface{}{`floats`: m.CD, `A`: m.A, `m`: m} 
-```
-
-> 鐪嬭捣鏉ヨ繖涓粨鏋勪綋璺熺湡瀹炵幆澧冮噷鍙兘涓嶅お涓€鏍凤紝浣嗘槸鐢ㄦ潵鍒嗘瀽鐡堕搴旇鏄冻澶熶簡銆�
-
-鐒跺悗鐩存帴闈� Go Test 鍐欎釜娴嬭瘯鐢ㄤ緥锛�
-
-```go
-func BenchmarkEncode(b *testing.B) {
-    for i := 0; i < b.N; i++ {
-        _, _ = encodeTarget(&m)
-    }
-}
-
-func BenchmarkDecode(b *testing.B) {
-    for i := 0; i < b.N; i++ {
-        _, _ = NewDecoder(bytes).Decode()
-    }
-}
-```
-
-> go test -benchmem -run=^$ github.com/apache/dubbo-go-hessian2 -bench "^B" -vet=off -v
-
-寰楀埌涓嬮潰缁撴灉锛�
-
-```plain
-BenchmarkEncode-8 89461 11485 ns/op 3168 B/op 122 allocs/op
-BenchmarkDecode-8 64914 19595 ns/op 7448 B/op 224 allocs/op
-```
-
-**_娉細鍩轰簬 MacBook Pro 2018銆愪富棰� Intel Core i7 2.6 GHz銆戞祴璇曘€俖**
-
-涓嶄笌鍚岀被搴撲綔妯悜姣旇緝锛屼粎浠呬粠杩欎釜娴嬭瘯缁撴灉閲岀殑鏁板瓧涓婃棤娉曞緱鍑轰换浣曠粨璁恒€傚鎴戜滑鏉ヨ鏇撮噸瑕佺殑鏄細瀹冨埌搴曟參鍦ㄥ摢閲屻€傞鍏堟兂鍒扮殑鎵嬫渚挎槸锛氬€熷姪 pprof 鐢熸垚鐏劙鍥撅紝瀹氫綅 CPU 娑堣€椼€�
-
-pprof 宸ュ叿鐨勭敤娉曞彲浠ュ弬鑰冨畼缃戞枃妗c€傛湰鏂囨祴璇曟椂鐩存帴浣跨敤浜� Goland 鍐呯疆 `CPU Profiler` 鐨勬祴璇曞伐鍏凤細娴嬭瘯鍑芥暟宸﹁竟鐨� `Run xx with 'CPU Profiler'`銆�
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-b.png)
-
-娴嬭瘯璺戝畬鍚庯紝 Goland 鐩存帴鏄剧ず鐏劙鍥惧涓嬶細
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-c.png)
-
-浠庤繖涓浘閲屽彲浠ョ湅鍒帮紝娴嬭瘯浠g爜澶ф鍗犵敤浜嗗乏杈圭殑 70%锛屽彸杈� 30% 鏄繍琛屾椂鐨勪竴浜涙秷鑰楋紝杩愯鏃堕儴鍒嗕竴鑸寘鎷� gc銆乻chedule 涓ゅぇ鍧楋紝涓€鑸笉鑳界洿鎺ヤ紭鍖栥€傚浘涓婂乏杈瑰彲浠ユ竻鏅板湴鐪嬪埌 `encObject` 閲� `RegisterPOJO` 鍜� `Encode` 鍚勫崰浜嗗皬涓€鍗娿€�
-
-瀹屾垚搴忓垪鍖栧姛鑳界殑 `Encode` 娑堣€� CPU 濡傛涔嬪灏氬彲鐞嗚В锛岃€岀洿瑙変笂锛屾妸绫诲璞¤繘琛岃В鏋愬拰娉ㄥ唽 `RegisterPOJO` 鏄笉搴旇鎴愪负娑堣€楀ぇ鎴风殑銆傛墍浠ョ寽娴嬭繖涓湴鏂硅涔堟敞鍐屾湁闂锛岃涔堟湁閲嶅娉ㄥ唽銆�
-
-涓嬩竴姝ュ垎鏋愶紝鐢ㄤ簡涓€涓畝鍗曠殑鍔炴硶锛氬湪杩欎釜鍑芥暟閲屽姞鏃ュ織銆傜劧鍚庣户缁啀璺戜竴涓� benchmark锛屽彲浠ョ湅鍒版€ц兘鐡堕澶勶細瀹瑰櫒璇诲啓鐨勫湴鏂广€�
-
-鏃㈢劧鐭ラ亾杩欓噷鍋氫簡璁稿閲嶅鐨勬棤鐢ㄥ姛锛屽氨寰堝鏄撴槑纭紭鍖栨柟娉曪細鍔犵紦瀛樸€傛妸宸茬粡瑙f瀽杩囩殑缁撴灉缂撳瓨涓嬫潵锛屼笅娆¢渶瑕佺殑鏃跺€欑洿鎺ュ彇鍑轰娇鐢ㄣ€傛敼杩涘悗鐨勪唬鐮佺畝鍗曞涓嬶細
-
-```go
-if goName, ok := pojoRegistry.j2g[o.JavaClassName()]; ok {
-    return pojoRegistry.registry[goName].index
-}
-```
-
-杩欓噷鍒氬紑濮嬫湁涓枒闂紝涓轰粈涔堣鍒嗕袱姝ュ厛鍙� `JavaClassName` 鍐嶅彇 `GoName` 鑰屼笉鐩存帴鍙栧悗鑰咃紵鐪嬭捣鏉ュソ鍍忔槸澶氭涓€涓句簡锛屼絾鍏跺疄 `JavaClassName` 鏄被鐩存帴瀹氫箟鐨勶紝鑰� `GoName` 鍗翠緷璧栦竴娆″弽灏勩€傜浉杈冧箣涓嬩袱娆¤浆鎹㈢殑娑堣€楀彲浠ュ拷鐣ヤ簡銆傛敼瀹屼箣鍚庡啀璺戜竴涓� benchmark锛�
-
-```plain
-BenchmarkEncode-8 197593   5601 ns/op   1771 B/op   51 allocs/op
-```
-
-闈炲父鎯婅鍦扮湅鍒帮紝鍚炲悙閲忓ぇ姒傛槸鍘熸潵鐨� 200%銆備笌涓婇潰鐨勭伀鐒板浘瀵规瘮锛屽彲浠ョ矖鐣ョ殑璁$畻锛宍RegiserPOJO` 澶ф鍗犱簡鏁翠綋鐨� 30%锛屾敼杩涘悗搴旇涔熷彧鏈夊師鏉ョ殑 `1 / 0.7 * 100% = 140%` 鎵嶅銆傜瓟妗堜篃鍙互鍦ㄧ伀鐒板浘閲屾壘鍒帮細
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-d.png)
-
-闄や簡 `RegisterPOJO` 琚共鎺変互澶栵紝涓庝笂鍥惧姣旓紝杩樻湁鍝簺鍖哄埆鍛紵鍙互鐪嬪埌锛屽師鏉ュ崰鐢ㄥ皢杩� 20% 鐨� `GC` 涔熷嚑涔庣湅涓嶅埌浜嗐€傛墍浠ョ湡瀹炵殑 CPU 鍒╃敤鐜囦篃瑕佸姞涓婅繖閮ㄥ垎鐨勫闀匡紝澶х害 `1 / 0.5 * 100% = 200%`銆�
-
-> 闇€瑕佹彁閱掔殑鏄紝benchmark 璺戝嚭鏉ョ殑缁撴灉骞朵笉绠楃ǔ瀹氾紝鎵€浠ヤ綘鑷繁鍘嬪嚭鏉ョ殑缁撴灉璺熸垜鐨勫彲鑳戒笉澶竴鑷达紝鐢氳嚦澶氳窇鍑犳鐨勭粨鏋滀篃涓嶅畬鍏ㄤ竴鏍枫€傚浜庝笂闈㈢殑鏁板瓧浣犲彧瑕佺悊瑙e師鍥犲氨濂斤紝涓婁笅娴姩 10% 涔熼兘鏄甯歌寖鍥淬€� 鍙嶈繃鏉ョ湅锛岃繖涔熺畻鏄� GC 浼樺寲鐨勪竴涓搴︺€傜鍒� GC 鍗犵敤 CPU 杩囬珮锛岄櫎浜嗗幓涓€涓釜鎹㈠璞℃睜锛屼篃鍙互閲嶇偣鐪嬬湅閭d簺琚绻佽皟鐢ㄧ殑妯″潡銆傚綋鐒舵洿绉戝鐨勬柟娉曟槸鐪� `pprof heap` / `memory profiler` 銆�
-
-閽堝杩欎釜缁撴灉锛屽彲浠ョ湅鍒� `encObject` 浠ヤ笂閮借鍒囧壊鎴愪簡涓嶅悓鐨勫皬鏍煎瓙锛屼笉鍐嶆湁鍍� `RegisterPOJO` 閭f牱鐨勫ぇ鍧楀崰鐢紝涓€鑸儏鍐典笅锛屼紭鍖栧埌杩欓噷灏卞彲浠ヤ簡銆�
-
-鐪嬪畬浜� `Encode` 锛屽啀鏉ョ湅鐪� `Decode` 锛屾柟娉曠被浼硷紝鐩存帴鐪� Goland 鐢熸垚鐨勭伀鐒板浘锛�
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-e.png)
-
-杩欎釜鍥炬湁鐐硅糠鎯戞€э紝濂藉儚涔熻鍒嗘垚宸笉澶氱殑灏忔牸瀛愪簡銆傚彲浠ョ偣寮€ `decObject` 杩欎竴灞傦細
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-f.png)
-
-杩欎釜鏃跺€欏師鏉ュ皬鐨� `...` 浼氭樉绀哄叿浣撳唴瀹癸紝闇€瑕佹敞鎰忕殑鏄噷闈㈡湁涓や釜 `findField` 锛屽湪澶嶆潅鐨勮皟鐢ㄩ噷缁忓父浼氶亣鍒拌繖绉嶆儏鍐碉細涓€涓€楄祫婧愮殑鍑芥暟琚垎鍒颁簡璁稿鍑芥暟閲岋紝瀵艰嚧鍦ㄧ湅鐏劙鍥炬椂骞朵笉鑳界洿瑙傚湴鐪嬪埌瀹冨氨鏄摱棰堛€傛瘮杈冨父瑙佺殑鏈夊簭鍒楀寲銆佹棩蹇椼€佺綉缁滆姹傜瓑姣忎釜妯″潡閮戒細骞蹭竴鐐瑰嵈鍙堟病鏈変竴涓叏灞€鐨勫嚱鏁板彧骞蹭粬涓€浠朵簨銆傝繖涓椂鍊欓櫎浜嗚倝鐪煎幓鎵句互澶栦篃鍙互鍊熷姪浜庡彟澶栦竴涓伐鍏凤細
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-g.png)
-
-鍦ㄨ繖涓� `Method List` 閲屽彲浠ユ槑鏄剧湅鍒� `findField` 宸茬粡琚悎骞跺埌涓€璧蜂簡锛屾€诲崰鐢ㄦ帴杩� CPU 鐨勪竴鍗婏紝鐪嬪埌杩欓噷浣犲ぇ姒傚氨鐭ラ亾瀹冨簲璇ユ槸涓紭鍖栫偣浜嗐€�
-
-## 杩涗竴姝�
-
-鍑芥暟 `func findField(name string, typ reflect.Type) ([]int, error)` 鐨勪綔鐢ㄦ槸鍦ㄤ竴涓被鍨嬮噷瀵绘壘鎸囧畾灞炴€х殑浣嶇疆锛圛ndex锛屽弽灏勫寘閲岀敤瀹冩潵琛ㄧず鏄鍑犱釜瀛楁锛夈€傚緢瀹规槗鎯冲埌锛屽浜庝竴涓粨鏋勪綋鏉ヨ锛屾瘡涓瓧娈电殑浣嶇疆浠庝竴寮€濮嬪氨纭畾浜嗭紝鎵€浠ョ敤缂撳瓨涓€鏍峰彲浠ヨВ鍐宠繖涓棶棰樸€備竴涓畝鍗曠殑浼樺寲濡備笅锛�
-
-```go
-func findField(name string, typ reflect.Type) (indexes []int, err error) {
-    typCache, _ := _findFieldCache.LoadOrStore(typ, &sync.Map{})
-    indexes, _ := typCache.(*sync.Map).Load(name)
-    if len(indexes.([]int)) == 0 {
-        err = perrors.Errorf("failed to find field %s", name)
-    }
-
-    return indexes.([]int), err
-
-    // ...
-}
-```
-
-```plain
-- BenchmarkDecode-8 57723   17987 ns/op 7448 B/op   224 allocs/op
-+ BenchmarkDecode-8 82995   12272 ns/op 7224 B/op   126 allocs/op
-```
-
-鍙互鐪嬪埌锛岀粨鏋滃苟涓嶅棰勬湡鐨勯偅鏍锋彁鍗囦竴鍊嶆晥鏋溿€傝繖涓唬鐮佷箥鐪嬭捣鏉ワ紝濂藉儚闄や簡鏈変竴浜涘暟鍡︾殑鏂█锛屽ソ鍍忎篃娌″埆鐨勪笢瑗夸簡锛屼负浠€涔堝彧鏈� 60% 鐨勬彁鍗囧憿锛屾垜浠繕鏄€熷姪涓嬪伐鍏�
-
-![](../../pic/hessian2/dubbo-go-hessian2-performance-optimization-h.png)
-
-鍙互鐪嬪埌锛氳缂撳瓨鑰楄垂浜� 7% 鐨勮祫婧愩€傚叾涓紝`sync.(*Map)` 涓嶄究浼樺寲锛屼絾 `newobejct` 鏄摢閲屾潵鐨勫憿锛熶唬鐮侀噷鍙互鐪嬪埌锛屽敮涓€瀹氫箟鏂板璞$殑鍦版柟灏辨槸鍑芥暟绗竴琛岀殑 `&sync.Map` 锛屾垜鎶辩潃璇曚竴璇曠殑蹇冩€佹妸 `LoadOrStore` 鎷嗘垚浜嗕袱姝�
-
-```go
-typCache, ok := _findFieldCache.Load(typ)
-if !ok {
-    typCache = &sync.Map{}
-    _findFieldCache.Store(typ, typCache)
-}
-```
-
-```plain
-- BenchmarkDecode-8        82995         12272 ns/op        7224 B/op        126 allocs/op
-+BenchmarkDecode-8        103876         12385 ns/op        6568 B/op        112 allocs/op
-```
-
-鐪嬬粨鏋滐紝鐫€瀹炲嚭涔庢剰鏂欍€傛兂璧锋潵浠ュ墠鐪� Java 浠g爜鏃剁粡甯哥鍒拌繖鏍风殑浠g爜锛�
-
-```go
-if ( logLevel == `info` ) { 
-    log.Info(...) 
-}
-```
-
-浠ュ墠涓€鐩磋寰楄繖涓� `if` 鐪熸槸娴垂鎰熸儏锛岀幇鍦ㄦ兂鏉ワ紝鍒槸涓€鐣鐭ヤ簡銆傚鏋滆兘鎻愪緵涓€涓� `LoadOrStore(key, func() interface{})` 鐨勬柟娉曪紝 浼氫笉浼氭洿濂戒竴浜涳紵 鍒拌繖閲岀殑璇濓紝鎴戜滑鍋氫簡涓や釜姣旇緝澶х殑浼樺寲锛屾暣浣撴€ц兘澶х害鎻愬崌浜嗕竴鍊嶃€傚鏋滀粩缁嗙湅鐏劙鍥撅紝杩樹細鍙戠幇鏈夊緢澶氬皬鐨勪紭鍖栫偣锛屼絾鏄敱浜庢病鏈変粈涔堢壒鍒川鐨勯璺冿紝杩欓噷涓嶅啀璧樿堪銆傛湁鍏磋叮鐨勫皬浼欎即鍙互鍒� [PR Imp: cache in reflection](https://github.com/apache/dubbo-go-hessian2/pull/179) 閲岄槄璇荤浉鍏崇殑璁ㄨ銆�
-
-## 鏇磋繘涓€姝�
-
-浼樺寲鍒版锛屼緷鐒惰棌鐫€涓€涓洿娣卞眰娆$殑闂锛氭壘涓€涓彲闈犵殑鍙傝€冨熀鍑嗭紝浠ヨ 閲忕洰鍓嶇殑宸ヤ綔缁撴灉銆愭瘯绔熸病鏈夊姣斿氨娌℃湁浼ゅ銆戙€備竴涓緢瀹规槗鎯冲埌鐨勬瘮杈冨璞℃槸 Go 璇█瀹樻柟鐨� `json` 鏍囧噯搴撱€�
-
-鎶� [dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2) 涓� `json` 鏍囧噯搴撳仛姣旇緝濡備笅锛�
-
-```shell
-$ go test -benchmem -run=^$ github.com/apache/dubbo-go-hessian2 -bench "^B" -vet=off -v -count=5
-goos: darwin
-goarch: amd64
-pkg: github.com/apache/dubbo-go-hessian2
-BenchmarkJsonEncode
-BenchmarkJsonEncode-8  249114   4719 ns/op  832 B/op  15 allocs/op
-BenchmarkJsonEncode-8  252224   4862 ns/op  832 B/op  15 allocs/op
-BenchmarkJsonEncode-8  240582   4739 ns/op  832 B/op  15 allocs/op
-BenchmarkJsonEncode-8  213283   4784 ns/op  832 B/op  15 allocs/op
-BenchmarkJsonEncode-8  227101   4665 ns/op  832 B/op  15 allocs/op
-BenchmarkEncode
-BenchmarkEncode-8  182184   5615 ns/op  1771 B/op  51 allocs/op
-BenchmarkEncode-8  183007   5565 ns/op  1771 B/op  51 allocs/op
-BenchmarkEncode-8  218664   5593 ns/op  1771 B/op  51 allocs/op
-BenchmarkEncode-8  214704   5886 ns/op  1770 B/op  51 allocs/op
-BenchmarkEncode-8  181861   5605 ns/op  1770 B/op  51 allocs/op
-BenchmarkJsonDecode
-BenchmarkJsonDecode-8 123667    8412 ns/op  1776 B/op  51 allocs/op
-BenchmarkJsonDecode-8 122796    8497 ns/op  1776 B/op  51 allocs/op
-BenchmarkJsonDecode-8 132103    8471 ns/op  1776 B/op  51 allocs/op
-BenchmarkJsonDecode-8 130687    8492 ns/op  1776 B/op  51 allocs/op
-BenchmarkJsonDecode-8 127668    8476 ns/op  1776 B/op  51 allocs/op
-BenchmarkDecode
-BenchmarkDecode-8 107775    10092 ns/op  6424 B/op  98 allocs/op
-BenchmarkDecode-8 110996    9950 ns/op   6424 B/op  98 allocs/op
-BenchmarkDecode-8 111036    10760 ns/op  6424 B/op  98 allocs/op
-BenchmarkDecode-8 113151    10063 ns/op  6424 B/op  98 allocs/op
-BenchmarkDecode-8 109197    10002 ns/op  6424 B/op  98 allocs/op
-PASS
-ok      github.com/apache/dubbo-go-hessian2 28.680s
-```
-
-铏界劧姣忔鐨勭粨鏋滀笉绋冲畾锛屼絾灏辨暣浣撹€岃█锛岀洰鍓嶇殑搴忓垪鍖栧拰鍙嶅簭鍒楀寲鎬ц兘澶ф閮芥槸 JSON 鏍囧噯搴撶殑 85% 宸﹀彸銆傝繖涓垚缁╁苟涓嶈兘璇村ソ锛屼絾鐭湡鍐呰兘鑺� 20 鍒嗙殑绮惧姏寰楀埌涓€涓� 80 鍒嗙殑缁撴灉锛屽簲璇ヤ篃鏄彲浠ユ帴鍙楃殑銆傝嚦浜庡墿涓嬬殑 20%锛屽氨涓嶆槸闈犳敼鍑犺浠g爜灏辫兘鎼炲畾浜嗐€傚唴瀛樺垎閰嶆槸鍚﹀悎鐞嗐€佹墽琛屾祦绋嬫槸鍚︽湁鍐椾綑锛岄兘鏄渶瑕佷竴鐐逛竴婊村湴鍘绘敼杩涖€�
-
-## 鎬荤粨
-
-鏈€鍚庯紝鎴戜滑鏉ユ€荤粨涓€涓嬫湰鏂囦富瑕佺殑浼樺寲姝ラ锛�
-
-*   鍒╃敤鐏劙鍥� 蹇€熷畾浣嶆秷鑰� CPU 杈冮珮鐨勬ā鍧楋紱
-*   鍒╃敤缂撳瓨鏈哄埗锛屽揩閫熸秷闄ら噸澶嶇殑璁$畻锛�
-*   鍒╃敤 CallTree銆丮ethodList 绛夊绉嶅伐鍏峰垎鏋愬皬娈典唬鐮佺殑绮剧‘娑堣€楋紱
-*   閬靛惊浜屽叓瀹氬緥锛屼互鏈€灏忕殑鎴愭湰鍋氬嚭涓€涓晥鏋滄樉钁楃殑鏀剁泭銆�
-
-### 娆㈣繋鍔犲叆 dubbo-go 绀惧尯
-
-鐩墠 dubbo-go 宸茬粡鍒颁簡涓€涓瘮杈冪ǔ瀹氭垚鐔熺殑鐘舵€併€傚湪鎺ヤ笅鏉ョ殑鐗堟湰閲岄潰锛屾垜浠皢闆嗕腑绮惧姏鍦ㄤ簯鍘熺敓涓娿€備笅涓€涓増鏈紝鎴戜滑灏嗛鍏堝疄鐜板簲鐢ㄧ淮搴︾殑鏈嶅姟娉ㄥ唽锛岃繖鏄竴涓拰鐜版湁娉ㄥ唽妯″瀷瀹屽叏涓嶅悓鐨勬柊鐨勬敞鍐屾ā鍨嬨€備篃鏄垜浠湞鐫€浜戝師鐢熷姫鍔涚殑涓€涓叧閿増鏈€�
-
-dubbo-go 閽夐拤缇� **23331795** 娆㈣繋浣犵殑鍔犲叆銆�
-
-## 浣滆€呬俊鎭�
-
-寮犳収浠侊紝github id micln锛屼换鑱� 寰楀埌 APP 鍚庣寮€鍙戙€�
\ No newline at end of file
diff --git a/doc/md/hessian2/mosn-performance-optimization.md b/doc/md/hessian2/mosn-performance-optimization.md
deleted file mode 100644
index c798bf094eedf778bf7b9fce3ce396041645c715..0000000000000000000000000000000000000000
--- a/doc/md/hessian2/mosn-performance-optimization.md
+++ /dev/null
@@ -1,491 +0,0 @@
-# [璁颁竴娆″湪 mosn 瀵� dubbo銆乨ubbo-go-hessian2 鐨勬€ц兘浼樺寲](https://gocn.vip/topics/10492)
-
-### 鑳屾櫙
-
-铓傝殎鍐呴儴瀵� Service Mesh 鐨勭ǔ瀹氭€у拰鎬ц兘瑕佹眰鏄瘮杈冮珮鐨勶紝鍐呴儴 mosn 骞挎硾鐢ㄤ簬鐢熶骇鐜銆傚湪浜戜笂鍜屽紑婧愮ぞ鍖猴紝RPC 棰嗗煙 dubbo 鍜� spring cloud 鍚屾牱骞挎硾鐢ㄤ簬鐢熶骇鐜锛屾垜浠湪 mosn 鍩虹涓婏紝鏀寔浜� dubbo 鍜� spring cloud 娴侀噺浠g悊銆傛垜浠彂鐜板湪鏀寔 dubbo 鍗忚杩囩▼涓紝缁忚繃 Mesh 娴侀噺浠g悊鍚庯紝鎬ц兘鏈夐潪甯稿ぇ鐨勬€ц兘鎹熻€楋紝鍦ㄥぇ鍟嗘埛钀藉湴 Mesh 涓篃瀵规€ц兘鏈夎緝楂樿姹傦紝鍥犳鏈枃浼氶噸鐐规弿杩板湪鍩轰簬 Go 璇█搴� [dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2) 銆乨ubbo 鍗忚涓 [mosn](https://github.com/mosn/mosn) 鎵€鍋氱殑鎬ц兘浼樺寲銆�
-
-### 鎬ц兘浼樺寲姒傝堪
-
-鏍规嵁瀹為檯涓氬姟閮ㄧ讲鍦烘櫙锛屽苟娌℃湁閫夌敤楂樻€ц兘鏈哄櫒锛屼娇鐢ㄦ櫘閫� linux 鏈哄櫒锛岄厤缃拰鍘嬫祴鍙傛暟濡備笅锛�
-
-- Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz 4 鏍� 16G 銆�
-- pod 閰嶇疆 `2c銆�1g`锛孞VM 鍙傛暟 `-server -Xms1024m -Xmx1024m`銆�
-- 缃戠粶寤惰繜 0.23 ms, 2 鍙� linux 鏈哄櫒锛屽垎鍒儴缃� server + mosn, 鍘嬫祴绋嬪簭 [rpc-perfomance](https://github.com/zonghaishang/rpc-performance)銆�
-
-缁忚繃 3 杞€ц兘浼樺寲鍚庯紝浣跨敤浼樺寲鐗堟湰 mosn 灏嗕細鑾峰緱浠ヤ笅鎬ц兘鏀剁泭锛堟鏋堕殢鏈� 512 鍜� 1k 瀛楄妭鍘嬫祴锛夛細
-
-- 512 瀛楄妭鏁版嵁锛歮osn + dubbo 鏈嶅姟璋冪敤 TPS 鏁翠綋鎻愬崌 55-82.8%锛孯T 闄嶄綆 45% 宸﹀彸锛屽唴瀛樺崰鐢� 40M锛�
-- 1k 鏁版嵁锛歮osn + dubbo 鏈嶅姟璋冪敤 TPS 鏁翠綋鎻愬崌 51.1-69.3%锛孯T 闄嶄綆 41%宸﹀彸, 鍐呭瓨鍗犵敤 41M銆�
-
-### 鎬ц兘浼樺寲宸ュ叿 pprof
-
-纾ㄥ垁涓嶈鐮嶆煷宸ワ紝鍦ㄦ€ц兘浼樺寲鍓嶉鍏堣鎵惧埌鎬ц兘鍗$偣锛屾壘鍒版€ц兘鍗$偣鍚庯紝鍙︿竴涓毦鐐瑰氨鏄浣曠敤楂樻晥浠g爜浼樺寲鏇夸唬 slow code銆傚洜涓鸿殏铓� Service Mesh 鏄熀浜� go 璇█瀹炵幇鐨勶紝鎴戜滑棣栭€� go 鑷甫鐨� pprof 鎬ц兘宸ュ叿锛屾垜浠畝瑕佷粙缁嶈繖涓伐鍏峰浣曚娇鐢ㄣ€傚鏋滄垜浠� go 搴撹嚜甯� http.Server 鏃跺苟涓斿湪 main 澶撮儴瀵煎叆`import _ "net/http/pprof"`锛実o 浼氬府鎴戜滑鎸傝浇瀵瑰簲鐨� handler , 璇︾粏鍙互鍙傝€� [godoc](https://pkg.go.dev/net/http/pprof?tab=doc) 銆�
-
-鍥犱负 mosn 榛樿浼氬湪`34902`绔彛鏆撮湶 http 鏈嶅姟锛岄€氳繃浠ヤ笅鍛戒护杞绘澗鑾峰彇 mosn 鐨勬€ц兘璇婃柇鏂囦欢锛�
-
-```
-go tool pprof -seconds 60 http://benchmark-server-ip:34902/debug/pprof/profile
-# 浼氱敓鎴愮被浼间互涓嬫枃浠讹紝璇ュ懡浠ら噰鏍穋pu 60绉�
-# pprof.mosn.samples.cpu.001.pb.gz
-```
-
-鐒跺悗缁х画鐢� pprof 鎵撳紑璇婃柇鏂囦欢锛屾柟渚垮湪娴忚鍣ㄦ煡鐪嬶紝鍦ㄥ浘 1-1 缁欏嚭鍘嬫祴鍚� profiler 鐏劙鍥撅細
-
-```
-# http=:8000浠h〃pprof鎵撳紑8000绔彛鐒跺悗鐢ㄤ簬web娴忚鍣ㄥ垎鏋�
-# mosnd浠h〃mosn鐨勪簩杩涘埗鍙墽琛屾枃浠讹紝鐢ㄤ簬鍒嗘瀽浠g爜绗﹀彿
-# pprof.mosn.samples.cpu.001.pb.gz鏄痗pu璇婃柇鏂囦欢
-go tool pprof -http=:8000 mosnd pprof.mosn.samples.cpu.001.pb.gz
-```
-
-![mosn鎬ц兘璇婃柇鐏劙鍥綸(../../pic/hessian2/mosn-performance-optimization-1.png)
-
-<center>鍥� 1-1 mosn 鎬ц兘鍘嬫祴鐏劙鍥�</center>
-
-鍦ㄨ幏寰楄瘖鏂暟鎹悗锛屽彲浠ュ垏鍒版祻瑙堝櫒 Flame Graph锛堢伀鐒板浘锛実o 1.11 浠ヤ笂鐗堟湰鑷甫锛夛紝鐏劙鍥剧殑 x 杞村潗鏍囦唬琛� CPU 娑堣€楁儏鍐碉紝 y 杞翠唬鐮佹柟娉曡皟鐢ㄥ爢鏍堛€傚湪浼樺寲寮€濮嬩箣鍓嶏紝鎴戜滑鍊熷姪 go 宸ュ叿 pprof 鍙互璇婃柇鍑哄ぇ鑷寸殑鎬ц兘鍗$偣鍦ㄤ互涓嬪嚑涓柟闈紙鐩存帴鍘� server 绔� mosn锛夛細
-
-- mosn 鍦ㄦ帴鏀� dubbo 璇锋眰锛孋PU 鍗$偣鍦� streamConnection.Dispatch
-- mosn 鍦ㄨ浆鍙� dubbo 璇锋眰锛孋PU 鍗$偣鍦� downStream.Receive
-
-鍙互鐐瑰嚮鐏劙鍥句换鎰忔í鏉★紝杩涘幓鏌ョ湅闀挎柟鍧楄€楁椂鍜屽爢鏍堟槑缁嗭紙璇峰弬鑰冨浘 1-2 鍜� 1-3 鎵€绀猴級锛�
-
-![1-2](../../pic/hessian2/mosn-performance-optimization-2.png))
-
-<center>鍥� 1-2 Dispatch 鐏劙鍥炬槑缁� </center>
-
-![1-3](../../pic/hessian2/mosn-performance-optimization-3.png)
-
-<center>鍥� 1-3 Receive 鐏劙鍥炬槑缁� </center>
-
-### 鎬ц兘浼樺寲鎬濊矾
-
-鏈枃閲嶇偣璁板綍浼樺寲浜嗗摢浜� case 鎵嶈兘鎻愬崌 50%浠ヤ笂鐨勫悶鍚愰噺鍜岄檷浣� RT锛屽洜姝ゅ悗闈㈢洿鎺ュ垎鏋愬綋鍓嶄紭鍖栦簡鍝簺 case銆傚湪姝や箣鍓嶏紝鎴戜滑浠� Dispatch 涓轰緥锛岀湅涓嬪畠涓虹敋涔堥偅涔堝悆鎬ц兘 銆傚湪 terminal 涓€氳繃浠ヤ笅鍛戒护鍙互鏌ョ湅浠g爜琛岃€楄垂 CPU 鏁版嵁锛堜唬鐮佹湁鍒犲噺锛夛細
-
-```go
-go tool pprof mosnd pprof.mosn.samples.cpu.001.pb.gz
-(pprof) list Dispatch
-Total: 1.75mins
-     370ms     37.15s (flat, cum) 35.46% of Total
-      10ms       10ms    123:func (conn *streamConnection) Dispatch(buffer types.IoBuffer) {
-      40ms      630ms    125:	log.DefaultLogger.Tracef("stream connection dispatch data string = %v", buffer.String())
-         .          .    126:
-         .          .    127:	// get sub protocol codec
-         .      250ms    128:	requestList := conn.codec.SplitFrame(buffer.Bytes())
-      20ms       20ms    129:	for _, request := range requestList {
-      10ms      160ms    134:		headers := make(map[string]string)
-         .          .    135:		// support dynamic route
-      50ms      920ms    136:		headers[strings.ToLower(protocol.MosnHeaderHostKey)] = conn.connection.RemoteAddr().String()
-         .          .    149:
-         .          .    150:		// get stream id
-      10ms      440ms    151:		streamID := conn.codec.GetStreamID(request)
-         .          .    156:		// request route
-         .       50ms    157:		requestRouteCodec, ok := conn.codec.(xprotocol.RequestRouting)
-         .          .    158:		if ok {
-         .     20.11s    159:			routeHeaders := requestRouteCodec.GetMetas(request)
-         .          .    165:		}
-         .          .    166:
-         .          .    167:		// tracing
-      10ms       80ms    168:		tracingCodec, ok := conn.codec.(xprotocol.Tracing)
-         .          .    169:		var span types.Span
-         .          .    170:		if ok {
-      10ms      1.91s    171:			serviceName := tracingCodec.GetServiceName(request)
-         .      2.17s    172:			methodName := tracingCodec.GetMethodName(request)
-         .          .    176:
-         .          .    177:			if trace.IsEnabled() {
-         .       50ms    179:				tracer := trace.Tracer(protocol.Xprotocol)
-         .          .    180:				if tracer != nil {
-      20ms      1.66s    181:					span = tracer.Start(conn.context, headers, time.Now())
-         .          .    182:				}
-         .          .    183:			}
-         .          .    184:		}
-         .          .    185:
-         .      110ms    186:		reqBuf := networkbuffer.NewIoBufferBytes(request)
-         .          .    188:		// append sub protocol header
-      10ms      950ms    189:		headers[types.HeaderXprotocolSubProtocol] = string(conn.subProtocol)
-      10ms      4.96s    190:		conn.OnReceive(ctx, streamID, protocol.CommonHeader(headers), reqBuf, span, isHearbeat)
-      30ms       60ms    191:		buffer.Drain(requestLen)
-         .          .    192:	}
-         .          .    193:}
-```
-
-閫氳繃涓婇潰 `list Dispatch` 鍛戒护锛屾€ц兘鍗$偣涓昏鍒嗗竷鍦� `159` 銆� `171` 銆乣172` 銆� `181` 銆佸拰 `190` 绛夎锛屼富瑕佸崱鐐瑰湪瑙g爜 dubbo 鍙傛暟銆侀噸澶嶈В鍙傛暟銆乼racer銆佸彂搴忓垪鍖栧拰 log 绛夈€�
-
-#### 1. 浼樺寲 dubbo 瑙g爜 GetMetas
-
-鎴戜滑閫氳繃瑙g爜 dubbo 鐨� body 鍙互鑾峰緱浠ヤ笅淇℃伅锛岃皟鐢ㄧ殑鐩爣鎺ュ彛锛� interface 锛夊拰璋冪敤鏂规硶鐨勬湇鍔″垎缁勶紙 group 锛夌瓑淇℃伅锛屼絾鏄渶瑕佽烦杩囨墍鏈変笟鍔℃柟娉曞弬鏁帮紝鐩墠浣跨敤寮€婧愮殑 [dubbo-go-hessian2](https://github.com/apache/dubbo-go-hessian2) 搴擄紝瑙f瀽 string 鍜� map 鎬ц兘杈冨樊, 鎻愬崌 hessian 搴撹В鐮佹€ц兘锛屼細鍦ㄦ湰鏂囧悗闈㈣瑙c€�
-
-**浼樺寲鎬濊矾锛�**
-
-鍦� mosn 鐨� ingress 绔紙 mosn 鐩存帴杞彂璇锋眰缁欐湰鍦� java server 杩涚▼锛�, 鎴戜滑鏍规嵁璇锋眰鐨� path 鍜� version 绐ユ帰鐢ㄦ埛浣跨敤鐨� interface 鍜� group , 鏋勫缓姝g‘鐨� dataID 鍙互杩涜鏃犺剳杞彂锛屾棤闇€瑙g爜 body锛屾Θ鍙栨€ц兘鎻愬崌銆�
-
-鎴戜滑鍙互鍦ㄦ湇鍔℃敞鍐屾椂锛屾瀯寤烘湇鍔″彂甯冪殑 path 銆乿ersion 鍜� group 鍒� interface 銆乬roup 鏄犲皠銆傚湪 mosn 杞彂 dubbo 璇锋眰鏃跺彲浠ラ€氳繃璇婚攣鏌� cache + 璺宠繃瑙g爜 body锛屽姞閫� mosn 鎬ц兘銆�
-
-鍥犳鎴戜滑鏋勫缓浠ヤ笅 cache 瀹炵幇锛堟暟缁� + 閾捐〃鏁版嵁缁撴瀯锛�, 鍙弬瑙� [浼樺寲浠g爜 diff](https://github.com/mosn/mosn/pull/1174/commits/9020ee9995cd15a7a4321a375a9506cf94dc70a8#diff-f5ff30debd68b8318c8236a0b5ccde07R6) 锛�
-
-```go
-// metadata.go
-// DubboPubMetadata dubbo pub cache metadata
-var DubboPubMetadata = &Metadata{}
-
-// DubboSubMetadata dubbo sub cache metadata
-var DubboSubMetadata = &Metadata{}
-
-// Metadata cache service pub or sub metadata.
-// speed up for decode or encode dubbo peformance.
-// please do not use outside of the dubbo framwork.
-type Metadata struct {
-	data map[string]*Node
-	mu   sync.RWMutex // protect data internal
-}
-
-// Find cached pub or sub metatada.
-// caller should be check match is true
-func (m *Metadata) Find(path, version string) (node *Node, matched bool) {
-	// we found nothing
-	if m.data == nil {
-		return nil, false
-	}
-
-	m.mu.RLocker().Lock()
-	// for performance
-	// m.mu.RLocker().Unlock() should be called.
-
-	// we check head node first
-	head := m.data[path]
-	if head == nil || head.count <= 0 {
-		m.mu.RLocker().Unlock()
-		return nil, false
-	}
-
-	node = head.Next
-	// just only once, just return
-	// for dubbo framwork, that's what we're expected.
-	if head.count == 1 {
-		m.mu.RLocker().Unlock()
-		return node, true
-	}
-
-	var count int
-	var found *Node
-
-	for ; node != nil; node = node.Next {
-		if node.Version == version {
-			if found == nil {
-				found = node
-			}
-			count++
-		}
-	}
-
-	m.mu.RLocker().Unlock()
-	return found, count == 1
-}
-
-// Register pub or sub metadata
-func (m *Metadata) Register(path string, node *Node) {
-	m.mu.Lock()
-	// for performance
-	// m.mu.Unlock() should be called.
-
-	if m.data == nil {
-		m.data = make(map[string]*Node, 4)
-	}
-
-	// we check head node first
-	head := m.data[path]
-	if head == nil {
-		head = &Node{
-			count: 1,
-		}
-		// update head
-		m.data[path] = head
-	}
-
-	insert := &Node{
-		Service: node.Service,
-		Version: node.Version,
-		Group:   node.Group,
-	}
-
-	next := head.Next
-	if next == nil {
-		// fist insert, just insert to head
-		head.Next = insert
-		// record last element
-		head.last = insert
-		m.mu.Unlock()
-		return
-	}
-
-	// we check already exist first
-	for ; next != nil; next = next.Next {
-		// we found it
-		if next.Version == node.Version && next.Group == node.Group {
-			// release lock and no nothing
-			m.mu.Unlock()
-			return
-		}
-	}
-
-	head.count++
-	// append node to the end of the list
-	head.last.Next = insert
-	// update last element
-	head.last = insert
-	m.mu.Unlock()
-}
-```
-
-閫氳繃鏈嶅姟娉ㄥ唽鏃舵瀯寤哄ソ鐨� cache锛屽彲浠ュ湪 mosn 鐨� stream 鍋氳В鐮佹椂鍛戒腑 cache , 鏃犻渶瑙g爜鍙傛暟鑾峰彇鎺ュ彛鍜� group 淇℃伅锛屽彲鍙傝[浼樺寲浠g爜 diff](https://github.com/mosn/mosn/pull/1174/commits/9020ee9995cd15a7a4321a375a9506cf94dc70a8#diff-73d1153005841c788c91116915f460a5R188) :
-
-```go
-// decoder.go
-// for better performance.
-// If the ingress scenario is not using group,
-// we can skip parsing attachment to improve performance
-if listener == IngressDubbo {
-	if node, matched = DubboPubMetadata.Find(path, version); matched {
-		meta[ServiceNameHeader] = node.Service
-		meta[GroupNameHeader] = node.Group
-	}
-} else if listener == EgressDubbo {
-	// for better performance.
-	// If the egress scenario is not using group,
-	// we can skip parsing attachment to improve performance
-	if node, matched = DubboSubMetadata.Find(path, version); matched {
-		meta[ServiceNameHeader] = node.Service
-		meta[GroupNameHeader] = node.Group
-	}
-}
-```
-
-鍦� mosn 鐨� egress 绔紙 mosn 鐩存帴杞彂璇锋眰缁欐湰鍦� java client 杩涚▼锛�, 鎴戜滑閲囩敤绫讳技鐨勬€濊矾, 鎴戜滑鏍规嵁璇锋眰鐨� path 鍜� version 鍘荤鎺㈢敤鎴蜂娇鐢ㄧ殑 interface 鍜� group , 鏋勫缓姝g‘鐨� dataID 鍙互杩涜鏃犺剳杞彂锛屾棤闇€瑙g爜 body锛屾Θ鍙栨€ц兘鎻愬崌銆�
-
-#### 2. 浼樺寲 dubbo 瑙g爜鍙傛暟
-
-鍦� dubbo 瑙g爜鍙傛暟鍊肩殑鏃跺€� 锛宮osn 閲囩敤鐨勬槸 hessian 鐨勬鍒欒〃杈惧紡鏌ユ壘锛岄潪甯歌€楄垂鎬ц兘銆傛垜浠厛鐪嬩笅浼樺寲鍓嶅悗 benchmark 瀵规瘮, 鎬ц兘鎻愬崌 50 鍊嶃€�
-
-```go
-go test -bench=BenchmarkCountArgCount -run=^$ -benchmem
-BenchmarkCountArgCountByRegex-12	200000	6236 ns/op	1472 B/op	24 allocs/op
-BenchmarkCountArgCountOptimized-12	10000000	124 ns/op	0 B/op	0 allocs/op
-```
-
-**浼樺寲鎬濊矾锛�**
-
-鍙互娑堥櫎姝e垯琛ㄨ揪寮忥紝閲囩敤绠€鍗曞瓧绗︿覆瑙f瀽璇嗗埆鍙傛暟绫诲瀷涓暟锛� [dubbo 缂栫爜鍙傛暟涓暟瀛楃涓插疄鐜癩(https://github.com/zonghaishang/dubbo/blob/e0fd702825a274379fb609229bdb06ca0586122e/dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java#L370) 骞朵笉澶嶆潅, 涓昏缁欏璞″姞 L 鍓嶇紑銆佹暟缁勫姞[銆乸rimitive 绫诲瀷鏈夊崟瀛楃浠f浛銆傞噰鐢� go 鍙互瀹炵幇鍚岀瓑瑙f瀽, 鍙互鍙傝€僛浼樺寲浠g爜 diff](https://github.com/mosn/mosn/pull/1174/commits/9020ee9995cd15a7a4321a375a9506cf94dc70a8#diff-73d1153005841c788c91116915f460a5R245) 锛�
-
-```
-func getArgumentCount(desc string) int {
-	len := len(desc)
-	if len == 0 {
-		return 0
-	}
-
-	var args, next = 0, false
-	for _, ch := range desc {
-
-		// is array ?
-		if ch == '[' {
-			continue
-		}
-
-		// is object ?
-		if next && ch != ';' {
-			continue
-		}
-
-		switch ch {
-		case 'V', // void
-			'Z', // boolean
-			'B', // byte
-			'C', // char
-			'D', // double
-			'F', // float
-			'I', // int
-			'J', // long
-			'S': // short
-			args++
-		default:
-			// we found object
-			if ch == 'L' {
-				args++
-				next = true
-				// end of object ?
-			} else if ch == ';' {
-				next = false
-			}
-		}
-
-	}
-	return args
-}
-```
-
-#### 3. 浼樺寲 dubbo hessian go 瑙g爜 string 鎬ц兘
-
-鍦ㄥ浘 1-2 涓彲浠ョ湅鍒� dubbo hessian go 鍦ㄨВ鐮� string 鍗犳瘮 CPU 閲囨牱杈冮珮锛屾垜浠湪瑙g爜 dubbo 璇锋眰鏃讹紝浼氳В鏋� dubbo 妗嗘灦鐗堟湰銆佽皟鐢� path 銆佹帴鍙g増鏈拰鏂规硶鍚嶏紝杩欎簺閮芥槸 string 绫诲瀷锛宒ubbo hessian go 瑙f瀽 string 浼氬奖鍝� RPC 鎬ц兘銆�
-
-鎴戜滑棣栧厛璺戜竴涓� benchmar k 鍓嶅悗瑙g爜 string 鎬ц兘瀵规瘮锛屾€ц兘鎻愬崌 56.11%锛� 瀵瑰簲鍒� RPC 涓湁 5% 宸﹀彸鎻愬崌銆�
-
-```
-BenchmarkDecodeStringOriginal-12     1967202     613 ns/op     272 B/op     6 allocs/op
-BenchmarkDecodeStringOptimized-12     4477216     269 ns/op     224 B/op     5 allocs/op
-```
-
-**浼樺寲鎬濊矾锛�**
-
-鐩存帴浣跨敤 UTF-8 byte 瑙g爜锛屾€ц兘鏈€楂橈紝涔嬪墠鍏堣В鐮� byte 鎴� rune , 瀵� rune 瑙g爜鎴� string 锛屽強鍏惰€楄垂鎬ц兘銆傚鍔犳壒閲� string chunk copy 锛岄檷浣� read 璋冪敤锛屽苟涓斾娇鐢� unsafe 杞崲 string 锛堥伩鍏嶄竴浜涙牎楠岋級锛屽洜涓轰唬鐮佷紭鍖� diff 杈冨锛岃繖閲岀粰鍑篬浼樺寲浠g爜 PR](https://github.com/apache/dubbo-go-hessian2/pull/188) 銆�
-
-go SDK 浠g爜`runtime/string.go#slicerunetostring`锛� rune 杞崲鎴� string 锛夛紝 鍚屾牱鏄妸 rune 杞垚 byte 鏁扮粍锛岃繖閲岀粰浜嗘垜浼樺寲鎬濊矾鍚彂銆�
-
-#### 4. 浼樺寲 hessian 搴撶紪瑙g爜瀵硅薄
-
-铏界劧娑堥櫎浜� dubbo 鐨� body 瑙g爜閮ㄥ垎锛屼絾鏄� mosn 鍦ㄥ鐞� dubbo 璇锋眰鏃讹紝蹇呴』瑕佸€熷姪 hessian 鍘� decode 璇锋眰澶撮儴鐨勬鏋剁増鏈€佽姹� path 鍜屾帴鍙g増鏈€笺€備絾鏄瘡娆″湪瑙g爜鐨勬椂鍊欓兘浼氬垱寤哄簭鍒楀寲瀵硅薄锛屽紑閿€闈炲父楂橈紝鍥犱负 hessian 姣忔鍦ㄥ垱寤� reader 鐨勬椂鍊欎細 allocate 4k 鏁版嵁骞� reset銆�
-
-```
-      10ms       10ms     75:func unSerialize(serializeId int, data []byte, parseCtl unserializeCtl) *dubboAttr {
-      10ms      140ms     82:	attr := &dubboAttr{}
-      80ms      2.56s     83:	decoder := hessian.NewDecoderWithSkip(data[:])
-ROUTINE ======================== bufio.NewReaderSize in /usr/local/go/src/bufio/bufio.go
-      50ms      2.44s (flat, cum)  2.33% of Total
-         .      220ms     55:	r := new(Reader)
-      50ms      2.22s     56:	r.reset(make([]byte, size), rd)
-         .          .     57:	return r
-         .          .     58:}
-```
-
-鎴戜滑鍙互鍐欎釜姹犲寲鍐呭瓨鍓嶅悗鎬ц兘瀵规瘮, 鎬ц兘鎻愬崌 85.4% , [benchmark 鐢ㄤ緥](https://github.com/zonghaishang/dubbo-go-hessian2/blob/9b418c4e2700964f244e6b982855b4e89b45990d/string_test.go#L161) 锛�
-
-```go
-BenchmarkNewDecoder-12	1487685	803 ns/op	4528 B/op	9 allocs/op
-BenchmarkNewDecoderOptimized-12	10564024	117 ns/op	128 B/op	3 allocs/op
-```
-
-**浼樺寲鎬濊矾锛�**
-
-鍦ㄦ瘡娆$紪瑙g爜鏃讹紝姹犲寲 hessian 鐨� decoder 瀵硅薄锛屾柊澧� NewCheapDecoderWithSkip 骞舵敮鎸� reset 澶嶇敤 decoder 銆�
-
-```
-var decodePool = &sync.Pool{
-    New: func() interface{} {
-        return hessian.NewCheapDecoderWithSkip([]byte{})
-    },
-}
-
-// 鍦ㄨВ鐮佹椂鎸夌収濡備笅鏂规硶璋冪敤
-decoder := decodePool.Get().(*hessian.Decoder)
-// fill decode data
-decoder.Reset(data[:])
-hessianPool.Put(decoder)
-```
-
-#### 5. 浼樺寲閲嶅瑙g爜 service 鍜� methodName 鍊�
-
-xprotocol 鍦ㄥ疄鐜� xprotocol.Tracing 鑾峰彇鏈嶅姟鍚嶇О鍜屾柟娉曟椂锛屼細瑙﹀彂璋冪敤骞惰В鏋� 2 娆★紝璋冪敤寮€閿€姣旇緝澶с€�
-
-```
-      10ms      1.91s    171:			serviceName := tracingCodec.GetServiceName(request)
-         .      2.17s    172:			methodName := tracingCodec.GetMethodName(request)
-```
-
-**浼樺寲鎬濊矾锛�**
-
-鍥犱负鍦� GetMetas 閲岄潰宸茬粡瑙f瀽杩囦竴娆′簡锛屽彲浠ユ妸瑙f瀽杩囩殑 headers 浼犺繘鍘伙紝濡傛灉 headers 鏈変簡灏变笉鐢ㄥ啀鍘昏В鏋愪簡锛屽苟涓旈噸鏋勬帴鍙e悕绉颁负涓€涓紝杩斿洖鍊间负浜屽厓缁勶紝娑堥櫎涓€娆¤皟鐢ㄣ€�
-
-#### 6. 浼樺寲 streamID 绫诲瀷杞崲
-
-鍦� go 涓皢 byte 鏁扮粍鍜� streamID 杩涜浜掕浆鐨勬椂鍊欙紝姣旇緝璐规€ц兘銆�
-
-**浼樺寲鎬濊矾锛�**
-
-鐢熶骇浠g爜涓�, 灏介噺涓嶈浣跨敤 fmt.Sprintf 鍜� fmt.Printf 鍘诲仛绫诲瀷杞崲鍜屾墦鍗颁俊鎭€傚彲浠ヤ娇鐢� strconv 鍘昏浆鎹€€�
-
-```
-   .      430ms    147: reqIDStr := fmt.Sprintf("%d", reqID)
-60ms      4.10s    168: fmt.Printf("src=%s, len=%d, reqid:%v\n", streamID, reqIDStrLen, reqIDStr)
-```
-
-#### 7. 浼樺寲鏄傝吹鐨勭郴缁熻皟鐢�
-
-mosn 鍦ㄨВ鐮� dubbo 鐨勮姹傛椂锛屼細鍦� header 涓涓€浠借繙绋� host 鐨勫湴鍧€锛屽苟涓斿湪 for 寰幆涓幏鍙� remote IP锛岀郴缁熻皟鐢ㄥ紑閿€姣旇緝楂樸€�
-
-**浼樺寲鎬濊矾锛�**
-
-```
-     50ms      920ms    136:		headers[strings.ToLower(protocol.MosnHeaderHostKey)] = conn.connection.RemoteAddr().String()
-```
-
-鍦ㄨ幏鍙栬繙绋嬪湴鍧€鏃讹紝灏藉彲鑳藉湪 streamConnection 涓� cache 杩滅▼ IP 鍊硷紝涓嶈姣忔閮藉幓璋冪敤 RemoteAddr銆�
-
-#### 8. 浼樺寲 slice 鍜� map 瑙﹀彂鎵╁鍜� rehash
-
-鍦� mosn 澶勭悊 dubbo 璇锋眰鏃讹紝浼氭牴鎹帴鍙c€佺増鏈拰鍒嗙粍鍘绘瀯寤� dataID 锛岀劧鍚庡尮閰� cluster , 浼氬垱寤洪粯璁� slice 鍜� map 瀵硅薄锛岀粡杩囨€ц兘璇婃柇锛屽鑷翠笉鏂� allocate slice 鍜� grow map 瀹归噺姣旇緝璐规€ц兘銆�
-
-**浼樺寲鎬濊矾锛�**
-
-浣跨敤 slice 鍜� map 鏃讹紝灏藉彲鑳介浼板閲忓ぇ灏忥紝浣跨敤 make(type, capacity) 鍘绘寚瀹氬垵濮嬪ぇ灏忋€�
-
-#### 9. 浼樺寲 trace 鏃ュ織绾у埆杈撳嚭
-
-mosn 涓笉灏戜唬鐮佸湪澶勭悊閫昏緫鏃讹紝浼氭墦寰堝 trace 绾у埆鐨勬棩蹇楋紝骞朵笖浼氫紶閫掍笉灏戝弬鏁板€笺€�
-
-**浼樺寲鎬濊矾锛�**
-
-璋冪敤 trace 杈撳嚭鍓嶏紝灏介噺鍒ゆ柇涓€涓嬫棩蹇楃骇鍒紝濡傛灉鏈夊涓� trace 璋冪敤锛屽敖鍙兘鎶婃墍鏈夊瓧绗︿覆鍐欏埌 buf 涓紝鐒跺悗鎶� buf 鍐呭鍐欏埌鏃ュ織涓紝骞朵笖灏藉彲鑳藉皯鐨勮皟鐢� trace 鏃ュ織鏂规硶銆�
-
-#### 10. 浼樺寲 tracer銆乴og 鍜� metrics
-
-鍦ㄥぇ淇冩湡闂达紝瀵规満鍣ㄧ殑鎬ц兘瑕佹眰杈冮珮锛岀粡杩囨€ц兘璇婃柇锛宼racer銆乵osn log 鍜� cloud metrics 鍐欐棩蹇楋紙 IO 鎿嶄綔锛夐潪甯歌€楄垂鎬ц兘銆�
-
-**浼樺寲鎬濊矾锛�**
-
-閫氳繃閰嶇疆涓績涓嬪彂閰嶇疆鎴栬€呭鍔犲ぇ淇冨紑鍏筹紝鍏佽 API 璋冪敤杩欎簺 feature 鐨勫紑鍏炽€�
-
-```
-/api/v1/downgrade/on
-/api/v1/downgrade/off
-```
-
-#### 11. 浼樺寲 route header 瑙f瀽
-
-mosn 涓湪鍋氳矾鐢卞墠锛岄渶瑕佸仛澶ч噺鐨� header 鐨� map 璁块棶锛屾瘮濡� IDC銆乤ntvip 绛夐€昏緫鍒ゆ柇锛屽晢涓氱増鎴栬€呭紑婧� mosn 涓嶉渶瑕佽繖浜涢€昏緫锛岃繖浜涗篃浼氬崰鐢ㄤ竴浜涘紑閿€銆�
-
-**浼樺寲鎬濊矾锛�**
-
-濡傛灉鏄簯涓婇€昏緫锛屼富绔欑殑閫昏緫閮戒笉璧般€�
-
-#### 12. 浼樺寲 featuregate 璋冪敤
-
-鍦� mosn 涓鐞嗚姹傛椂锛屼负浜嗗尯鍒嗕富绔欏拰鍟嗕笟鐗堣矾鐢遍€昏緫锛屼細閫氳繃 featuregate 鍒ゆ柇閫昏緫璧板摢閮ㄥ垎銆傞€氳繃 featuregate 璋冪敤寮€閿€杈冨ぇ锛岄渶瑕侀绻佺殑鍋氱被鍨嬭浆鎹㈠拰澶氬眰 map 鍘昏幏鍙栥€�
-
-**浼樺寲鎬濊矾锛�**
-
-閫氳繃涓€涓� bool 鍙橀噺璁板綍 featuregate 瀵瑰簲寮€鍏筹紝濡傛灉娌℃湁鍒濆鍖栬繃锛屽氨涓诲姩璋冪敤涓€涓� featuregate銆�
-
-### 鏈潵鎬ц兘浼樺寲鎬濊€�
-
-缁忚繃鍑犺疆鎬ц兘浼樺寲 锛岀洰鍓嶇湅鐏劙鍥撅紝鍗$偣閮藉湪 connection 鐨� read 鍜� write 锛屽彲浠ヤ紭鍖栫殑绌洪棿姣旇緝灏忎簡銆備絾鏄彲鑳戒粠浠ヤ笅鍦烘櫙涓幏寰楁敹鐩婏細
-
-- 鍑忓皯 connection 鐨� read 鍜� write 娆℃暟 (syscall) 銆�
-- 浼樺寲 IO 绾跨▼妯″瀷锛屽噺灏戞惡绋嬪拰涓婁笅鏂囧垏鎹㈢瓑銆�
-
-浣滀负缁撴潫锛岀粰鍑轰簡鏈€缁堜紭鍖栧悗鐨勭伀鐒板浘 锛屽ぇ閮ㄥ垎鍗$偣閮藉湪绯荤粺璋冪敤鍜岀綉缁滆鍐�, 璇峰弬鑰冨浘 1-4銆�
-
-![mosn浼樺寲鍚庣伀鐒板浘](../../pic/hessian2/mosn-performance-optimization-4.png)
-
-<center>鍥� 1-4 浼樺寲鐗堟湰 mosn + dubbo 鐏嚎鍥�</center>
-
-### 鍏朵粬
-
-pprof 宸ュ叿寮傚父寮哄ぇ锛屽彲浠ヨ瘖鏂� CPU銆乵emory銆乬o 鍗忕▼銆乼racer 鍜屾閿佺瓑锛岃宸ュ叿鍙互鍙傝€� [godoc](https://blog.golang.org/pprof)锛屾€ц兘浼樺寲鍙傝€冿細
-
-- https://blog.golang.org/pprof
-
-- https://www.cnblogs.com/Dr-wei/p/11742414.html
-
-- https://www.youtube.com/watch?v=N3PWzBeLX2M
-
-### 鍏充簬浣滆€�
-
-璇f瀬锛実ithub ID zonghaishang锛孉pache Dubbo PMC锛岀洰鍓嶅氨鑱屼簬铓傝殎閲戞湇涓棿浠跺洟闃燂紝涓绘敾 RPC 鍜� Service Mesh 鏂瑰悜銆� 銆婃繁鍏ョ悊瑙� Apache Dubbo 涓庡疄鎴樸€嬩竴涔︿綔鑰呫€�
diff --git a/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.6.0.md b/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.6.0.md
deleted file mode 100644
index 61589e6b64a0c3ebf957403243c9d0b6ec56cce1..0000000000000000000000000000000000000000
--- a/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.6.0.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# [What's new in Dubbo-go-hessian2 v1.6.0](https://my.oschina.net/dubbogo/blog/4318016)
-
-鍙戠増浜猴細[鏈涘摜](https://github.com/wongoo)
-
-## 1\. 澧炲姞缂撳瓨浼樺寲
-
-dubbo-go-hessian2 鍦ㄨВ鏋愭暟鎹殑鏁版嵁澶ч噺浣跨敤鍒颁簡 struct 鐨勭粨鏋勪俊鎭紝杩欓儴鍒嗕俊鎭彲浠ョ紦瀛樿捣鏉ュ弽澶嶅埄鐢紝浣垮緱鎬ц兘鎻愬崌浜嗕竴鍊嶃€備紭鍖栬繃绋嬭褰曞彲浠ヨ缁嗛槄璇籟銆婅涓€娆″ dubbo-go-hessian2 鐨勬€ц兘浼樺寲銆媇(https://mp.weixin.qq.com/s/ouVxldQAt0_4BET7srjJ6Q).
-
-瀵瑰簲 pr [#179](https://github.com/apache/dubbo-go-hessian2/pull/179)锛屼綔鑰� [micln](https://github.com/micln)銆�
-
-## 2\. string 瑙f瀽鎬ц兘浼樺寲
-
-鐢变簬 hessian 锛� dubbo 搴忓垪鍖栧崗璁紝涓嬬О锛歨essian 锛夊 string 鐨勫畾涔夋槸16 bit 鐨� unicode 鐨� UTF-8 琛ㄧず褰㈠紡锛屽瓧绗﹂暱搴﹁〃绀烘槸16 bit 鐨勫瓧绗︽暟銆傝繖鏄粎閽堝 java 鍒跺畾鐨勮鑼冿紝java 涓竴涓瓧绗︽槸16 bit锛屽搴斿埌 UTF-16. hessian 搴撲篃鏄姣忎竴涓瓧绗﹁繘琛岃浆鐮佸簭鍒楀寲銆備絾 golang 閲岄潰瀛楃鏄拰 UTF-8 瀵瑰簲鐨勶紝dubbo-go-hessian2 閲岄潰鐨� rune 鏄� 32bit锛屽拰 unicode涓€涓€鏄犲皠銆傚浜� U+10000 ~ U+10FFFF 鐨勫瓧绗︼紝闇€鎸夌収 UTF16 鐨勮鑼冿紝灏嗗瓧绗﹁浆鎹负 2 涓瓧鑺傜殑浠g悊瀛楃锛屽啀鍋氳浆鎹紝鎵嶈兘鍜� java 鐨勫簭鍒楀寲鏂瑰紡瀵瑰簲璧锋潵銆�
-
-鍘熸潵涓嶇鏄紪鐮佽繕鏄В鏋愰兘鏄竴涓瓧绗︿竴涓瓧绗﹀鐞嗭紝鐗瑰埆鏄В鏋愮殑鏃跺€欙紝浠庢祦閲岄潰涓€涓瓧鑺備竴涓瓧鑺傝鍙栧苟缁勮鎴� rune锛岀劧鍚庡啀杞崲涓� string锛岃繖鏍锋晥鐜囩壒鍒綆銆傛垜浠殑浼樺寲鏂规鏄紝鎵规璇诲彇瀛楄妭娴佸埌 buffer 涓紝瀵� buffer 杩涜瑙f瀽杞负 UTF-8 鏁扮粍锛屽苟缁熻瀛楃鏁伴噺銆傚叾涓渶瑕佸浠g悊瀵瑰瓧绗﹀皢鍏惰浆鎹负鏍囧噯 UTF-8 瀛愯妭鏁扮粍銆傚鏋滅粺璁$殑瀛楃鏁伴噺涓嶈冻锛屽啀杩涗竴姝ヨ鍙栨祦绉嶇殑鏁版嵁杩涜瑙f瀽銆傞€氳繃姝ゆ柟寮忔彁鍗囦竴鍊嶇殑瑙f瀽鏁堢巼銆�
-
-瀵瑰簲 pr [#188](https://github.com/apache/dubbo-go-hessian2/pull/188)锛屼綔鑰� [zonghaishang](https://github.com/zonghaishang)銆�
-
-## 3\. 瑙f瀽蹇界暐涓嶅瓨鍦ㄧ殑瀛楁
-
-hessian 搴撳湪瑙f瀽鏁版嵁鐨勬椂鍊欙紝瀵逛簬涓€涓� class 瀛楁锛屽鏋滀笉瀛樺湪锛屽垯鐩存帴蹇界暐鎺夈€備絾 v1.6.0 鐗堟湰涔嬪墠 dubbo-go-hessian2 瑙f瀽鏁版嵁锛屽鏋滈亣鍒颁笉瀛樺湪鐨勫瓧娈碉紝浼氳繑鍥� error銆備粠 v1.6.0 寮€濮嬶紝涓� hessian 涓€鏍凤紝蹇界暐涓嶅瓨鍦ㄧ殑瀛楁銆�**鍥犱负杩欐槸涓€涓壒鎬х殑鍙樻洿锛屾墍浠ュ崌绾х殑鍚屽涓€瀹氳娉ㄦ剰浜嗐€�**
-
-瀵瑰簲 pr [#201](https://github.com/apache/dubbo-go-hessian2/pull/201)锛屼綔鑰� [micln](https://github.com/micln) & [fangyincheng](https://github.com/fangyincheng)銆�
-
-## 4\. 瑙e喅娴偣鏁扮簿搴︿涪澶遍棶棰�
-
-鍦ㄥ float32 绫诲瀷杩涜搴忓垪鍖栨椂锛屾垜浠竴寰嬪己鍒惰浆鎹负 float64 鍐嶈繘琛屽簭鍒楀寲鎿嶄綔銆傜敱浜庢诞鐐规暟鐨勭簿搴﹂棶棰橈紝鍦ㄨ繖涓浆鎹㈣繃绋嬩腑鍙兘鍑虹幇灏忔暟鐐瑰悗鍑虹幇澶氫綑鐨勫熬鏁帮紝渚嬪 (float32)99.8-->(float64)99.80000305175781銆�
-
-1.6.0 鐗堟湰瀵� float32 鐨勫簭鍒楀寲杩涜浜嗕紭鍖栵細
-
-*   濡傛灉灏忔暟灏炬暟灏忎簬 3 浣嶏紝鏍规嵁 hessian2 鍗忚搴忓垪鍖栦负 double 32-bit 鏍煎紡
-*   鍚﹀垯鍏堣浆鎹负 string 绫诲瀷锛屽啀杞崲涓� float64 绫诲瀷锛岃繖鏍峰仛鍙互閬垮厤鐢变簬娴偣鏁扮簿搴﹂棶棰樹骇鐢熷浣欑殑灏炬暟锛屾渶鍚庡 float64 杩涜搴忓垪鍖栥€�
-
-铏界劧瀵� float32 绫诲瀷杩涜浜嗕紭鍖栵紝浣嗘槸渚濈劧寤鸿浣跨敤娴偣鏁扮殑鏃跺€欎紭鍏堜娇鐢� float64 绫诲瀷銆�
-
-瀵瑰簲 pr [#196](https://github.com/apache/dubbo-go-hessian2/pull/196)锛屼綔鑰� [willson-chen](https://github.com/willson-chen)銆�
-
-## 5\. 瑙e喅 attachment 绌哄€间涪澶遍棶棰�
-
-dubbo 璇锋眰涓寘鍚� attachment 淇℃伅锛屼箣鍓嶅鏋� attachment 閲岄潰鍚湁濡� `"key1":""`锛岃繖绉� value 涓虹┖鐨勬儏鍐碉紝瑙f瀽鍑烘潵鐨勭粨鏋滀細鐩存帴涓㈠け杩欎釜灞炴€� key1 锛寁1.6.0 淇浜嗘闂锛岀幇鍦ㄨВ鏋愬嚭鏉ョ殑 attachment 浼氭纭В鏋愬嚭绌� value 鐨勫睘鎬с€�
-
-瀵瑰簲 pr [#191](https://github.com/apache/dubbo-go-hessian2/pull/191)锛屼綔鑰� [champly](https://github.com/champly)銆�
-
-## 6\. 鏀寔 鈥樼户鎵库€� 鍜屽拷鐣ュ啑浣欏瓧娈�
-
-鐢变簬 go 娌℃湁缁ф壙鐨勬蹇碉紝鎵€浠ュ湪涔嬪墠鐨勭増鏈紝Java 鐖剁被鐨勫瓧娈典笉琚� dubbo-go-hessian2 鎵€鏀寔銆傛柊鐗堟湰涓紝dubbo-go-hessian2 灏咼ava鏉ヨ嚜鐖剁被鐨勫瓧娈电敤鍖垮悕缁撴瀯浣撳搴旓紝濡傦細
-
-```rust
-type Dog struct {
-    Animal
-    Gender  string
-    DogName string `hessian:"-"`
-}
-```
-
-鍚屾椂锛屽氨鍍� json 缂栫爜涓€氳繃 immediately 鍙互鍦ㄥ簭鍒楀寲涓拷鐣ヨ瀛楁锛屽悓鐞嗭紝閫氳繃 hessian:"-" 鐢ㄦ埛涔熷彲浠ヨ鍐椾綑瀛楁涓嶅弬涓� hessian 搴忓垪鍖栥€�
-
-瀵瑰簲pr [#154](https://github.com/apache/dubbo-go-hessian2/pull/154)锛屼綔鑰� [micln](https://github.com/micln)
-
-## 娆㈣繋鍔犲叆 dubbo-go 绀惧尯
-
-閽夐拤缇�: **23331795**
-
-[github](https://www.oschina.net/p/github)[apache](https://www.oschina.net/p/apache+http+server)[java](https://www.oschina.net/p/java)
\ No newline at end of file
diff --git a/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.7.0.md b/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.7.0.md
deleted file mode 100644
index 5e8ce0bb47d0b98c37c6b5367f207dcc8c6862f3..0000000000000000000000000000000000000000
--- a/doc/md/hessian2/what's-new-in-dubbo-go-hessian2-v1.7.0.md
+++ /dev/null
@@ -1,268 +0,0 @@
-# [Dubbo-go-hessian2 v1.7.0 鍙戝竷](https://www.oschina.net/news/118648/dubbogo-hessian2-1-7-0-released)
-
-Dubbo-go-hessian2 v1.7.0宸插彂甯冿紝璇﹁聽[https://github.com/apache/dubbo-go-hessian2/releases/tag/v1.7.0锛宂(https://github.com/apache/dubbo-go-hessian2/releases/tag/v1.7.0%EF%BC%8C)聽浠ヤ笅瀵硅繖娆℃洿鏂板唴瀹硅繘琛岃缁嗘暣鐞嗐€�
-
-鍙﹀v1.6.3 灏� attachment 绫诲瀷鐢� map\[string\]stiring 鏀逛负map\[string\]interface{} 瀵艰嚧鐗堟湰涓嶅吋瀹归棶棰橈紝杩欓儴鍒嗗凡杩樺師锛屽悗缁殑璁″垝鏄皢dubbo鍗忚鐨剅equest/response瀵硅薄鏁翠綋杩佺Щ鍒癲ubbogo椤圭洰涓繘琛岃凯浠d慨鏀癸紝 hessian2涓皢涓嶅啀鏀瑰姩鍒皉equest/response瀵硅薄銆�
-
-## 1\. New Features
-
-### 1.1 add GetStackTrace method into Throwabler and its implements.聽[#207](https://github.com/apache/dubbo-go-hessian2/pull/207)
-
-> contributed by聽[https://github.com/cvictory](https://github.com/cvictory)
-
-go璇█client璇锋眰java璇█鏈嶅姟鏃讹紝濡傛灉java璇█鎶涘嚭浜嗗紓甯革紝寮傚父瀵瑰簲鐨勫爢鏍堜俊鎭槸琚繚瀛樺湪StackTraceElement涓€�
-
-杩欎釜寮傚父淇℃伅鍦ㄦ棩蹇椾腑鏈€濂借兘琚墦鍗板嚭鏉ワ紝浠ユ柟渚垮鎴风鎺掓煡闂锛屾墍浠ュ湪Throwabler鍜屽搴斿瓙绫讳腑澧炲姞浜哠tackTraceElement鐨勮幏鍙栥€�
-
-娉細鍏跺疄杩樻湁涓€绉嶆洿濂界殑鏂规硶锛屾墍鏈夌殑鍏蜂綋鐨勫紓甯哥被鍨嬮兘鍖呭惈java\_exception/exception.go鐨凾hrowable struct銆傝繖鏍峰彧闇€瑕佸湪Throwable涓鍔燝etStackTrace鏂规硶灏卞彲浠ヤ簡銆備絾鏄繖绉嶆柟寮忛渶瑕佹洿澶氱殑娴嬭瘯楠岃瘉锛屾敼鍔ㄧ殑閫昏緫鐩稿浼氬鏉備竴浜涖€備絾鏄唬鐮佷細鏇存暣娲併€� 杩欓噷鍏堜笉鐢ㄨ繖绉嶆柟娉曘€�
-
-### 1.2 catch user defined exceptions.聽[#208](https://github.com/apache/dubbo-go-hessian2/pull/208)
-
-> contributed by聽[https://github.com/cvictory](https://github.com/cvictory)
-
-golang涓鍔犱竴涓猨ava涓璄xception瀵硅薄鐨勫簭鍒楀寲杈撳嚭鏂规硶锛�
-
-```css
-func JavaException() []byte {
-	e := hessian.NewEncoder()
-	exception := java_exception.NewException("java_exception")
-	e.Encode(exception)
-	return e.Buffer()
-}
-```
-
-鍦╫utput/output.go 鎻愪緵璋冪敤鍏ュ彛:娣诲姞濡備笅鍑芥暟鍒濆鍖栧0鏄�
-
-```plain
-func init() {
-    funcMap["JavaException"] = testfuncs.JavaException
-}
-```
-
-java浠g爜涓鍔犺皟鐢╣o鏂规硶搴忓垪鍖栫粨鏋�:聽**璇存槑**: Assert.assertEquals 涓嶈兘鐩存帴姣旇緝Exception瀵硅薄鏄惁鐩哥瓑
-
-```php
-    /**
-     * test java java.lang.Exception object and go java_exception Exception struct
-     */
-    @Test
-    public void testException() {
-        Exception exception = new Exception("java_exception");
-        Object javaException = GoTestUtil.readGoObject("JavaException");
-        if (javaException instanceof Exception) {
-            Assert.assertEquals(exception.getMessage(), ((Exception) javaException).getMessage());
-        }
-    }
-```
-
-### 1.3 support java8 time object.聽[#212](https://github.com/apache/dubbo-go-hessian2/pull/212),聽[#221](https://github.com/apache/dubbo-go-hessian2/pull/221)
-
-> contributed by聽[https://github.com/willson-chen](https://github.com/willson-chen),聽[https://github.com/cyb-code](https://github.com/cyb-code)
-
-golang涓鍔犱竴涓猨ava8瀵硅薄鐨勫簭鍒楀寲杈撳嚭鏂规硶锛�
-
-```go
-// test java8 java.time.Year
-func Java8TimeYear() []byte {
-    e := hessian.NewEncoder()
-    year := java8_time.Year{Year: 2020}
-    e.Encode(year)
-    return e.Buffer()
-}
-
-// test java8 java.time.LocalDate
-func Java8LocalDate() []byte {
-    e := hessian.NewEncoder()
-    date := java8_time.LocalDate{Year: 2020, Month: 9, Day: 12}
-    e.Encode(date)
-    return e.Buffer()
-}
-```
-
-鍦╫utput/output.go 鎻愪緵璋冪敤鍏ュ彛:娣诲姞鍑芥暟鍒濆鍖栧0鏄�
-
-```plain
-func init() {
-	funcMap["Java8TimeYear"] = testfuncs.Java8TimeYear
-	funcMap["Java8LocalDate"] = testfuncs.Java8LocalDate
-}
-```
-
-java浠g爜涓鍔犺皟鐢╣o鏂规硶搴忓垪鍖栫粨鏋�:
-
-```java
-/**
- * test java8 java.time.* object and go java8_time/* struct
- */
-@Test
-public void testJava8Year() {
-    Year year = Year.of(2020);
-    Assert.assertEquals(year
-            , GoTestUtil.readGoObject("Java8TimeYear"));
-    LocalDate localDate = LocalDate.of(2020, 9, 12);
-    Assert.assertEquals(localDate, GoTestUtil.readGoObject("Java8LocalDate"));
-}
-```
-
-### 1.4 support test golang encoding data in java.聽[#213](https://github.com/apache/dubbo-go-hessian2/pull/213)
-
-> contributed by聽[https://github.com/wongoo](https://github.com/wongoo)
-
-涓轰簡鏇村ソ鐨勬祴璇曢獙璇乭essian搴擄紝鍘熸潵宸茬粡鏀寔鍦╣olang涓祴璇昷ava鐨勫簭鍒楀寲鏁版嵁锛岀幇鍦ㄥ鍔犲湪java涓祴璇昰olang鐨勫簭鍒楀寲鏁版嵁锛屽疄鐜板弻鍚戞祴璇曢獙璇併€�
-
-golang涓鍔犲簭鍒楀寲杈撳嚭鏂规硶:
-
-```css
-func HelloWorldString() []byte {
-    e := hessian.NewEncoder()
-    e.Encode("hello world")
-    return e.Buffer()
-}
-```
-
-灏嗚鏂规硶娉ㄥ唽鍒皁utput/output.go涓�
-
-```plain
- // add all output func here
- func init() {
-     funcMap["HelloWorldString"] = testfuncs.HelloWorldString
-}
-```
-
-output/output.go 鎻愪緵璋冪敤鍏ュ彛:
-
-```go
-func main() {
-    flag.Parse()
-
-    if *funcName == "" {
-        _, _ = fmt.Fprintln(os.Stderr, "func name required")
-        os.Exit(1)
-    }
-    f, exist := funcMap[*funcName]
-    if !exist {
-        _, _ = fmt.Fprintln(os.Stderr, "func name not exist: ", *funcName)
-        os.Exit(1)
-    }
-
-    defer func() {
-        if err := recover(); err != nil {
-            _, _ = fmt.Fprintln(os.Stderr, "error: ", err)
-            os.Exit(1)
-        }
-    }()
-    if _, err := os.Stdout.Write(f()); err != nil {
-        _, _ = fmt.Fprintln(os.Stderr, "call error: ", err)
-        os.Exit(1)
-    }
-    os.Exit(0)
-}
-```
-
-java浠g爜涓鍔犺皟鐢╣o鏂规硶搴忓垪鍖栫粨鏋�:
-
-```plain
-public class GoTestUtil {
-
-    public static Object readGoObject(String func) {
-        System.out.println("read go data: " + func);
-        try {
-            Process process = Runtime.getRuntime()
-                    .exec("go run output/output.go -func_name=" + func,
-                            null,
-                            new File(".."));
-
-            int exitValue = process.waitFor();
-            if (exitValue != 0) {
-                Assert.fail(readString(process.getErrorStream()));
-                return null;
-            }
-
-            InputStream is = process.getInputStream();
-            Hessian2Input input = new Hessian2Input(is);
-            return input.readObject();
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-    private static String readString(InputStream in) throws IOException {
-        StringBuilder out = new StringBuilder();
-        InputStreamReader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
-        char[] buffer = new char[4096];
-
-        int bytesRead;
-        while ((bytesRead = reader.read(buffer)) != -1) {
-            out.append(buffer, 0, bytesRead);
-        }
-
-        return out.toString();
-    }
-}
-```
-
-澧炲姞java娴嬭瘯浠g爜:
-
-```java
-@Test
-public void testHelloWordString() {
-    Assert.assertEquals("hello world"
-            , GoTestUtil.readGoObject("HelloWorldString"));
-}
-```
-
-### 1.5 support java.sql.Time & java.sql.Date.聽[#219](https://github.com/apache/dubbo-go-hessian2/pull/219)
-
-> contributed by聽[https://github.com/zhangshen023](https://github.com/zhangshen023)
-
-澧炲姞浜� java 绫� java.sql.Time, java.sql.Date 鏀寔锛屽垎鍒搴斿埌hessian.Time 鍜� hessian.Date锛� 璇﹁聽[https://github.com/apache/dubbo-go-hessian2/pull/219/files銆俔(https://github.com/apache/dubbo-go-hessian2/pull/219/files%E3%80%82)
-
-## 2\. Enhancement
-
-### 2.1 Export function EncNull.聽[#225](https://github.com/apache/dubbo-go-hessian2/pull/225)
-
-> contributed by聽[https://github.com/cvictory](https://github.com/cvictory)
-
-寮€鏀� hessian.EncNull 鏂规硶锛屼互渚跨敤鎴风壒瀹氭儏鍐典笅浣跨敤銆�
-
-## 3\. Bugfixes
-
-### 3.1 fix enum encode error in request.聽[#203](https://github.com/apache/dubbo-go-hessian2/pull/203)
-
-> contributed by聽[https://github.com/pantianying](https://github.com/pantianying)
-
-鍘熸潵鍦� dubbo request 瀵硅薄涓病鏈夊垽鏂� enum 绫诲瀷鐨勬儏鍐碉紝姝r澧炲姞浜嗗垽鏂槸涓嶆槸POJOEnum绫诲瀷銆傝瑙伮燵https://github.com/apache/dubbo-go-hessian2/pull/203/files](https://github.com/apache/dubbo-go-hessian2/pull/203/files)
-
-### 3.2 fix \[\]byte field decoding issue.聽[#216](https://github.com/apache/dubbo-go-hessian2/pull/216)
-
-> contributed by聽[https://github.com/wongoo](https://github.com/wongoo)
-
-v1.7.0 涔嬪墠濡傛灉 struct涓寘鍚玕[\]byte瀛楁鏃舵棤娉曞弽搴忓垪鍖�, 鎶ラ敊鈥渆rror list tag: 0x29鈥濓紝涓昏鍘熷洜鏄褰撳仛list杩涜澶勭悊锛屽浜庤繖绉嶆儏鍐靛簲璇ユ寜鐓inary鏁版嵁杩涜澶勭悊鍗冲彲銆�
-
-```go
-type Circular struct {
-    Num      int
-	Previous *Circular
-	Next     *Circular
-	ResponseDataBytes    []byte // <---- 
-}
-
-func (Circular) JavaClassName() string {
-	return "com.company.Circular"
-}
-```
-
-### 3.3 fix decoding error for map in map.聽[#229](https://github.com/apache/dubbo-go-hessian2/pull/229)
-
-> contributed by聽[https://github.com/wongoo](https://github.com/wongoo)
-
-v1.7.0 涔嬪墠宓屽map鏃犳硶姝g‘瑙f瀽锛屼富瑕佸師鍥犳槸瀵瑰簲鐨刴ap瀵硅薄琚綋鍋氫竴涓暟鎹被鍨嬪嵈鏈鑷姩鍔犲埌绫诲紩鐢ㄥ垪琛ㄤ腑锛岃€屽祵濂梞ap绫讳俊鎭槸鍚屼竴绫诲瀷鐨勫紩鐢紝鍘荤被寮曠敤鍒楄〃鎵撅紝鎵句笉鍒板氨鎶ラ敊浜嗐€� 瑙e喅杩欎釜闂鐨勬柟娉曞氨鏄亣鍒癿ap绫诲璞★紝涔熷皢鍏跺姞鍏ュ埌绫诲紩鐢ㄥ垪琛ㄤ腑鍗冲彲銆� 闂璇︾粏鍙傝€兟燵#119](https://github.com/apache/dubbo-go-hessian2/issues/119).
-
-### 3.4 fix fields name mismatch in Duration class.聽[#234](https://github.com/apache/dubbo-go-hessian2/pull/234)
-
-> contributed by聽[https://github.com/skyao](https://github.com/skyao)
-
-杩欎釜 PR 瑙e喅浜咲uration瀵硅薄涓瓧娈甸敊璇畾涔夛紝鍘熸潵鏄�"second/nano"锛� 搴旇鏄�"seconds/nanos"銆�
-
-鍚屾椂鏀瑰杽浜嗘祴璇曢獙璇佹暟鎹€備箣鍓嶄娇鐢�0浣滀负int瀛楁鐨勬祴璇曟暟鎹紝杩欐槸涓嶅噯纭殑锛屽洜涓篿nt绫诲瀷榛樿鍊煎氨鏄�0.
\ No newline at end of file
diff --git a/doc/md/interview/dubbo-go-published.md b/doc/md/interview/dubbo-go-published.md
deleted file mode 100644
index cb2848dee732fafe1141b3a3064f1da8d9b662be..0000000000000000000000000000000000000000
--- a/doc/md/interview/dubbo-go-published.md
+++ /dev/null
@@ -1,157 +0,0 @@
-# [鍐蹭笂浜戝師鐢燂紝Dubbo 鍙戝竷 Go 鐗堟湰](https://www.oschina.net/question/3820517_2306822)
-
-[h4cd](https://my.oschina.net/u/3820517) 鍙戝竷浜� 2019/06/02 22:36
-
-5 鏈� 21 鏃ワ紝缁忚繃涓€骞村鐨勫鍖栵紝Apache Dubbo 浠� Apache 杞欢鍩洪噾浼氭瘯涓氾紝鎴愪负 Apache 椤剁骇椤圭洰銆�
-
-![](../../pic/interview/dubbo-go-published-a.jpg)
-
-Dubbo 鏄樋閲屼簬 2011 骞村紑婧愮殑涓€娆鹃珮鎬ц兘 RPC 妗嗘灦锛屽湪 Java 鐢熸€佷腑鍏锋湁涓嶅皬鐨勫奖鍝嶅姏銆傚綋鍒濈粡鍘嗚繃涓€娈佃澶栫晫璇熺梾鐨勨€滃仠姝㈢淮鎶も€濈伆鏆楁椂鍏夛紝鍚庢潵鍦� 2017 骞� Dubbo 娴瓙鍥炲ご锛屽畼鏂瑰甯冮噸鏂伴噸鐐圭淮鎶ゃ€�
-
-閲嶆柊鍚埅鐨� Dubbo 灏嗛瑕佺洰鏍囧畾浣嶄簬閲嶆柊婵€娲荤ぞ鍖猴紝璧㈠洖寮€鍙戣€呯殑淇′换锛屽苟涓旈€愭笎灏� Dubbo 鎵撻€犳垚涓€涓浗闄呭寲涓庣幇浠e寲鐨勯」鐩紝鐩墠璺濈瀹e竷閲嶅惎宸茬粡杩囦簡涓€骞村崐鐨勬椂闂淬€�
-
-鍦ㄨ繖涓繃绋嬩腑锛孌ubbo 鍙戝竷浜嗗涓増鏈紝骞堕€愭笎浠庝竴涓� RPC 妗嗘灦鍚戝井鏈嶅姟鐢熸€佺郴缁熻浆鍙橈紝18 骞村勾鍒� Dubbo 鍏ラ┗ Apache 杞欢鍩洪噾浼氬鍖栧櫒锛屽紑濮嬩互 Apache 涔嬮亾鍙戝睍绀惧尯銆�
-
-涓€骞翠箣鍚庯紝Dubbo 鍦� Apache 瀛靛寲鍣ㄤ腑鍙戝竷浜嗛噸鍚淮鎶や互鏉ョ殑棣栦釜閲岀▼纰戠増鏈� 2.7.0锛屾坊鍔犱簡绀惧尯鍛煎0寰堥珮鐨勫紓姝ュ寲鏀寔锛屼互鍙婃敞鍐屼腑蹇冧笌閰嶇疆涓績鍒嗙绛夌壒鎬с€�
-
-杩欐湡闂� Dubbo 3.0 鐨勫紑鍙戝伐浣滀篃琚彁涓婁簡鏃ョ▼锛屼粖骞� 4 鏈堜腑鏃紝瀹樻柟姝e紡鍏竷浜� Dubbo 3.0 鐨勮繘搴︼紝姝ょ増鏈柊鐗规€у寘鎷敮鎸� Filter 閾剧殑寮傛鍖栥€佸搷搴斿紡缂栫▼銆佷簯鍘熺敓/Service Mesh 鏂瑰悜鐨勬帰绱紝浠ュ強涓庨樋閲屽唴澶栬瀺鍚堛€�
-
-鐒跺悗锛孌ubbo 姣曚笟浜嗐€�**姣曚笟鍚庣殑 Dubbo 杩戞湡鏈変粈涔堟秷鎭憿锛�**鐢熸€佽繕鍦ㄥ彂灞曪紝Dubbo 绀惧尯鍦ㄥ墠鍑犳棩鍏紑浜� [Dubbo Roadmap 2019](https://github.com/dubbo/awesome-dubbo/blob/master/slides/meetup/201905@beijing/DUBBO%20ROADMAP%202019.pdf)锛岃鍒掑湪 2020 骞� 2 鏈堜唤鍙戝竷 Dubbo 3.0 姝e紡鐗堬紝鎰熷叴瓒g殑鍚屽鍙互璇︾粏鏌ラ槄銆�
-
-![](../../pic/interview/dubbo-go-published-b.jpg)
-
-鑰屾渶杩戝畼鏂瑰張**瀹e竷 Go 璇█鍔犲叆聽Dubbo 鐢熸€�**锛屽彂甯冧簡 [dubbo-go聽椤圭洰](https://github.com/dubbo/go-for-apache-dubbo)銆�
-
-![](../../pic/interview/dubbo-go-published-c.jpg)
-
-鍦ㄦ涔嬪墠 Dubbo 鐨�**璺ㄨ瑷€鍙墿灞曟€�**宸茬粡鏈変竴浜涘疄鐜帮紝鏀寔鐨勮瑷€鍖呮嫭 PHP銆丯ode.js 涓� Python锛屽悓鏃朵篃鍩轰簬鏍囧噯 Java REST API - JAX-RS 2.0 瀹炵幇浜� REST 鐨勮皟鐢ㄦ敮鎸侊紝鍏蜂綋鎯呭喌濡備笅锛�
-
-*   **PHP**锛歱hp-for-apache-dubbo锛宐y 涔愪俊锛屾彁渚涘鎴风鍜屾湇鍔$
-*   **Node.js**锛歞ubbo2.js锛宐y聽鍗冪背缃戯紝鎻愪緵瀹㈡埛绔�
-*   **Node.js**锛歟gg-dubbo-rpc锛宐y聽铓傝殎閲戞湇 egg 鍥㈤槦锛屾彁渚涘鎴风鍜屾湇鍔$
-*   **Python** 锛歱y-client-for-apache-dubbo锛宐y聽鍗冪背缃戯紝鎻愪緵瀹㈡埛绔�
-
-鐜板湪鍔犲叆浜� dubbo-go锛孏o 寮€鍙戣€呬篃缁堜簬鍙互灏濆埌 Dubbo 鐨勬粙鍛充簡銆傛嵁鎮夛紝dubbo-go 椤圭洰灏嗕簬**鏈懆瀹屾垚寰€ Apache 杞欢鍩洪噾浼氱殑杩佺Щ**锛屼綔涓� Apache Dubbo 椤剁骇椤圭洰鐨勫瓙椤圭洰锛屽眾鏃� dubbo-go 椤圭洰鐨勬柊鍦板潃涔熷皢鍙樹负锛歔https://github.com/apache/dubbo-go](https://github.com/apache/dubbo-go)銆�
-
-鍏充簬椤圭洰鐨勭爺鍙戣儗鏅笌鍏蜂綋鎶€鏈粏鑺傜瓑鐩稿叧鍐呭锛屾垜浠涓€鏃堕棿閲囪浜嗛」鐩叡鍚屽彂璧蜂汉锛岀洰鍓嶅湪鎼虹▼鍩虹涓彴鐮斿彂閮ㄧ殑**浣曢懌閾�**銆�
-
-**OSCHINA锛�**dubbo-go 鏄粈涔堬紝瀹氫綅鏄粈涔堬紝涓轰粈涔堝仛杩欎釜椤圭洰锛�
-
-**dubbo-go 浣曢懌閾細** 
-
-**dubbo****\-****go 鏄�** **D****ubbo 鐨勫畬鏁� Go 璇█瀹炵幇銆�**
-
-鎴戜滑鐭ラ亾 Dubbo 鏈韩鍩轰簬 Java锛屽緢澶氬叕鍙镐篃閮戒互 Java 寮€鍙戜负涓伙紝骞朵笖浣跨敤 Dubbo 浣� RPC 鎴栧井鏈嶅姟寮€鍙戞鏋躲€�
-
-鑰屾渶杩� Go 璇█鐢熸€佸彂灞曟瘮杈冭繀閫燂紝鍥犲叾璇█浼樺娍锛屾垜浠凡缁忔湁閮ㄩ棬寮€濮嬪皾璇曚娇鐢� Go 寮€鍙戜竴浜涙柊鐨勯」鐩紝灏变細瀛樺湪浜熼渶瑙e喅鐨勯棶棰橈細
-
-*   濡備綍瀹炵幇 Go 椤圭洰鍜� Java & Dubbo 椤圭洰鐨勪簰閫氾紵
-*   鍙﹀锛孏o 椤圭洰鏈韩涔熸湁瀵� RPC 涓庡井鏈嶅姟寮€鍙戞鏋剁殑璇夋眰锛屽浣曡В鍐筹紵
-
-鍩轰簬杩欎袱涓棶棰橈紝鎴戜滑鎼虹▼鍥㈤槦鍩轰簬 dubbo-go 鐨勬棭鏈熼」鐩紝閲嶆瀯寮€鍙戜簡鏇存槗浜庢墿灞曚笖鍔熻兘鏇村姞瀹屽杽鐨� dubbo-go v1.0.0 鐗堟湰锛屽苟璐$尞鍥炰簡绀惧尯锛屽畠**棣栬鐩殑灏辨槸瑙e喅 Go 椤圭洰涓� Java & Dubbo 椤圭洰鐨勪簰閫氶棶棰橈紝鍚屾椂****涔�****涓� Go 椤圭洰鎻愪緵****浜�****涓€绉� RPC** **涓庡井鏈嶅姟寮€鍙�****妗嗘灦鐨勯€夋嫨**銆�
-
-dubbo-go 鎻愪緵瀹㈡埛绔笌鏈嶅姟鍣ㄧ锛岀洰鍓� dubbo-go 绀惧尯浣滀负 Dubbo 鐢熸€佹渶娲昏穬鐨勭ぞ鍖轰箣涓€锛屽悗闈㈢殑瀹氫綅闇€瑕侀厤鍚� Dubbo 瀹樻柟鐨勮姹備笌绀惧尯鐢ㄦ埛鐨勯渶姹傘€�
-
-**OSCHINA锛�**鎴戜滑鐭ラ亾 Dubbo 鍦� Java 鐢熸€佷笂鏄湁闈炲父楂樼殑鎴愬氨鐨勶紝鑰岀洰鍓� Go 鐢熸€佹湰韬篃鏈変竴浜涚煡鍚嶇殑寰湇鍔℃鏋讹紝閭� dubbo-go 涔嬩簬 Go 鐢熸€侊紝鏄惁鏈変笌鍏跺畠妗嗘灦姣旀嫾鐨勮兘鍔涳紵
-
-**dubbo-go 浣曢懌閾細**
-
-鎴戜滑鏈€澶х殑鑳藉姏灏辨槸浣滀负 Dubbo 鐨� Go 璇█鐗堟湰锛屾墦閫氫簡涓ょ璇█涔嬮棿鐨� gap锛�**璁� Dubbo 鏇村姞璐磋繎浜戝師鐢�**锛屼负寮€鍙戣€呬篃鎻愪緵浜嗘渶澶х殑鐏垫椿鎬э紝鏄捐憲闄嶄綆浼佷笟鐜版湁鏈嶅姟涓婁簯鐨勬垚鏈紝璁╀紒涓氬湪浜戝師鐢熸椂浠e浜嗕竴绉嶉€夋嫨銆�
-
-**OSCHINA锛�**Go 鐨勭壒鎬ф湁娌℃湁鍦� dubbo-go 涓緱鍒扮浉搴旂殑浣撶幇锛燂紙姣斿 Go 鐨勯珮骞跺彂鏄€庝箞浠庡熀浜� Java 鐨� Dubbo 涓敼閫犲埌 dubbo-go 涓殑锛燂級
-
-**dubbo****\-****go 浣曢懌閾細**
-
-鎴戝浜� Go 璇█鐨勮鐭ユ槸锛岄鍏堝涔犳垚鏈瘮杈冨皬锛岀浉姣斾簬 Java 鐨勫涔犳垚鏈紝Go 璇█鏇村鏄撳涔犲拰涓婃墜銆�
-
-鍏舵 Go 鍦ㄨ瑷€灞傞潰涓婏紝姣斿鍏� CSP 缂栫▼妯″瀷鍦ㄩ珮骞跺彂澶勭悊涓婄殑绠€鍗曢珮鏁堛€佽交閲忕骇鍗忕▼鐨勪紭鍔匡紝鐩告瘮杈冨熀浜� JVM 鐨� Java 绋嬪簭鏉ヨ锛屽熀浜� runtime 鐨� Go 绋嬪簭鐬椂鍚姩鑳藉姏绛夌壒鎬ч兘鍚稿紩鐫€寰堝寮€鍙戣€咃紝杩欓噷灏变笉璇︾粏闃愯堪浜嗐€�
-
-鏈€鍚庡氨鏄綔涓轰簯鍘熺敓璇█鐨勪紭鍔匡紝闅忕潃 Docker銆乲8s 涓� Istio 绛変紭绉€椤圭洰鐨勫嚭鐜帮紝浜戝師鐢熷簳灞傚熀鏈 Go 璇█缁熶竴浜嗭紝鐩镐俊浼佷笟鍦ㄤ簯鍘熺敓妯″紡涓嬪紑鍙戠殑鏃ュ瓙宸茬粡涓嶈繙浜嗐€傛垜瑙夊緱 Go 璇█鐨勭敓鎬佸簲璇ヤ細瓒婃潵瓒婂ソ锛屼篃浼氭湁瓒婃潵瓒婂鐨勪汉浣跨敤瀹冦€�
-
-灏嗗熀浜� Java 鐨� Dubbo 寮曞叆鍒� Go 涓紝鍍忓墠杈硅鐨勶紝dubbo-go 甯︽潵鐨勪紭鍔垮氨鏄彲浠ュ揩閫熻瀺鍏ヤ簯鍘熺敓鐨勯鍩熴€傝璇� Go 璇█鐗规€т綋鐜扮殑璇濓紝鍙互鍙傝€冧竴涓� **dubbo****\-****go** **涓�****寮傛缃戠粶 I/O 妯″瀷鐨勮璁★紝杩欓儴鍒嗗皢 Go 璇█杞婚噺绾у崗绋嬬殑浼樺娍浣撶幇浜嗗嚭鏉�**銆�
-
-杩欓噷涔熻涓€涓� Go 璇█涓嶈冻鐨勫湴鏂癸細
-
-*   Go 鐩稿 Java 鏉ヨ杩樻槸寰堝勾杞荤殑璇█锛屾病鏈夋ā鏉垮簱鍙敤锛屾墍浠ョぞ鍖哄湪缂栧啓骞剁淮鎶essian 2 鍗忚搴撲笂浠樺嚭浜嗗緢楂樼殑寮€鍙戞垚鏈紱
-*   姣旇捣 Java 鐨� try/catch 閿欒澶勭悊鏂瑰紡锛孏o 鐨� error 澶勭悊鑳藉姏鍋忓急锛�
-*   鎬讳綋鐢熸€佽繕鏄笉濡� Java锛屽娌℃湁鍍� Netty 涓€鏍风殑寮烘湁鍔涚綉缁� I/O 搴撱€�
-
-涓轰粈涔堟彁鍒拌繖涓€鐐瑰憿锛屽洜涓� Dubbo 鑷韩浣跨敤浜� Netty 鍜� Hessian 2 鍗忚瀹樻柟 Java 搴擄紝鑰� dubbo-go 鍦ㄥ紑濮嬪仛鐨勬椂鍊欒繖浜涢兘鏄病鏈夌殑锛岃繖浣垮緱 **dubbo****\-****go** **涓€璺蛋鏉ラ潪甯歌壈杈涳紝浣嗘槸****绀惧尯****鏈€缁堥兘****鍏嬫湇浜嗭紝骞朵笖棰濆璐$尞浜嗗紑婧愮殑 Getty 鍜�** **H****essian2 椤圭洰銆�**
-
-杩欓噷鐗瑰埆鎰熻阿 dubbo-go 绀惧尯鏃╂湡鐨勭粍缁囪€呬簬闆紝椤圭洰鐨勬棭鏈熺増鏈槸 **2016 骞�**鍦ㄥ叾棰嗗鑳¢暱鍩庡拰鍚屼簨鍒樼晱涓夋敮鎸佷笅寮€鍙戠殑锛屼粬璐$尞鐨� Hessian2 鍜� Getty 椤圭洰锛屼篃涓烘渶鏂扮増鏈殑 dubbo-go 鎵撳ソ浜嗗潥瀹炵殑鍩虹銆�
-
-**OSCHINA锛�**鍓嶄笉涔� Dubbo 鎵嶅甯冧箣鍚庝細鍦� 3.0 涓己璋� Service Mesh 锛岃繖灏辨槸璇█鏃犲叧鐨勪簡锛岄偅 dubbo-go 杩樻湁蹇呰鍦ㄨ繖鏃跺€欏姞鍏ョ敓鎬佸悧锛�
-
-**dubbo****\-****go 浣曢懌閾細**
-
-Service Mesh 纭疄鏄井鏈嶅姟鏈潵鍙戝睍鐨勭殑涓€涓ぇ鏂瑰悜锛屼絾鏄幇闃舵鍦ㄥ浗鍐呭ぇ鍏徃杩樻病鏈夌湅鍒伴潪甯告垚鍔熺殑妗堜緥锛屽緢澶氫腑灏忓叕鍙歌嚜韬井鏈嶅姟杩樻湭鎷嗗垎瀹屾瘯鐢氳嚦浜庤繕鏈紑濮嬶紝鐩墠 dubbo-go 绀惧尯浼樺厛瑙e喅杩欑绫诲瀷浼佷笟寰湇鍔℃妧鏈惤鍦扮幆鑺備腑閬囧埌鐨勯棶棰橈紝涓撴敞浜庤ˉ榻愮浉鍏冲姛鑳姐€佷紭鍖栨暣浣撴€ц兘鍜岃В鍐� bug銆傝嚦浜庢湭鏉ワ紝鎴戠浉淇¢殢鐫€ Dubbo Mesh 鍦� Service Mesh 棰嗗煙鐨勬帰绱紝dubbo-go 鑲畾浼氳窡杩涘苟鎵紨閲嶈瑙掕壊銆�
-
-**OSCHINA锛�**dubbo-go 涓� Dubbo 鐨勬洿鏂板叧绯绘槸鎬庝箞鏍风殑锛熸槸鍚屾鏇存柊鐗规€ц繕鏄湁鑷繁鐨勪竴浜涘垱鏂帮紵
-
-**dubbo****\-****go 浣曢懌閾細**
-
-鎴戜滑鐜板湪鍙戝竷鐨勬渶鏂扮増鏈槸 v1.0.0锛屾垜浠湪姣忎竴娆� release 鏂扮殑鐗堟湰鍚庯紝閮戒細鏄庣‘璇存槑鍙互鍏煎鐨� Dubbo 鐗堟湰銆傛墍浠ワ紝dubbo-go 闇€瑕佸吋瀹瑰搴� Dubbo 鐗堟湰鍙风殑鍔熻兘锛屼細鍚屾鏇存柊涓€浜� Dubbo 鐗规€с€�
-
-**OSCHINA锛�**鏂板彂甯冪増鏈甫鏉ヤ粈涔堝€煎緱鍏虫敞鐨勭壒鎬э紵
-
-**dubbo****\-****go 浣曢懌閾細**
-
-褰撳墠鍙戝竷鐨� v1.0.0 鐗堟湰鏀寔鐨勫姛鑳藉涓嬶細
-
-*   瑙掕壊锛欳onsumer(鈭�)銆丳rovider(鈭�)
-*   浼犺緭鍗忚锛欻TTP(鈭�)銆乀CP(鈭�)
-*   搴忓垪鍖栧崗璁細JsonRPC v2(鈭�)銆丠essian v2(鈭�)
-*   娉ㄥ唽涓績锛歓ooKeeper(鈭�)
-*   闆嗙兢绛栫暐锛欶ailover(鈭�)
-*   璐熻浇鍧囪 锛歊andom(鈭�)
-*   杩囨护鍣細Echo Health Check(鈭�)
-*   extension 鎵╁睍鏈哄埗
-
-dubbo-go v1.0.0 鐗堟湰锛屼富瑕佺敱鎴戝拰鍚屽湪鎼虹▼鐨勫悓浜媅鏂归摱鍩嶿(https://github.com/fangyincheng)缁存姢锛岀ぞ鍖烘垚鍛榌鍛ㄥ瓙搴哴(https://github.com/u0x01)涓嶽楂樿緵鏍糫(https://github.com/gaoxinge)鍙備笌璐$尞锛岃鐗堟湰**娌跨敤浜�** **D****ubbo 鐨勪唬鐮佸垎灞傝В鑰﹁璁�**銆侱ubbo 2.6.x 鐨勪富瑕佸姛鑳介兘浼氶€愭笎鍦� dubbo-go 涓疄鐜帮紝鍖呮嫭 Dubbo 鍩轰簬 SPI 鐨勪唬鐮佹嫇灞曟満鍒讹紝dubbo-go 涔熸湁瀵瑰簲鐨� extension 鎵╁睍鏈哄埗涓庝箣瀵瑰簲銆�
-
-鎴戜滑鍦ㄦ湭鏉ュ皢閫愭笎鎺ㄥ嚭鐩墠鍙墿灞曟ā鍧楃殑鏇村瀹炵幇锛屽琛ラ綈鏇村鐨� Loadbalance 璐熻浇鍧囪 銆丆luster Strategy 闆嗙兢绛栫暐瀹炵幇锛堢洰鍓嶈繖浜涗换鍔$敱绀惧尯浼欎即涓诲姩璁ら锛屽笇鏈涙洿澶氱殑 Go 璇█鐖卞ソ鑰呮湅鍙嬪彲浠ュ姞鍏ョぞ鍖鸿础鐚級锛涘張濡備簯鍘熺敓棰嗗煙闈炲父娴佽鐨� k8s锛屾垜浠篃灏嗗悓姝� Dubbo 鐨� roadmap锛岃窡杩� k8s 浣滀负娉ㄥ唽涓績鐨勬敮鎸侊紝鐩墠鐢辩ぞ鍖烘垚鍛榌寮犳捣褰琞(https://github.com/NameHaibinZhang)璐熻矗璺熻繘銆�
-
-褰撶劧骞垮ぇ寮€鍙戣€呬滑涔熷彲浠ュ杩欎簺妯″潡鎺ュ彛杩涜鏂扮殑瀹炵幇锛岄€氳繃 extension 鎷撳睍锛屼互瀹屾垚鑷繁鐨勭壒娈婇渶姹傝€屾棤闇€淇敼婧愪唬鐮併€傚悓鏃讹紝鎴戜滑闈炲父娆㈣繋寮€鍙戣€呬负绀惧尯璐$尞鏈夌敤鐨勬嫇灞曞疄鐜般€�
-
-姝ょ増鏈В鍐充簡涓€澶ч噸鐐归棶棰橈細**涓� Dubbo Java 鐗堟湰浜掗€氱殑瑙e喅鏂规銆�**鎴戜滑灏嗚繖閮ㄥ垎鎻愬彇鍑轰簡 [Hessi](https://github.com/dubbogo/hessian2)[a](https://github.com/dubbogo/hessian2)[n2](https://github.com/dubbogo/hessian2) 椤圭洰锛岃椤圭洰婧愯嚜绀惧尯[浜庨洦](https://github.com/AlexStocks)鐨勬棭鏈熻础鐚紝鐜板湪鐢辩ぞ鍖烘垚鍛榌鏈涘摜](https://github.com/wongoo)璐熻矗缁存姢锛孾鍛ㄥ瓙搴哴(https://github.com/u0x01)涓嶽楂樿緵鏍糫(https://github.com/gaoxinge)鍙備笌璐$尞銆傜洰鍓嶈椤圭洰宸茬粡瀹屾垚浜嗗 Java 澶ч儴鍒嗙被鍨嬬殑鍏煎鏀寔銆傚ぇ瀹朵篃鍙互鍗曠嫭灏嗚椤圭洰闆嗘垚鍒拌嚜宸辩殑椤圭洰涓紝瀹冪殑寮€婧愬崗璁槸 Apache-2.0銆�
-
-鍙﹀涓€涓瘮杈冮噸瑕佺殑灏辨槸 **dubbo****\-****go 鐜板湪浣跨敤鐨� TCP 寮傛缃戠粶 I/O 搴�**锛岃搴撲篃鏄熀浜嶽浜庨洦](https://github.com/AlexStocks)鏃╂湡鍐欑殑 [Getty](https://github.com/dubbogo/getty) 椤圭洰锛岀洰鍓嶇敱绀惧尯鐨刐鏈涘摜](https://github.com/wongoo)涓嶽鏂归摱鍩嶿(https://github.com/fangyincheng)璐熻矗缁存姢锛屽畠鍚屾牱涔熸槸 Apache-2.0 鐨勫紑婧愬崗璁€備笅涓€鐗堟湰鎴戜滑**浼氶拡瀵� dubbo****\-****go 鍜� Getty 鐨勭綉缁� I/O 涓庣嚎绋嬫淳鍙戣繖涓€閮ㄥ垎杩涜杩涗竴姝ヤ紭鍖�****銆�**
-
-闄ゆ涔嬪锛屾垜浠鍒掍笅涓€姝ユ敮鎸� Dubbo 鐨勫彟澶栧嚑澶ч噸瑕佸姛鑳斤紝濡傦細
-
-*   routing rule 璺敱瑙勫垯(dubbo v2.6.x)
-*   dynamic configuration 鍔ㄦ€侀厤缃腑蹇�(dubbo v2.7.x)
-*   metrics 鎸囨爣涓庣洃鎺�(dubbo v2.7.x)聽
-*   trace 閾捐矾鐩戞帶(dubbo ecos)聽
-
-**OSCHINA锛�**鐩墠椤圭洰鐨勫簲鐢ㄦ儏鍐靛浣曪紵
-
-**dubbo****\-****go 浣曢懌閾細**
-
-dubbo-go 鐜板湪宸茬粡寮€濮嬭涓€浜涗紒涓氬皾璇曞簲鐢ㄤ簬 Go 璇█搴旂敤铻嶅叆浼佷笟宸叉湁 Java & Dubbo 鎶€鏈爤锛屼互鍙婃惌寤哄叏鏂� Go 璇█鍒嗗竷寮忓簲鐢ㄧ瓑鍦烘櫙銆傛瘮濡備腑閫氬揩閫掑唴閮� Go 璋冪敤 Java Dubbo 鏈嶅姟锛涗綔涓烘惡绋� Go 璇█搴旂敤鐨勬湇鍔℃鏋朵互鍙� Go銆丣ava 搴旂敤浜掗€氥€�
-
-鍏蜂綋鐨勫簲鐢ㄦ儏鍐靛彲浠ユ煡鐪嬶細
-
-*   [https://github.com/dubbo/go-for-apache-dubbo/issues/2](https://github.com/dubbo/go-for-apache-dubbo/issues/2)
-
-**OSCHINA锛�**鎺ヤ笅鏉ョ殑婕旇繘鏂瑰悜鏄€庝箞鏍风殑锛�
-
-**dubbo****\-****go 浣曢懌閾細**
-
-鍦� dubbo-go 杩佸線 Apache 杞欢鍩洪噾浼氫綔涓� Apache Dubbo 鐨勫瓙椤圭洰鍚庯紝棣栧厛鏈€閲嶈鐨勬槸**鎬ц兘鐨勮繘涓€姝ヤ紭鍖�**锛岀洰鍓嶆€ц兘涓婅櫧鐒惰兘澶熻揪鍒板簲鐢ㄧ殑鐢熶骇绾у埆瑕佹眰锛屼絾鎴戜滑瑙夊緱杩樻病鏈夊彂鎸ュ嚭 Go 璇█鐨勪紭鍔匡紝杩樻湁姣旇緝澶х殑浼樺寲绌洪棿銆傛瘮濡傚墠杈规彁鍒扮殑 Getty锛屼笅涓€鐗堟湰浼氶拡瀵� dubbo-go 搴旂敤 Getty 鐨勭綉缁� I/O 妯″瀷涓庣嚎绋嬫淳鍙戝仛涓€浜涗紭鍖栥€�
-
-鍙﹀鍖呭惈涓婇潰鎻愬埌鐨勬垜浠繎鏈熼渶瑕佽ˉ鍏ㄤ竴浜涢噸瑕佸姛鑳斤紝鏈€澶ч檺搴﹀湴鍦�**鍔熻兘瀹屾暣鎬�**涓婅兘澶熻窡 Dubbo 鍏煎銆傚叧浜庢湭鏉� dubbo-go 鐨勫彂灞曪紝涔熶細鍚� Dubbo 2.7.x 鐗堟湰杩欐潯绾夸笂鐨勮矾绾垮浘婕旇繘銆�
-
-**OSCHINA锛�**璇村埌鎬ц兘锛屽綋鍓嶆€ц兘鎯呭喌鍏蜂綋濡備綍锛�
-
-**dubbo****\-****go 浣曢懌閾細**
-
-鎴戜滑鏈夊仛涓€涓� [**dubbo-go-****benchmark**](https://github.com/dubbogo/go-for-apache-dubbo-benchmark) 椤圭洰锛屽湪 CPU 鍨嬪彿涓� Intel(R) Xeon(R) CPU E5-2609 0 @2.40GHz锛孋PU 鏍稿績鏁颁负 4\*8 鐨勭‖浠舵按骞充笅锛屽彂閫� 1k 骞惰繑鍥� 1k 鐨勬暟鎹紝100 骞跺彂鏁帮紝100w 鎬昏姹傛暟锛宷ps 鍙互杈惧埌 1.2 涓囧乏鍙炽€�
-
-CPU 鎬ц兘鎹㈡垚姣旇緝楂樼殑閰嶇疆濡� Intel Core i9 2.9GHz锛宷ps 鍙互鍒拌揪 2 涓囧乏鍙炽€�
-
-鎴戜滑鍚庨潰浼氬 Hessian2 搴撳拰 Getty 搴撹繘琛屾寔缁€ц兘浼樺寲锛屼互缁欏箍澶т娇鐢ㄨ€呰妭绾﹁祫婧愩€�
-
-## **閲囪鍢夊浠嬬粛**
-
-**浣曢懌閾�**锛屾惡绋嬪熀纭€涓彴鐮斿彂閮ㄦ妧鏈笓瀹讹紝dubbo-go 涓昏浣滆€呫€傜洰鍓嶄笓娉ㄤ簬 Golang & Java銆佷腑鍙版灦鏋勩€佷腑闂翠欢涓庡尯鍧楅摼绛夋妧鏈€�
\ No newline at end of file
diff --git a/doc/md/interview/what's-new-in -dubbo-go-v1.4.0.md b/doc/md/interview/what's-new-in -dubbo-go-v1.4.0.md
deleted file mode 100644
index 67dd72d92b3c929ccdcbb5d948e8c086f8fb1d32..0000000000000000000000000000000000000000
--- a/doc/md/interview/what's-new-in -dubbo-go-v1.4.0.md	
+++ /dev/null
@@ -1,167 +0,0 @@
-# [dubbo-go 1.4.0 鐗堟湰鍙戝竷锛屾敮鎸� K8s 娉ㄥ唽涓績銆乺est 鍗忚](https://blog.csdn.net/weixin_45583158/article/details/105132322)
-
-
-2020-03-26 09:30:00
-
-寰楃泭浜庣ぞ鍖烘椿璺冪殑鏀寔锛�2020 骞� 3 鏈� 25 鏃� 鎴戜滑鍙戝竷浜嗕竴涓浜哄叴濂嬬殑鐗堟湰鈥斺€攄ubbo-go v1.4.0銆傞櫎浜嗙户缁敮鎸佸凡鏈夌殑 Dubbo 鐨勪竴浜涚壒鎬у锛� dubbo-go 寮€濮嬩簡涓€浜涜嚜宸辩殑鍒涙柊灏濊瘯銆�
-
-杩欎釜鐗堟湰锛屾渶澶х殑鎰忎箟鍦ㄤ簬锛屽仛浜嗕竴浜涙敮鎸佷簯鍘熺敓鐨勫噯澶囧伐浣溿€傛瘮濡傝锛岀ぞ鍖哄湪鎺㈣浜嗗緢涔呯殑 k8s 钀藉湴涔嬪悗锛岀粓浜庢嬁鍑烘潵浜嗕娇鐢� k8s 浣滀负娉ㄥ唽涓績鐨勮В鍐虫柟妗堛€�
-
-鍏舵涓€涓瘮杈冨ぇ鐨勬敼杩涙槸--鎴戜滑鍦ㄥ彲瑙傛祴鎬т笂涔熻繄鍑轰簡閲嶈鐨勪竴姝ャ€傚湪杩欎箣鍓嶏紝dubbo-go鍙彁渚涗簡鏃ュ織杩欎箞涓€涓崟涓€鎵嬫锛屽唴閮ㄧ殑淇℃伅姣旇緝涓嶉€忔槑锛岃繖涓増鏈皢鏈夊緢澶х殑鏀瑰杽銆�
-
-鏈€鍚庝竴涓护浜哄績鍔ㄧ殑鏀硅繘鏄紝鎴戜滑鏀寔浜� REST 鍗忚銆�
-
-## 1\. K8s 娉ㄥ唽涓績
-
-dubbo-go 娉ㄥ唽涓績鐨勬湰璐ㄤ负K/V鍨嬬殑鏁版嵁瀛樺偍銆傚綋鍓嶇増鏈疄鐜颁簡浠� Endpoint 涓虹淮搴﹀湪 k8s API Server 杩涜鏈嶅姟娉ㄥ唽鍜屽彂鐜扮殑鏂规銆愪笅鏂囩畝绉� Endpoint 鏂规銆戯紝鏋舵瀯鍥惧涓嬨€�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.4.0-a.png "dubbo-go-k8s.png")
-
-Endpoint 鏂规锛岄鍏堝皢姣忎釜 dubbo-go 杩涚▼鑷韩鏈嶅姟淇℃伅搴忓垪鍖栧悗锛岄€氳繃 Kubernetes 鎻愪緵鐨� Patch 鐨勬帴鍙e啓鍏ュ湪鑷韩 Pod 瀵硅薄鐨� Annotation 涓€傚叾娆★紝閫氳繃 Kubernetes 鐨� Watch 鎺ュ彛瑙傚療闆嗙兢涓湰 Namespace 鍐呭甫鏈夋煇浜涘浐瀹歭able \[瑙佷笂鍥綷] Pod 鐨凙nnotation 淇℃伅鐨勬洿鏂帮紝澶勭悊鏈嶅姟鍋ュ悍妫€鏌ャ€佹湇鍔′笂涓嬬嚎绛夋儏鍐靛苟瀹炴椂鏇存柊鏈湴缂撳瓨銆傛暣浣撴祦绋嬩粎浣跨敤 Kubernetes 鍘熺敓 API 瀹屾垚灏� Kubernetes 浣滀负娉ㄥ唽涓績鐨勫姛鑳界壒鎬с€�
-
-杩欎釜鏂规闈炲父绠€娲侊紝涓嶉渶瑕佸疄鐜伴澶栫殑绗笁鏂规ā鍧楋紝涔熶笉闇€瑕佸 Dubbo 涓氬姟浣滃嚭鏀瑰姩锛屼粎浠呮妸 k8s 褰撳仛閮ㄧ讲骞冲彴锛屼緷璧栧叾瀹瑰櫒绠$悊鑳藉姏锛屾病鏈変娇鐢ㄥ叾 label selector 鍜� service 绛夋湇鍔℃不鐞嗙壒鎬с€傚鏋滅珯鍦� k8s Operator 鐨勮搴︽潵鐪嬶紝Operator 鏂规鐨勪紭鐐瑰嵆 Endpoint 鏂规鐨勭己鐐癸紝Endpoint 鏂规鏃犳硶浣跨敤 k8s 鐨勫仴搴锋鏌ヨ兘鍔涳紝浜︽病鏈変娇鐢� k8s service 鐨勪簨浠剁洃鍚兘鍔涳紝姣忎釜 consumer 鍐椾綑鐩戝惉涓€浜涗笉蹇呰鐩戝惉鐨勪簨浠讹紝褰� Endpoint 杩囧鏃朵細鍔犲ぇ API Server 鐨勭綉缁滃帇鍔涖€�
-
-鐩墠 dubbo-go 绀惧尯鍏跺疄宸茬粡鏈変簡 operator 鐗堟湰娉ㄥ唽涓績鐨勬妧鏈柟妗堬紝聽鍚庣画鐗堟湰銆愯鍒掔増鏈槸 v1.6銆戠殑 dubbo-go 浼氱粰鍑哄叾瀹炵幇銆傜浉姣斿綋鍓嶅疄鐜帮紝operator 鏂规寮€鍙戝拰绾夸笂缁存姢鎴愭湰褰撶劧涓婂崌寰堝銆備簩鑰呭鍚岀‖甯佺殑涓ら潰锛岀ぞ鍖轰細璁╀袱绉嶆柟寮忎細鍏卞瓨锛屼互婊¤冻涓嶅悓 level 鐨勪娇鐢ㄨ€呫€�
-
-娉ㄦ剰: 鍥� Pod 琚皟搴﹁€� IP 鍙戠敓鍙樺寲鏃讹紝褰撳墠鐗堟湰鐨� configuration 浠ュ強 router config 妯″潡鏆傛椂鏃犳硶鍔ㄦ€佹洿鏂般€傝繖鏈夊緟浜庢垜浠繘涓€姝ヨВ鍐炽€�
-
-鍙傝€冭寖渚媆[1\].
-
-## 2\. tracing 鍜� metric
-
-鍙娴嬫€ф槸寰湇鍔¢噸瑕佺殑涓€鐜紝涔熸槸鎴戜滑1.4鐗堟湰鐫€鍔涙敮鎸佺殑閮ㄥ垎銆傚湪1.4鐗堟湰涓紝鎴戜滑涓昏鍦� tracing 鍜� metric 涓や釜鏂瑰悜鎻愪緵浜嗘敮鎸併€�
-
-涓轰簡鏀寔 tracing 鍜� metric锛屽叧閿殑涓€鐐规槸鏀寔context鍦ㄦ暣涓皟鐢ㄨ繃绋嬩腑浼犻€掋€備负姝ゆ垜浠В鍐充簡context璺ㄧ浼犻€掔殑闂銆傜洰鍓嶇敤鎴峰彲浠ュ湪鎺ュ彛涓0鏄� context 骞朵笖璁剧疆鍊硷紝dubbo-go 鍦ㄥ簳灞傚畬鎴� context 鍐呭浠� client 浼犻€掑埌 server 鐨勪换鍔°€�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.4.0-b.png "image.png")
-
-鍦� metric 鏂归潰锛宒ubbo-go 寮€濮嬫敮鎸� Prometheus 閲囬泦鏁版嵁浜嗐€傜洰鍓嶆敮鎸� Prometheus涓� 鐨� Histogram 鍜� Summary銆傜敤鎴蜂篃鍙互閫氳繃鎵╁睍 Reporter 鎺ュ彛鏉ヨ嚜瀹氫箟鏁版嵁閲囬泦銆�
-
-鍦� tracing 鏂归潰锛岀洰鍓� dubbo-go 鐨勮璁℃槸閲囩敤 opentracing 浣滀负缁熶竴鐨� API锛屽湪璇� API 鐨勫熀纭€涓婏紝閫氳繃鍦� client 鍜� server 涔嬩腑浼犻€� context锛屼粠鑰屽皢鏁翠釜閾捐矾涓茶捣鏉ャ€傜敤鎴峰彲浠ラ噰鐢ㄤ换浣曟敮鎸� opentracing API 鐨勭洃鎺ф鏋舵潵浣滀负瀹炵幇锛屼緥濡� zipkin锛宩aeger 绛夈€�
-
-## 3\. rest鍗忚鏀寔
-
-Dubbo 鐢熸€佺殑搴旂敤涓庡叾浠栫敓鎬佺殑搴旂敤浜掕仈浜掗€氾紝涓€鐩存槸 dubbo-go 绀惧尯杩芥眰鐨勭洰鏍囥€俤ubbo-go v1.3 鐗堟湰宸茬粡瀹炵幇浜� dubbo-go 涓� grpc 鐢熸€佸簲鐢ㄧ殑浜掕仈浜掗€氾紝鑻ユ兂涓庡叾浠栫敓鎬佸 Spring 鐢熸€佷簰鑱斾簰閫氾紝鍊熷姪 rest 鍗忚鏃犵枒鏄竴涓緢濂界殑鎶€鏈墜娈点€�
-
-Rest 鍗忚鏄竴涓緢寮哄ぇ骞朵笖绀惧尯鍛煎0寰堥珮鐨勭壒鎬э紝瀹冭兘澶熸湁鏁堣В鍐� open API锛屽墠绔€氫俊锛屽紓鏋勭郴缁熼€氫俊绛夐棶棰樸€傛瘮濡傦紝濡傛灉浣犵殑鍏徃閲岄潰鏈変竴浜涢檲骞翠唬鐮佹槸閫氳繃 http 鎺ュ彛鏉ユ彁渚涙湇鍔$殑锛岄偅涔堜娇鐢ㄦ垜浠殑 rest 鍗忚灏卞彲浠ユ棤缂濋泦鎴愪簡銆�
-
-閫氳繃鍦� dubbo-go 涓彂甯� RESTful 鐨勬帴鍙g殑搴旂敤鍙互璋冪敤浠绘剰鐨� RESTful 鐨勬帴鍙o紝涔熷彲浠ヨ浠讳綍瀹㈡埛绔互 http 鐨勫舰寮忚皟鐢紝妗嗘灦鍥惧涓嬶細
-
-  
-![](../../pic/interview/what's-new-in-dubbo-go-v1.4.0-c.png "dubbo-go-rest.png")
-
-鍦ㄨ璁¤繃绋嬩腑锛岃€冭檻鍒颁笉鍚岀殑鍏徃鍐呴儴浣跨敤鐨� web 妗嗘灦骞朵笉鐩稿悓锛屾墍浠ユ垜浠厑璁哥敤鎴锋墿灞曡嚜宸� rest server 锛� web 妗嗘灦鍦� dubbo-go鐨勫皝瑁咃級鐨勫疄鐜帮紝褰撶劧锛屼笌 rest server 鐩稿叧鐨勶紝璇稿 filter 绛夛紝閮藉彲浠ュ湪鑷繁鐨� rest server 瀹炵幇鍐呴儴鎵╁睍銆�
-
-## 4\. 璺敱鍔熻兘澧炲己
-
-璺敱瑙勫垯鍦ㄥ彂璧蜂竴娆� RPC 璋冪敤鍓嶈捣鍒拌繃婊ょ洰鏍囨湇鍔″櫒鍦板潃鐨勪綔鐢紝杩囨护鍚庣殑鍦板潃鍒楄〃锛屽皢浣滀负娑堣垂绔渶缁堝彂璧� RPC 璋冪敤鐨勫閫夊湴鍧€銆倂1.4 鐗堟湰鐨� dubbo-go 瀹炵幇浜� Condition Router 鍜� Health Instance First Router锛屽皢鍦ㄥ悗闈㈢増鏈腑闄嗙画缁欏嚭璇稿 Tag Router 绛夊墿浣� Router 鐨勫疄鐜般€�
-
-### 4.1 鏉′欢璺敱
-
-鏉′欢璺敱锛屾槸 dubbo-go 涓涓€涓敮鎸佺殑璺敱瑙勫垯锛屽厑璁哥敤鎴烽€氳繃閰嶇疆鏂囦欢鍙婅繙绔厤缃腑蹇冪鐞嗚矾鐢辫鍒欍€�
-
-涓庝箣鐩镐技鐨勪竴涓蹇垫槸 dubbo-go 閲岄潰鐨� group 姒傚康锛屼絾鏄潯浠惰矾鐢辨彁渚涗簡鏇村姞缁嗙矑搴︾殑鎺у埗鎵嬫鍜屾洿鍔犱赴瀵岀殑琛ㄨ揪璇箟銆傛瘮杈冨吀鍨嬬殑浣跨敤鍦烘櫙鏄粦鐧藉悕鍗曡缃紝鐏板害浠ュ強娴嬭瘯绛夈€�
-
-鍙傝€冭寖渚媆[2\]銆�
-
-### 4.2 鍋ュ悍瀹炰緥浼樺厛璺敱
-
-鍦� RPC 璋冪敤涓紝鎴戜滑甯屾湜灏藉彲鑳藉湴灏嗚姹傚懡涓埌閭d簺澶勭悊鑳藉姏蹇€佸浜庡仴搴风姸鎬佺殑瀹炰緥锛岃璺敱鐨勫姛鑳藉氨鏄€氳繃鏌愮绛栫暐鏂畾鏌愪釜瀹炰緥涓嶅仴搴凤紝骞跺皢鍏舵帓闄ゅ湪鍊欓€夎皟鐢ㄥ垪琛紝浼樺厛璋冪敤閭d簺鍋ュ悍鐨勫疄渚嬨€傝繖閲岀殑"鍋ュ悍"鍙互鏄垜浠嚜宸卞畾涔夌殑鐘舵€侊紝榛樿瀹炵幇鍗冲綋閿欒姣斾緥鍒拌揪鏌愪竴涓槇鍊兼椂鎴栬€呰姹傛椿璺冩暟澶т簬涓婇檺鍒欒涓哄叾涓嶅仴搴凤紝鍏佽鐢ㄦ埛鎵╁睍鍋ュ悍妫€娴嬬瓥鐣ャ€�
-
-鍦ㄦ垜浠湇鍔℃不鐞嗛噷闈紝鏍稿績鐨勯棶棰樺叾瀹炲氨鍦ㄤ簬濡備綍鍒ゆ柇涓€涓疄渚嬫槸鍚﹀彲鐢ㄣ€傛棤璁烘槸璐熻浇鍧囪 銆�
-
-鐔旀柇杩樻槸闄愭祦锛岄兘鏄杩欎釜闂鐨勮В绛斻€傛墍浠ワ紝杩欎釜 feature 鏄竴涓緢濂界殑灏濊瘯銆傚洜涓烘垜浠帴涓嬫潵璁″垝鎻愪緵鐨勭壒鎬э紝鍩轰簬瑙勫垯鐨勯檺娴佷互鍙婂姩鎬侀檺娴侊紝閮芥槸瑕佽В鍐斥€滃浣曟柇瀹氫竴涓疄渚嬫槸鍚﹀彲鐢ㄢ€濊繖涔堜竴涓棶棰樸€�
-
-鎵€浠ユ杩庡ぇ瀹朵娇鐢ㄨ繖涓壒鎬э紝骞跺悜绀惧尯鍙嶉鍚勮嚜璁惧畾鐨勫仴搴锋寚鏍囥€傝繖瀵规垜浠帴涓嬫潵鐨勫伐浣滀細鏈夊緢澶х殑甯姪銆�
-
-## 5\. hessian 鍗忚澧炲己
-
-鐩歌緝浜� dubbo 鐨� Java 璇█浠ュ強鍏朵粬澶氳瑷€鐗堟湰锛宒ubbo-go 绀惧尯姣旇緝鑷豹鐨勫湴鏂逛箣涓€灏辨槸锛氭棤璁哄簳灞傜綉缁滃紩鎿庤繕鏄師鐢熶娇鐢ㄧ殑 hessian2 鍗忚锛屼互鍙婃暣浣撴湇鍔℃不鐞嗘鏋讹紝閮界敱 dubbo-go 绀惧尯浠庨浂寮€鍙戝苟缁存姢銆倂1.4 鐗堟湰鐨� dubbo-go 瀵� hessian2 鍗忚鍙堝甫鏉ヤ簡璇稿鏂� feature銆�
-
-### 5.1 鏀寔 dubbo 鍗忚鐨� attachments
-
-鍦� dubbo-go涓紝attachments 鏈哄埗鐢ㄤ簬浼犻€掍笟鍔″弬鏁颁箣澶栫殑闄勫姞淇℃伅锛屾槸鍦ㄥ鎴风鍜屾湇鍔$涔嬮棿浼犻€掗潪涓氬姟鍙傛暟淇℃伅鐨勯噸瑕佹柟寮忋€�
-
-hessian 缂栫爜鍗忚灏嗕箣缂栫爜鍦� body 鍐呭鐨勫悗闈㈣繘琛屼紶杈擄紝dubbo-go-hessian2 涔嬪墠骞朵笉鏀寔璇�/鍐� attachments锛屽湪澶氫釜浣跨敤鏂广€愬铓傝殎閲戞湇銆戠殑瑕佹眰涓嬶紝dubbo-go-hessian2 浠ュ吋瀹瑰凡鏈夌殑浣跨敤鏂瑰紡涓哄墠鎻愶紝鏀寔浜� attachments 鐨勮/鍐欍€�
-
-Request 鍜� Response 鐨� struct 涓畾涔変簡 attachments 鐨� map锛屽綋闇€瑕佷娇鐢� attachments锛岄渶瑕佺敱浣跨敤鏂规瀯閫犺繖涓ょ绫诲瀷鐨勫弬鏁版垨鑰呰繑鍥炲璞°€傚惁鍒欙紝灏嗘棤娉曞湪hessian鐨勪紶杈撴祦涓幏鍙栧拰鍐欏叆attachments銆�
-
-鍙﹀锛屽埄鐢� dubbo-go 璋冪敤閾句腑浼犺緭 context 鐨勫姛鑳斤紝鐢ㄦ埛宸茬粡鍙互鍦ㄦ湇鍔℃柟娉曚腑閫氳繃 context 娣诲姞 attachments浜嗐€�
-
-### 5.2 鏀寔蹇界暐闈炴敞鍐� pojo 鐨勮В鏋愭柟寮�
-
-鐢变簬 hessian 缂栫爜鍗忚涓� Java 鐨勭被鍨嬮珮搴﹁€﹀悎锛屽湪 golang 鐨勫疄鐜颁腑浼氱浉瀵规瘮杈冮夯鐑︼紝闇€瑕佹湁鎸囨槑鐨勫搴旂被鍨嬨€俤ubbo-go-hessian2 鐨勫疄鐜版柟寮忔槸锛氬畾涔� POJO 鎺ュ彛锛岃姹傚疄鐜� JavaClassName 鏂规硶鏉ヤ緵绋嬪簭鑾峰彇 Java 瀵瑰簲鐨勭被鍚嶃€傝繖瀵艰嚧浜嗘帴鏀跺埌鍖呭惈鏈敞鍐岀被鐨勮姹傛椂锛屽皢浼氭棤娉曡В鏋愯€屾姤閿欙紝杩欎釜闂浠ュ墠鏄棤娉曡В鍐崇殑銆�
-
-浣嗘槸锛屾湁涓€浜涗娇鐢ㄥ満鏅缃戝叧鎴栬€� service mesh 鐨� sidecar锛岄渶瑕佸湪涓嶅叧蹇� Java 绫荤殑鍏蜂綋瀹氫箟鐨勬儏鍐典笅锛屽儚 http璇诲彇 header 淇℃伅涓€鏍蜂粎浠呰鍙� dubbo 璇锋眰鐨勯檮鍔犱俊鎭紝灏� dubbo/dubbo-go 璇锋眰杞彂銆傞€氳繃璇� feature锛岀綉鍏�/sidecar 骞朵笉鍏虫敞璇锋眰鐨勫叿浣撳唴瀹癸紝鍙互鍦ㄨВ鏋愯姹傜殑鏁版嵁娴佹椂璺宠繃鏃犳硶瑙f瀽鐨勫叿浣撶被鍨嬶紝鐩存帴璇诲彇 attachments 鐨勫唴瀹广€�
-
-璇ュ疄鐜伴€氳繃鍦� Decoder 涓坊鍔犵殑 skip 瀛楁锛屽姣忎竴涓� object 鍋氬嚭鐗规畩澶勭悊銆�
-
-### 5.3 鏀寔 java.math.BigInteger 鍜� java.math.BigDecimal
-
-鍦� Java 鏈嶅姟涓紝java.math.BigInteger 鍜� java.math.BigDecimal 鏄棰戠箒浣跨敤鐨勬暟瀛楃被鍨嬶紝hessian 搴撳皢瀹冧滑鏄犲皠涓� github.com/dubbogo/gost/math/big 涓嬬殑瀵瑰簲绫诲瀷銆�
-
-### 5.4 鏀寔 鈥樼户鎵库€� 鍜屽拷鐣ュ啑浣欏瓧娈�
-
-鐢变簬 go 娌℃湁缁ф壙鐨勬蹇碉紝鎵€浠ュ湪涔嬪墠鐨勭増鏈紝Java 鐖剁被鐨勫瓧娈典笉琚� dubbo-go-hessian2 鎵€鏀寔銆傛柊鐗堟湰涓紝dubbo-go-hessian2 灏咼ava鏉ヨ嚜鐖剁被鐨勫瓧娈电敤鍖垮悕缁撴瀯浣撳搴旓紝濡傦細
-
-```cpp
-type Dog struct {
-    Animal
-    Gender  string
-    DogName string `hessian:"-"`
-}
-```
-
-鍚屾椂锛屽氨鍍� json 缂栫爜涓€氳繃聽`immediately`聽鍙互鍦ㄥ簭鍒楀寲涓拷鐣ヨ瀛楁锛屽悓鐞嗭紝閫氳繃聽`hessian:"-"`聽鐢ㄦ埛涔熷彲浠ヨ鍐椾綑瀛楁涓嶅弬涓� hessian 搴忓垪鍖栥€�  
-
-鐩墠锛屼笂杩板洓涓壒鎬у凡琚煇 Go 鐗堟湰鐨� sidecar 闆嗘垚鍒板叾鍟嗕笟鐗堟湰涓彁渚涘晢涓氭湇鍔°€�
-
-## 6\. Nacos 閰嶇疆涓績
-
-閰嶇疆涓績鏄幇浠e井鏈嶅姟鏋舵瀯閲岄潰鐨勬牳蹇冪粍浠讹紝鐜板湪 dubbo-go 鎻愪緵浜嗗閰嶇疆涓績鐨勬敮鎸併€�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.4.0-d.png "image.png")
-
-Nacos 浣滀负涓€涓槗浜庢瀯寤轰簯鍘熺敓搴旂敤鐨勫姩鎬佹湇鍔″彂鐜般€侀厤缃鐞嗗拰鏈嶅姟绠$悊骞冲彴锛屽湪璇ョ増鏈粓浜庝綔涓洪厤缃腑蹇冭€屽緱鍒颁簡鏀寔銆�
-
-鍙傝€冭寖渚媆[3\].
-
-## 7\. 鎺ュ彛绾х鍚嶈璇�
-
-Dubbo 閴存潈璁よ瘉鏄负浜嗛伩鍏嶆晱鎰熸帴鍙h鍖垮悕鐢ㄦ埛璋冪敤鑰屽湪 SDK 灞傞潰鎻愪緵鐨勯澶栦繚闅溿€傜敤鎴峰彲浠ュ湪鎺ュ彛绾у埆杩涜瀹氫箟鏄惁鍏佽鍖垮悕璋冪敤锛屽苟瀵硅皟鐢ㄦ柟杩涜楠岀鎿嶄綔锛屽浜庨獙绛句笉閫氳繃鐨勬秷璐圭锛岀姝㈣皟鐢ㄣ€�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.4.0-e.png "image.png")
-
-濡備笂鍥撅紝鎬讳綋瀹炵幇鍩轰簬 AK/SK 鏈哄埗锛屽簲鐢ㄩ€氳繃 HTTPS 閫氫俊锛屽惎鍔ㄦ椂鍚戦壌鏉冩湇鍔℃媺鍙栵紝瀹氭湡鏇存柊銆備笖鍏佽鐢ㄦ埛鑷畾涔夎幏鍙� AK/SK 鐨勬簮锛屽湪 RPC 灞傞潰淇濋殰瀹夊叏鎬с€�
-
-## 8\. 鍥為【涓庡睍鏈�
-
-鐩墠 dubbo-go 宸茬粡鍒颁簡涓€涓瘮杈冪ǔ瀹氭垚鐔熺殑鐘舵€併€傚湪鎺ヤ笅鏉ョ殑鐗堟湰閲岄潰锛屾垜浠皢闆嗕腑绮惧姏鍦ㄤ簯鍘熺敓涓娿€備笅涓€涓増鏈紝鎴戜滑灏嗛鍏堝疄鐜板簲鐢ㄧ淮搴︾殑鏈嶅姟娉ㄥ唽锛岃繖鏄竴涓拰鐜版湁娉ㄥ唽妯″瀷瀹屽叏涓嶅悓鐨勬柊鐨勬敞鍐屾ā鍨嬨€備篃鏄垜浠湞鐫€浜戝師鐢熷姫鍔涚殑涓€涓叧閿増鏈€�
-
-鍦ㄥ彲瑙傛祴鎬т笂锛屾垜浠鍒掑湪鏁翠釜 dubbo-go 鐨勬鏋跺唴锛屽紩鍏ユ洿澶氱殑鍩嬬偣锛屾敹闆嗘洿鍔犲鐨勫唴閮ㄧ姸鎬併€傝繖闇€瑕佸疄闄呯敓浜х幆澧冪敤鎴风殑浣跨敤鍙嶉锛屼粠鑰岀煡閬撹濡備綍鍩嬬偣锛屾敹闆嗕綍绉嶆暟鎹€�
-
-鍦ㄩ檺娴佸拰鐔旀柇涓婏紝鍙互杩涗竴姝ユ墿灞曘€傚綋涓嬬殑闄愭祦绠楁硶锛屾槸涓€绉嶉潤鎬佺殑绠楁硶--闄愭祦鍙傛暟骞舵病鏈夊疄鏃舵牴鎹綋鍓嶆湇鍔″櫒鐨勭姸鎬佹潵鎺ㄦ柇鏄惁搴旇闄愭祦锛屽畠鍙兘浠呬粎鏄敤鎴风殑缁忛獙鍊笺€傚叾缂虹偣鍦ㄤ簬锛岀敤鎴烽毦浠ユ妸鎻″簲璇ュ浣曢厤缃紝渚嬪 TPS 绌剁珶搴旇璁剧疆鍦ㄥ澶с€傛墍浠ヨ鍒掑紩鍏ヤ竴绉嶅熀浜庤鍒欑殑闄愭祦鍜岀啍鏂€傝繖绉嶅熀浜庤鍒欑殑闄愭祦鍜岀啍鏂紝灏嗗厑璁哥敤鎴疯缃竴浜涚郴缁熺姸鎬佺殑鐘舵€侊紝濡� CPU 浣跨敤鐜囷紝纾佺洏 IO锛岀綉缁� IO 绛夈€傚綋绯荤粺鐘舵€佺鍚堢敤鎴疯鍒欐椂锛屽皢瑙﹀彂鐔旀柇銆�
-
-鐩墠杩欎簺瑙勫垝鐨劼犱换鍔℃竻鍗昞[4\]锛岄兘宸茬粡鏀惧叆鍦� dubbo-go 椤圭洰鐨� issue 閲岄潰锛屾杩庢劅鍏磋叮鐨勬湅鍙嬭棰嗗弬涓庡紑鍙戙€俤ubbo-go 绀惧尯鍦�**閽夐拤缇� 23331795**聽娆㈣繋浣犵殑鍔犲叆銆�
-
-**鏂囦腑閾炬帴锛�**
-
-\[1\]聽https://github.com/apache/dubbo-samples/tree/master/golang/registry/kubernetes
-
-\[2\]聽https://github.com/dubbogo/dubbo-samples/tree/master/golang/router/condition
-
-\[3\]聽https://github.com/dubbogo/dubbo-samples/tree/master/golang/configcenter/nacos
-
-\[4\]聽https://github.com/apache/dubbo-go/milestone/1
-
-**鍙傝€冮槄璇伙細**
-
-*   [浠巐stio鐨勮搴﹁皥寰湇鍔$殑涓€浜涜鍖篯(https://blog.csdn.net/weixin_45583158/article/details/105085686)  
-    
-*   [Go璇█濡備綍瀹炵幇stop the world锛焆(https://blog.csdn.net/weixin_45583158/article/details/104912555)
-    
-*   [鍏充簬Golang GC鐨勪竴浜涜瑙�--鐪熺殑姣擩ava绠楁硶鏇撮鍏堝悧锛焆(https://blog.csdn.net/weixin_45583158/article/details/100143593)
-    
-*   [Swift绋嬪簭鍛樺Rust鍗拌薄锛氬唴瀛樼鐞哴(https://blog.csdn.net/weixin_45583158/article/details/104853360)
-    
-*   [JDK 14鍙戝竷锛岀┖鎸囬拡閿欒鏀硅繘姝e紡钀藉湴](https://blog.csdn.net/weixin_45583158/article/details/104981073)  
\ No newline at end of file
diff --git a/doc/md/interview/what's-new-in -dubbo-go-v1.5.1.md b/doc/md/interview/what's-new-in -dubbo-go-v1.5.1.md
deleted file mode 100644
index 5b41872fd01dffed2f78189bea9366a39cebd2f5..0000000000000000000000000000000000000000
--- a/doc/md/interview/what's-new-in -dubbo-go-v1.5.1.md	
+++ /dev/null
@@ -1,169 +0,0 @@
-# [Dubbo-go v1.5.1 鍙戝竷锛孉pache Dubbo 鐨� Go 瀹炵幇](https://www.oschina.net/news/118469/dubbo-go-1-5-1-released)
-
-Dubbo-go 鍥㈤槦杩戞湡鍙戝竷浜� Dubbo-go v1.5.1锛孌ubbo-go 鏄� Apache Dubbo 椤圭洰鐨� Go 瀹炵幇銆�
-
-鏍规嵁鍥㈤槦鐨勪粙缁嶏紝铏界劧 v1.5.1 鏄� v1.5 鐨勪竴涓瓙鐗堟湰锛屼絾鐩告瘮浜� v1.5.0锛� 绀惧尯杩樻槸鎶曞叆浜嗗緢澶т汉鍔涙坊鍔犱簡濡備笅閲嶅ぇ鏀硅繘銆�
-
-## 1 搴旂敤缁村害娉ㄥ唽妯″瀷
-
-鍦ㄦ柊妯″瀷 release 鍚庯紝鍥㈤槦鍙戠幇 Provider 姣忎釜 URL 鍙戝竷鍏冩暟鎹兘浼氭敞鍐� ServiceInstance锛屽奖鍝嶆€ц兘闇€瑕佷紭鍖栥€�
-
-浼樺寲鏂规鏄細 鍘婚櫎 ServiceDiscoveryRegistry 涓敞鍐� ServiceInstance 鐨勪唬鐮侊紝鍦� config_loader 涓殑 loadProviderConfig 鏂规硶鐨勬渶鍚庢敞鍐� ServiceInstance 鍏蜂綋姝ラ锛� 
-
-1銆佽幏鍙栨墍鏈夋敞鍐岀殑 Registry锛岃繃婊ゅ嚭 ServiceDiscoveryRegistry锛屾嬁鍙栨墍鏈� ServiceDiscovery銆� 
-2銆佸垱寤� ServiceInstance銆� 
-3銆佹瘡涓� ServiceDiscovery 娉ㄥ唽 ServiceInstance銆�
-
-淇濊瘉 Provider 鍦ㄦ敞鍐屾垚鍔熶箣鍚庯紝鎵嶆毚闇插厓鏁版嵁淇℃伅銆�
-
-## 2 鏀寔鍩轰簬 Seata 鐨勪簨鍔�
-
-鍩轰簬 Seata 鎵╁睍瀹炵幇銆傞€氳繃澧炲姞杩囨护鍣紝鍦ㄦ湇鍔$鎺ユ敹 xid 骞剁粨鍚� seata-golang 杈惧埌鏀寔鍒嗗竷寮忎簨鍔$殑鐩殑銆� 浠庤€屼娇 Dubbo-go 鍦ㄥ垎甯冨紡鍦烘櫙涓嬶紝璁╃敤鎴锋湁鏇村鐨勯€夋嫨锛岃兘閫傚簲鏇村鐨勪釜鎬у寲鍦烘櫙銆�
-
-寮€鍙戝洟闃熷湪 dubbo-samples 涓粰鍑轰簡 浜嬪姟娴嬭瘯鐢ㄤ緥 銆�
-
-## 3 澶氭敞鍐屼腑蹇冮泦缇よ礋杞藉潎琛�
-
-瀵逛簬澶氭敞鍐屼腑蹇冭闃呯殑鍦烘櫙锛岄€夊潃鏃剁殑澶氫簡涓€灞傛敞鍐屼腑蹇冮泦缇ら棿鐨勮礋杞藉潎琛★細
-
-鍦� Cluster Invoker 杩欎竴绾э紝鏀寔鐨勯€夊潃绛栫暐鏈夛細
-
-- 鎸囧畾浼樺厛绾�
-- 鍚� zone 浼樺厛
-- 鏉冮噸杞
-
-## 3 浼犺緭閾捐矾瀹夊叏鎬�
-
-璇ョ増鏈湪浼犺緭閾捐矾鐨勫畨鍏ㄦ€т笂鍋氫簡灏濊瘯锛屽浜庡唴缃殑 Dubbo getty Server 鎻愪緵浜嗗熀浜� TLS 鐨勫畨鍏ㄩ摼璺紶杈撴満鍒躲€�
-
-涓哄敖鍙兘淇濊瘉搴旂敤鍚姩鐨勭伒娲绘€э紝TLS Cert 鐨勬寚瀹氶€氳繃閰嶇疆鏂囦欢鏂瑰紡锛屽叿浣撹鍙傝 Dubbo-go 閰嶇疆璇诲彇瑙勫垯涓� TLS 绀轰緥锛�
-
-## 4 璺敱鍔熻兘澧炲己
-
-鏈璺敱鍔熻兘閲嶇偣鏀寔浜� 鍔ㄦ€佹爣绛捐矾鐢� 鍜� 搴旂敤/鏈嶅姟绾ф潯浠惰矾鐢便€�
-
-### 4.1 鍔ㄦ€佹爣绛捐矾鐢�
-
-鏍囩璺敱閫氳繃灏嗘煇涓€涓垨澶氫釜鏈嶅姟鐨勬彁渚涜€呭垝鍒嗗埌鍚屼竴涓垎缁勶紝绾︽潫娴侀噺鍙湪鎸囧畾鍒嗙粍涓祦杞紝浠庤€屽疄鐜版祦閲忛殧绂荤殑鐩殑锛屽彲浠ヤ綔涓鸿摑缁垮彂甯冦€佺伆搴﹀彂甯冪瓑鍦烘櫙鐨勮兘鍔涘熀纭€銆�
-
-鏍囩涓昏鏄寚瀵� Provider 绔簲鐢ㄥ疄渚嬬殑鍒嗙粍锛岀洰鍓嶆湁涓ょ鏂瑰紡鍙互瀹屾垚瀹炰緥鍒嗙粍锛屽垎鍒槸鍔ㄦ€佽鍒欐墦鏍囧拰闈欐€佽鍒欐墦鏍囷紝鍏朵腑鍔ㄦ€佽鍒欑浉杈冧簬闈欐€佽鍒欎紭鍏堢骇鏇撮珮锛岃€屽綋涓ょ瑙勫垯鍚屾椂瀛樺湪涓斿嚭鐜板啿绐佹椂锛屽皢浠ュ姩鎬佽鍒欎负鍑嗐€�
-
-### 4.1.1 鍔ㄦ€佽鍒欐墦鏍�
-
-鍙殢鏃跺湪鏈嶅姟娌荤悊鎺у埗鍙颁笅鍙戞爣绛惧綊缁勮鍒�
-
-```yml
-# governance-tagrouter-provider搴旂敤澧炲姞浜嗕袱涓爣绛惧垎缁則ag1鍜宼ag2
-# tag1鍖呭惈涓€涓疄渚� 127.0.0.1:20880
-# tag2鍖呭惈涓€涓疄渚� 127.0.0.1:20881
----
-  force: false
-  runtime: true
-  enabled: true
-  key: governance-tagrouter-provider
-  tags:
-    - name: tag1
-      addresses: ["127.0.0.1:20880"]
-    - name: tag2
-      addresses: ["127.0.0.1:20881"]
- ...
-```
-
-### 4.1.2 闈欐€佽鍒欐墦鏍�
-
-鍙互鍦� server 閰嶇疆鏂囦欢鐨� tag 瀛楁閲岃缃�
-
-```yml
-services:
-  "UserProvider":
-    registry: "hangzhouzk"
-    protocol: "dubbo"
-    interface: "com.ikurento.user.UserProvider"
-    loadbalance: "random"
-    warmup: "100"
-    tag: "beijing"
-    cluster: "failover"
-    methods:
-      - name: "GetUser"
-        retries: 1
-        loadbalance: "random"
-```
-
-consumer 娣诲姞 tag 鑷� attachment 鍗冲彲
-
-```go
-ctx := context.Background()
-attachment := make(map[string]string)
-attachment["dubbo.tag"] = "beijing"
-ctx = context.WithValue(ctx, constant.AttachmentKey, attachment)
-err := userProvider.GetUser(ctx, []interface{}{"A001"}, user)
-```
-
-璇锋眰鏍囩鐨勪綔鐢ㄥ煙涓烘瘡涓€娆� invocation锛屼娇鐢� attachment 鏉ヤ紶閫掕姹傛爣绛撅紝娉ㄦ剰淇濆瓨鍦� attachment 涓殑鍊煎皢浼氬湪涓€娆″畬鏁寸殑杩滅▼璋冪敤涓寔缁紶閫掞紝寰楃泭浜庤繖鏍风殑鐗规€э紝鍙渶瑕佸湪璧峰璋冪敤鏃讹紝閫氳繃涓€琛屼唬鐮佺殑璁剧疆锛岃揪鍒版爣绛剧殑鎸佺画浼犻€掋€�
-
-### 4.1.3 瑙勫垯璇﹁В
-
-鏍煎紡
-Key 鏄庣‘瑙勫垯浣撲綔鐢ㄥ埌鍝釜搴旂敤銆傚繀濉€�
-enabled=true 褰撳墠璺敱瑙勫垯鏄惁鐢熸晥锛屽彲涓嶅~锛岀己鐪佺敓鏁堛€�
-force=false 褰撹矾鐢辩粨鏋滀负绌烘椂锛屾槸鍚﹀己鍒舵墽琛岋紝濡傛灉涓嶅己鍒舵墽琛岋紝璺敱缁撴灉涓虹┖鐨勮矾鐢辫鍒欏皢鑷姩澶辨晥锛屽彲涓嶅~锛岀己鐪佷负 false銆�
-runtime=false 鏄惁鍦ㄦ瘡娆¤皟鐢ㄦ椂鎵ц璺敱瑙勫垯锛屽惁鍒欏彧鍦ㄦ彁渚涜€呭湴鍧€鍒楄〃鍙樻洿鏃堕鍏堟墽琛屽苟缂撳瓨缁撴灉锛岃皟鐢ㄦ椂鐩存帴浠庣紦瀛樹腑鑾峰彇璺敱缁撴灉銆傚鏋滅敤浜嗗弬鏁拌矾鐢憋紝蹇呴』璁句负 true锛岄渶瑕佹敞鎰忚缃細褰卞搷璋冪敤鐨勬€ц兘锛屽彲涓嶅~锛岀己鐪佷负 false銆�
-priority=1 璺敱瑙勫垯鐨勪紭鍏堢骇锛岀敤浜庢帓搴忥紝浼樺厛绾ц秺澶ц秺闈犲墠鎵ц锛屽彲涓嶅~锛岀己鐪佷负 0銆�
-tags 瀹氫箟鍏蜂綋鐨勬爣绛惧垎缁勫唴瀹癸紝鍙畾涔変换鎰� n锛坣>=1锛変釜鏍囩骞朵负姣忎釜鏍囩鎸囧畾瀹炰緥鍒楄〃銆傚繀濉�
-name锛� 鏍囩鍚嶇О
-addresses锛� 褰撳墠鏍囩鍖呭惈鐨勫疄渚嬪垪琛�
-闄嶇骇绾﹀畾
-request.tag=tag1 鏃朵紭鍏堥€夋嫨 鏍囪浜� tag=tag1 鐨� provider銆傝嫢闆嗙兢涓笉瀛樺湪涓庤姹傛爣璁板搴旂殑鏈嶅姟锛岄粯璁ゅ皢闄嶇骇璇锋眰 tag 涓虹┖鐨� provider锛涘鏋滆鏀瑰彉杩欑榛樿琛屼负锛屽嵆鎵句笉鍒板尮閰� tag1 鐨� provider 杩斿洖寮傚父锛岄渶璁剧疆 request.tag.force=true銆�
-request.tag 鏈缃椂锛屽彧浼氬尮閰� tag 涓虹┖鐨� provider銆傚嵆浣块泦缇や腑瀛樺湪鍙敤鐨勬湇鍔★紝鑻� tag 涓嶅尮閰嶄篃灏辨棤娉曡皟鐢紝杩欎笌绾﹀畾 1 涓嶅悓锛屾惡甯︽爣绛剧殑璇锋眰鍙互闄嶇骇璁块棶鍒版棤鏍囩鐨勬湇鍔★紝浣嗕笉鎼哄甫鏍囩/鎼哄甫鍏朵粬绉嶇被鏍囩鐨勮姹傛案杩滄棤娉曡闂埌鍏朵粬鏍囩鐨勬湇鍔°€�
-
-## 4.2 搴旂敤/鏈嶅姟绾ф潯浠惰矾鐢�
-
-鍙互鍦ㄨ矾鐢辫鍒欓厤缃腑閰嶇疆澶氫釜鏉′欢璺敱鍙婂叾绮掑害
-
-Sample:
-
-```yml
-# dubbo router yaml configure file
-routerRules:
-  - scope: application
-    key: BDTService
-    priority: 1
-    enable: false
-    force: true
-    conditions: ["host = 192.168.199.208 => host = 192.168.199.208 "]
-  - scope: service
-    key: com.ikurento.user.UserProvider
-    priority: 1
-    force: true
-    conditions: ["host = 192.168.199.208 => host = 192.168.199.208 "]
-```
-
-### 4.2.1 瑙勫垯璇﹁В
-
-#### 鍚勫瓧娈靛惈涔�
-
-- scope 琛ㄧず璺敱瑙勫垯鐨勪綔鐢ㄧ矑搴︼紝scope 鐨勫彇鍊间細鍐冲畾 key 鐨勫彇鍊笺€傚繀濉€�
-  - service 鏈嶅姟绮掑害
-  - application 搴旂敤绮掑害
-- Key 鏄庣‘瑙勫垯浣撲綔鐢ㄥ湪鍝釜鏈嶅姟鎴栧簲鐢ㄣ€傚繀濉€�
-  - scope=service 鏃讹紝key 鍙栧€间负[{group}/]{service}[:{version}]鐨勭粍鍚�
-  - scope=application 鏃讹紝key 鍙栧€间负 application 鍚嶇О
-- enabled=true 褰撳墠璺敱瑙勫垯鏄惁鐢熸晥锛屽彲涓嶅~锛岀己鐪佺敓鏁堛€�
-- force=false 褰撹矾鐢辩粨鏋滀负绌烘椂锛屾槸鍚﹀己鍒舵墽琛岋紝濡傛灉涓嶅己鍒舵墽琛岋紝璺敱缁撴灉涓虹┖鐨勮矾鐢辫鍒欏皢鑷姩澶辨晥锛屽彲涓嶅~锛岀己鐪佷负 false銆�
-- runtime=false 鏄惁鍦ㄦ瘡娆¤皟鐢ㄦ椂鎵ц璺敱瑙勫垯锛屽惁鍒欏彧鍦ㄦ彁渚涜€呭湴鍧€鍒楄〃鍙樻洿鏃堕鍏堟墽琛屽苟缂撳瓨缁撴灉锛岃皟鐢ㄦ椂鐩存帴浠庣紦瀛樹腑鑾峰彇璺敱缁撴灉銆傚鏋滅敤浜嗗弬鏁拌矾鐢憋紝蹇呴』璁句负 true锛岄渶瑕佹敞鎰忚缃細褰卞搷璋冪敤鐨勬€ц兘锛屽彲涓嶅~锛岀己鐪佷负 false銆�
-- priority=1 璺敱瑙勫垯鐨勪紭鍏堢骇锛岀敤浜庢帓搴忥紝浼樺厛绾ц秺澶ц秺闈犲墠鎵ц锛屽彲涓嶅~锛岀己鐪佷负 0銆�
-- conditions 瀹氫箟鍏蜂綋鐨勮矾鐢辫鍒欏唴瀹广€傚繀濉€�
-
-## 5 鍥為【涓庡睍鏈�
-
-Dubbo-go 澶勪簬涓€涓瘮杈冪ǔ瀹氭垚鐔熺殑鐘舵€併€傜洰鍓嶆柊鐗堟湰姝e浜庡線浜戝師鐢熸柟鍚戠殑灏濊瘯锛屽簲鐢ㄦ湇鍔$淮搴︽敞鍐屾槸棣栧厛鎺ㄥ嚭鐨勫姛鑳斤紝杩欐槸涓€涓拰涔嬪墠妯″瀷瀹屽叏涓嶄竴鏍风殑鏂版敞鍐屾ā鍨嬨€傝鐗堟湰鏄湞浜戝師鐢熻繄杩涙柊涓€姝ョ殑鍏抽敭鐗堟湰銆傞櫎姝や箣澶栵紝鍖呭惈鍦ㄨ鐗堟湰涔熸湁涓€浜涗箣鍓嶆彁鍒扮殑浼樺寲銆�
-
-涓嬩竴涓増鏈� v1.5.2锛屾湰娆$殑鍏虫敞閲嶇偣浠ラ€氫俊妯″瀷鏀硅繘涓轰富锛岄櫎姝や箣澶栵紝涓� 2.7.x 鐨勫吋瀹规€с€佹槗鐢ㄦ€у強璐ㄩ噺淇濊瘉涔熸槸鏈鍏虫敞鐨勪俊鎭€�
-
-鍦ㄦ湇鍔″彂鐜帮紝浼氭敮鎸佹洿鍔犲鐨勬柟寮忥紝濡傦細鏂囦欢銆丆onsul銆� 浠庤€屼娇 Dubbo-go 鍦ㄦ湇鍔″彂鐜板満鏅笅锛岃鐢ㄦ埛鏈夋洿澶氱殑閫夋嫨锛岃兘閫傚簲鏇村鐨勪釜鎬у寲鍦烘櫙銆�
-
-鍙﹀ 鏄撶敤鎬у強璐ㄩ噺淇濊瘉锛屼富瑕佸叧娉ㄧ殑鏄� samples 涓庤嚜鍔ㄥ寲鏋勫缓閮ㄥ垎銆傚彲闄嶄綆鐢ㄦ埛涓婃墜 Dubbo-go 鐨勯毦搴︼紝鎻愰珮浠g爜璐ㄩ噺銆�
-
-鐩墠涓嬩竴涓増鏈鍦ㄧ揣閿e瘑榧撶殑寮€鍙戜腑锛屽叿浣撹鍒掑強浠诲姟娓呭崟锛岄兘宸茬粡鍦� Github 涓婁綋鐜般€�
-
-鏇村淇℃伅锛歨ttps://github.com/apache/dubbo-go/releases/tag/v1.5.1
diff --git a/doc/md/interview/what's-new-in -dubbo-go-v1.5.md b/doc/md/interview/what's-new-in -dubbo-go-v1.5.md
deleted file mode 100644
index 831b07e6f3d4b34992a15d52951cc0c04b88539c..0000000000000000000000000000000000000000
--- a/doc/md/interview/what's-new-in -dubbo-go-v1.5.md	
+++ /dev/null
@@ -1,99 +0,0 @@
-# [Dubbo-go 鍙戝竷 1.5 鐗堬紝鏈濅簯鍘熺敓杩堝嚭鍏抽敭涓€姝(https://mp.weixin.qq.com/s/zqRmQ3gsdKj47cO22Dwczw)
-
-## 寮曡
-
-璁$畻鏈烘妧鏈氮娼瘡 10 骞撮兘鏈変竴娆℃妧鏈瑕嗭紝鐩稿叧鐭ヨ瘑浣撶郴鏈€杩熸瘡 5 骞撮兘浼氶潻鏂颁竴娆★紝澶ф姣忎袱骞磋船鍊间竴鍗婏紝鍦ㄥ簲鐢ㄦ湇鍔¢€氫俊妗嗘灦棰嗗煙浜︾劧銆傚嚒鏄湁闀挎湡鐢熷懡鐨勯€氫俊妗嗘灦锛屽ぇ姒傛湁 5 骞寸殑鎴愰暱鏈熷拰 5 骞寸殑绋冲畾鎴愮啛鏈熴€傛瘡涓椂浠i兘鏈夊叾鍖归厤鐨勫簲鐢ㄩ€氫俊妗嗘灦锛屽湪 20 骞村墠鐨� 2G 鏃朵唬锛屽己璺ㄨ瑷€璺ㄥ钩鍙拌€屽急鎬ц兘鐨� gRPC 鏄笉浼氳閲囩敤鐨勩€�
-
-姣忎釜閫氫俊妗嗘灦锛屼笉鍚岀殑浜轰粠涓嶅悓瑙掑害鐪嬪嚭涓嶅悓鐨勭粨璁猴細鍒濆鑰呯湅閲嶆槗鐢ㄦ槗瀛︼紝鎬ц兘娴嬭瘎鑰呮敞閲嶆€ц兘锛屽簲鐢ㄦ灦鏋勫笀鑰冭檻鍏剁淮鎶ゆ垚鏈紝鑰佹澘鍒欒€冭檻鍒欑患鍚堟垚鏈€備竴涓簲鐢ㄩ€氫俊妗嗘灦鐨勬€ц兘鍥虹劧閲嶈锛屽叾绋冲畾鎬у拰杩涘寲鑳藉姏鏇撮噸瑕侊紝寰楀埌鏈夋晥缁存姢鐨勬鏋跺彲鍦ㄩ暱鏃堕棿鍗曚綅鍐呴檷浣庡叾缁煎悎鎴愭湰锛氬涔犳垚鏈€佺淮鎶ゆ垚鏈€佸崌绾ф垚鏈拰鏇存崲鎴愭湰銆�
-
-浠€涔堟槸 Dubbo-go锛熺涓€锛屽畠鏄� Dubbo 鐨� Go 璇█鐗堟湰锛屽叏闈㈠吋瀹� Dubbo 鏄叾绗竴瑕佷箟銆傜浜岋紝瀹冩槸涓€涓� Go 璇█搴旂敤閫氫俊妗嗘灦锛屼細鍏呭垎鍒╃敤浣滀负浜戝師鐢熸椂浠g涓€璇█---Go 璇█鐨勪紭鍔匡紝鎵╁睍 dubbo 鐨勮兘鍔涖€�
-
-2008 骞磋癁鐢熺殑 Dubbo 宸叉湁鍗佸骞村巻鍙诧紝渚濋潬闃块噷鍜屽叾绀惧尯锛屽巻涔呭讥鏂般€�2016 骞村彂甯冪殑 Dubbo-go 涔熷凡杩涘叆绗簲涓勾澶达紝濡備粖鍏ㄩ潰鍏煎 Dubbo v2.7.x 鐨� Dubbo-go v1.5 缁堜簬鍙戝竷浜嗐€�
-
-鍥為杩囧線锛孌ubbo-go 宸茬粡鍏峰濡備笅鑳藉姏锛�
-
-- 浜掕仈浜掗€氾細鎵撻€氫簡 gRPC 鍜� Spring Cloud 鐢熸€侊紱
-
-- 鍙娴嬫€э細鍩轰簬 OpenTracing 鍜� Prometheus锛屼娇寰楀叾鍦� Logging銆乀racing 鍜� Metrics 鏂归潰鏈変簡闀胯冻杩涙锛�
-
-- 浜戝師鐢燂細Dubbo-go 瀹炵幇浜嗗熀浜� Kubernetes API Server 涓烘敞鍐屼腑蹇冪殑閫氫俊鑳藉姏锛屽仛鍒颁簡鍗囩骇鎴愭湰鏈€浣庛€�
-
-姣嬪焊璁宠█锛岀浉杈冧簬鐜版湁鎴愮哗锛屽彂灞曢樁娈电殑 Dubbo-go 瀵规湭鏉ユ湁鏇村鐨勬湡寰呬箣澶勶細
-
-- 鏄撶敤鎬э細Dubbo-go 鐨勫叆闂ㄦ垚鏈苟涓嶄綆锛屾妸寰堝鎰熷叴瓒h€呮尅鍦ㄤ簡闂ㄥ銆備絾濂芥秷鎭槸锛岄殢鐫€ Dubbo-go 鍦ㄩ樋閲屽唴閮ㄧ殑閫愭鎺ㄥ紑锛岄樋閲屼腑闂翠欢鍥㈤槦瀵瑰叾杩涜浜嗚繘涓€姝ョ殑灏佽锛岀粡鐢熶骇鐜妫€楠屽悗浼氬紑鏀剧粰绀惧尯浣跨敤銆�
-
-- 浜戝師鐢燂細鐩墠鐨� Dubbo-go 鐨勫熀浜� kubernetes 鐨勬柟妗堬紝浠庢妧鏈垎灞傝搴︽潵鐪嬶紝 Kubernetes API Server 缁堢┒鏄郴缁熺殑杩愮淮鎬佺粍浠讹紝涓嶅簲璇ユ毚闇茬粰搴旂敤灞傦紝鍚﹀垯浼氶€犳垚 APIServer 鑷韩閫氫俊鍘嬪姏杩囧ぇ锛屼笖绯荤粺鏁翠綋椋庨櫓寰堥珮锛氬簲鐢ㄥ眰浣跨敤涓嶅綋锛屾垨鑰呮鏋惰嚜韬殑娴侀噺鏂归潰鐨� bug锛屽彲鑳戒細鎶� APiServer 鎵撳灝锛屽悗鏋滃氨鏄€犳垚鏁翠綋鍚庣鏈嶅姟鑳藉姏鐨勭槴鐥紒鎵€浠ュ簲鐢ㄥ眰闇€瑕佹劅鐭ョ殑鏄� kubernetes 鎻愪緵缁欏簲鐢ㄥ眰鐨� Operator锛屼笉鏂繘鍖栫殑 Dubbo-go 璁″垝鍦� v1.6 鐗堟湰涓彂甯� Dubbo-go Operator銆�
-
-闆勫叧婕亾鐪熷閾侊紝鑰屼粖杩堟浠庡ご瓒娿€侱ubbo-go 绀惧尯銆愰拤閽夌兢 23331795銆戜笌 Dubbo-go 鍚屽湪銆�
-
-## 搴旂敤缁村害娉ㄥ唽妯″瀷
-
-缁忚繃涓€娈垫椂闂寸殑鍔姏涔嬪悗锛屾垜浠粓浜庡畬鎴愪簡搴旂敤缁村害鐨勬湇鍔℃敞鍐屼笌鍙戠幇銆傚拰鍘熸湰宸叉湁鐨勬帴鍙g淮搴︾殑娉ㄥ唽妯″瀷姣旇捣鏉ワ紝鏂扮殑娉ㄥ唽妯″瀷鏈変袱涓獊鍑虹壒鐐癸細
-
-- 1.鍜屼富娴佺殑娉ㄥ唽妯″瀷淇濇寔涓€鑷淬€傜洰鍓嶇殑涓绘祦鍋氭硶閮芥槸鎸夌収搴旂敤涓哄熀鏈崟浣嶆潵杩涜娉ㄥ唽鐨勶紝濡� Spring Cloud銆傚湪鏀寔搴旂敤缁村害娉ㄥ唽涔嬪悗锛屽浜庢帴涓嬫潵鐨勪簯鍘熺敓鏀寔锛屽瀹氫簡鍩虹锛�
-
-- 2.澶у箙搴﹀噺杞诲娉ㄥ唽涓績鐨勫帇鍔涖€傚湪璇ユā鍨嬩箣涓嬶紝浠庢敞鍐屼腑蹇冪殑瑙嗚鐪嬭繃鍘伙紝闆嗙兢瑙勬ā鍙拰瀹炰緥鏁伴噺鎴愭姣旓紝鑰屼笉鏄幇鏈夌殑鍜屾湇鍔℃暟閲忔垚姝f瘮锛�
-
-褰撶劧锛屾垜浠湪璁捐鐨勬椂鍊欏氨鑰冭檻鍒颁簡鐢ㄦ埛鐨勮縼绉绘垚鏈€傝杩佺Щ鍒版柊鐨勬敞鍐屾ā鍨嬶紝鍙渶瑕佸皢鐜版湁浣跨敤鐨勬敞鍐屼腑蹇冩崲鎴愭柊鐨� `ServiceDiscoveryRegistry` 灏卞彲浠ャ€�
-
-ServiceDiscoveryRegistry 鏄敮鎸佸绉嶅疄鐜扮殑銆傜洰鍓嶆潵璇达紝鎴戜滑鏀寔锛�
-
-- nacos;
-
-- etcd;
-
-- zookeeper;
-
-鎴戜滑鎻愬€℃柊涓婄嚎鐨勪笟鍔″敖閲忎娇鐢� nacos 鍜� etcd 杩欑鏇村彲闈犵ǔ瀹氱殑娉ㄥ唽涓績銆�
-
-## Metadata Report 鍏冩暟鎹腑蹇�
-
-v1.5 鐗堟湰鍦ㄦ敮鎸佸簲鐢ㄧ淮搴︽敞鍐屾ā鍨嬫椂锛屾湁寰堥噸瑕佺殑涓€涓棶棰橀渶瑕佽В鍐筹紝鍗虫帴鍙g淮搴︾殑鍏冩暟鎹瓨鍌ㄣ€傛湇鍔$淮搴︾殑娉ㄥ唽妯″瀷鍜屽簲鐢ㄧ淮搴︾殑娉ㄥ唽妯″瀷锛屾湰璐ㄧ殑鍖哄埆鏄線娉ㄥ唽涓績娉ㄥ唽鐨勬暟鎹淮搴︾殑涓嶄竴鑷淬€傝櫧鐒舵垜浠湪搴旂敤缁村害娉ㄥ唽妯″瀷涓紝灏嗘帴鍙g淮搴︾殑鏁版嵁浠庢敞鍐屼腑蹇冧腑鍓旈櫎浜嗭紝浣嗘槸鍦� rpc 鐨勬鏋朵腑锛屼竴涓� consumer 瑕佹兂鐪熸鎵惧埌鎯宠璋冪敤鐨勬湇鍔″湴鍧€锛屽氨蹇呴』寰楀埌 provider 绔紑鏀剧殑鏈嶅姟淇℃伅銆傝繖閮ㄥ垎鏁版嵁锛屽湪 v1.5 鐗堟湰涓紝鎴戜滑灏嗗畠浠瓨鍌ㄥ埌浜嗗厓鏁版嵁涓績涓€�
-
-鍏冩暟鎹腑蹇冿紝鏄竴涓帴鍙e畾涔夈€傛硾鎸囦竴鍧楀瓨鍌ㄥ尯鍩燂紝鍙互瀵规帴鍙g骇鍒殑鍏冩暟鎹繘琛屽瓨鍌ㄣ€佽鍙栵紝provider 绔皟鐢ㄥ瓨鍌紝consumer 绔皟鐢ㄨ鍙栥€傚厓鏁版嵁涓績涓殑鏁版嵁闇€瑕佷繚鎸佸噯纭€с€佸疄鏃舵€с€�
-
-鐩墠鍏冩暟鎹腑蹇冿紝鏈変袱涓埗绫伙紙Go 涓病鏈夌户鎵匡紝姝ゅ璇寸殑鐖跺瓙绫伙紝鍗曠函鎸囧瓙绫诲鐖剁被鐨勭粍鍚堝叧绯伙級瀹炵幇锛屼竴涓槸 local 瀹炵幇锛屼竴涓槸 remote 瀹炵幇銆俵ocal 瀹炵幇鏄皢 provider 鐨勫唴瀛樹綔涓鸿櫄鎷熷厓鏁版嵁涓績锛宺emote 瀹炵幇鏄寚渚濊禆 ZooKeeper銆乪tcd銆乶acos 绛夋敞鍐屼腑蹇冧綔涓哄厓鏁版嵁涓績銆傜洰鍓� remote 鏈� zookeeper銆乶acos銆乪tcd 鍜� consul 鐨勫瓙绫诲疄鐜般€傚嵆鐢ㄦ埛鍙互灏嗗厓鏁版嵁淇℃伅锛岄€氳繃浠ヤ笂鐨勭涓夋柟娉ㄥ唽涓績杩涜鏁版嵁瀛樺偍鍜屽垎鍙戙€�
-
-## Invocation 鎺ュ彛鏀寔 attribute 灞炴€�
-
-invocation 缁撴瀯涓柊澧� attribute 灞炴€ф敮鎸侊紝鐢ㄤ簬娴佺▼鍐呴儴鐨勫睘鎬у瓨鍌ㄣ€傚拰 attachment 涓嶅悓鐐瑰湪浜庯紝attachment 浼氫粠 consumer 浼犻€掑埌 provider锛屼絾 attribute 灞炴€т笉浼氥€�
-
-## k8s 娉ㄥ唽涓績
-
-鍦� v1.5 鐗堟湰涔嬪墠锛宬8s 娉ㄥ唽涓績鐨勫疄鐜版槸閫氳繃鐩存帴浣跨敤 k8s client 涓� Pod 瀵硅薄鐨� List&&Watch 鎺ュ彛銆傚湪鏈杩唬涓紩鍏ヤ簡 k8s informer銆傝繖鏍峰仛鐨勫師鍥犲湪浜庝袱鐐癸紝棣栧厛涓€瀹氱殑绋嬪害涓婃潵璁� dubbo-go 鐨� k8s 娉ㄥ唽涓績涔熸槸涓€涓� k8s controller锛屼娇鐢� informer 鐨勬ā寮忔洿鍔� k8s native銆傛洿閲嶈鐨勬槸绀惧尯璁″垝鍚庣画鍚� CRD+Operator 鐨勬ā寮忔紨杩涳紝informer 妯″紡鏄鍚庣画鐨勬紨杩涚殑鎺㈢储銆傞櫎浜嗚繖涓摵鍨箣澶栵紝鏈杩唬杩樺璺� namespace 鐨勬湇鍔″彂鐜板仛浜嗘敮鎸併€傚啀鏈夊氨鏄负浜嗗噺灏戝 kube-apiserver List&&Watch 鐨勫帇鍔涳紝瀵� provider 鍜� consumer 鐨勮涓鸿繘琛屼簡鍖哄垎锛宲rovider 涓嶅啀杩涜 Watch 鑰屼粎瀵� kube-apiserver 杩涜鍐欐搷浣溿€�
-
-## 浼樺寲璺敱妯″瀷
-
-鍦� 1.5 鐗堟湰涔嬪墠锛孯outer 妯″瀷涓睘鎬ф槸鍖呭惈锛氫紭鍏堢骇涓庤矾鐢卞睘鎬э紝Router Chain 鍙寘鍚矾鐢卞睘鎬с€備粠涓兘璇嗗埆鍑哄叾瀹� Router Chain 涔熸槸涓€绉嶇壒娈� Router銆�1.5 鐗堟湰涔嬪悗锛屼娇 Router 鏇存娊璞★紝鍒嗙鍑哄叾浼樺厛绾у睘鎬э紝鏂板 Priority Router銆丆hain 缁ф壙 Router 浣垮叾鍙樹负鐗规畩鐨� Router锛屼娇鍏崇郴涓婄湅璧锋潵鏇村姞娓呮櫚銆傚涓嬪浘锛�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.5-1.png)
-
-## 鍥為【涓庡睍鏈�
-
-Dubbo-go 澶勪簬涓€涓瘮杈冪ǔ瀹氭垚鐔熺殑鐘舵€併€傜洰鍓嶆柊鐗堟湰姝e浜庡線浜戝師鐢熸柟鍚戠殑灏濊瘯锛屽簲鐢ㄦ湇鍔$淮搴︽敞鍐屾槸棣栧厛鎺ㄥ嚭鐨勫姛鑳斤紝杩欐槸涓€涓拰涔嬪墠妯″瀷瀹屽叏涓嶄竴鏍风殑鏂版敞鍐屾ā鍨嬨€傝鐗堟湰鏄垜浠湞浜戝師鐢熻繄杩涙柊涓€姝ョ殑鍏抽敭鐗堟湰銆傞櫎姝や箣澶栵紝鍖呭惈鍦ㄨ鐗堟湰涔熸湁涓€浜涗箣鍓嶆彁鍒扮殑浼樺寲銆�
-
-涓嬩竴涓増鏈� v1.5.1锛岃櫧鐒朵粛鏄互鍏煎 Dubbo 2.7.x 涓轰富瑕佷换鍔★紝浣嗗湪鍒嗗竷寮忚兘鍔涚殑澧炲己涓婏紝涔熸槸鎴戜滑鍏虫敞鐨勯噸鐐广€�
-
-鍦ㄥ垎甯冨紡浜嬪姟鏂归潰锛屾湁涓€涓噸瑕佺殑鍩轰簬 Seata 鎵╁睍瀹炵幇銆傞€氳繃澧炲姞杩囨护鍣紝鍦ㄦ湇鍔$鎺ユ敹 xid 骞剁粨鍚� seata-golang[2] 杈惧埌鏀寔鍒嗗竷寮忎簨鍔$殑鐩殑銆� 浠庤€屼娇 Dubbo-go 鍦ㄥ垎甯冨紡鍦烘櫙涓嬶紝璁╃敤鎴锋湁鏇村鐨勯€夋嫨锛岃兘閫傚簲鏇村鐨勪釜鎬у寲鍦烘櫙銆�
-
-涓庢鍚屾椂锛屽湪浼犺緭閾捐矾瀹夊叏鎬т笂锛孴LS 瀹夊叏浼犺緭閾捐矾鏄鐗堟湰閲嶈鍔熻兘涔嬩竴銆傞€氳繃鎻愪緵缁熶竴鍏ュ彛锛屾湭鏉ヨ兘寮曞叆鏇村鐨勪笌浼犺緭閾捐矾瀹夊叏鎬х浉鍏崇殑鍔熻兘锛岄€傚簲鐢ㄦ埛涓嶄竴鏍风殑浣跨敤鍦烘櫙銆�
-
-娉ㄥ唽涓績妯″瀷涓婏紝鏀寔澶氭敞鍐屼腑蹇冮泦缇よ礋杞藉潎琛°€備笟鍔¢儴缃插亣璁炬槸鍙屾敞鍐屼腑蹇冿紙鍥� 1 锛夛紝浠庡師鏉ュ弻娉ㄥ唽涓績涓墍鏈� Provider 涓€璧烽€夊潃銆備紭鍖栨垚閫夊潃鏃剁殑澶氫簡涓€灞傛敞鍐屼腑蹇冮泦缇ら棿鐨勮礋杞藉潎琛★紙鍥� 2 锛夈€�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.5-2.png)
-
-锛堝浘 1 锛�
-
-![](../../pic/interview/what's-new-in-dubbo-go-v1.5-3.png)
-
-锛堝浘 2 锛�
-
-浠ュ墠鐨� dubbo-go RPC 灞傜洿鎺ュ鐢ㄤ簡 getty 妗嗘灦 鐨� RPC[3]锛屾湭鑳藉疄鐜板崗璁拰搴旂敤閫氫俊鍦板潃鐨勯殧绂汇€傞樋閲屼腑闂翠欢灞曞浘鍚屽閲嶆瀯浜� dubbo-go RPC 灞傦紝瀹炵幇浜嗚繛鎺ュ鐢細鍙互瀹炵幇 consumer 涓� provider 绔殑鍚屼竴涓� TCP 杩炴帴涓婅繘琛屽鍗忚閫氫俊銆傜浉鍏� PR 涓氬凡鍚堝苟锛屼細鍦� dubbo-go v1.5.1 涓彂甯冦€�
-
-鐩墠涓嬩竴涓増鏈鍦ㄧ揣閿e瘑榧撶殑寮€鍙戜腑锛屽叿浣撹鍒掑強浠诲姟娓呭崟[1] 锛岄兘宸茬粡鍦� Github 涓婁綋鐜般€�
-
-[1] : https://github.com/apache/dubbo-go/projects/8
-
-[2] : https://github.com/seata-golang/seata-golang
-
-[3]: https://github.com/AlexStocks/getty/tree/master/rpc
diff --git a/doc/md/practice/dubbo-go-experience.md b/doc/md/practice/dubbo-go-experience.md
deleted file mode 100644
index 5ee1d6db53dff6445ab6a287b09159540f64434a..0000000000000000000000000000000000000000
--- a/doc/md/practice/dubbo-go-experience.md
+++ /dev/null
@@ -1,199 +0,0 @@
-# [dubbo-go 韪╁潙璁癩(https://dubbogo.github.io/dubbo-go-website/zh-cn/blog/dubbo-go-experience.html)
-
-## 鎵贰
-
-### 鍓嶅皹
-
-鐢变簬鎴戠殑涓€涓」鐩渶瑕佸仛鍏徃鐢ㄦ埛閴存潈锛岃€岀粍鍐呭叾浠栧皬浼欎即鍒氬ソ鏈変竴涓� _dubbo_ 鐨勯壌鏉� _rpc_ 锛屼竴寮€濮嬫垜鏄墦绠楃洿鎺ョ殑璇� _redis_ 鏁版嵁鐒跺悗鑷繁鍋氳В瀵嗐€傚伐浣滆繘琛屽埌涓€鍗婏紝鐢变簬鑰冭檻鍒板鏋滀互鍚庤繖涓湇鍔℃湁浠讳綍鍙樺姩锛屾垜杩欒竟瑕佹湁鑱斿姩琛屼负锛屾墍浠ユ敼鐢� _go_ 鏉ヨ皟鐢� _dubbo_ 鐨� _rpc_ 锛屼簬鏄垜鍦� _github_ 涓婃壘鍒颁簡 [闆ㄧ](https://github.com/AlexStocks) 鐨� [dubbogo](https://github.com/AlexStocks/dubbogo) (PS: 杩欎釜鏄� _dubbo-go_ 鍓嶈韩)銆備笉寰椾笉璇达紝闆ㄧ鏄儹蹇冪殑浜哄効鍟婏紝褰撴椂杩樺府鐫€鎴戣皟璇曚唬鐮併€傛渶鍚庝篃鏄帴鍏ヤ簡涓€涓槈鍓茬増鐨勫惂锛屼富瑕佹槸褰撴椂 _hessian2_ 瀵规硾鍨嬫敮鎸佺殑涓嶆€庝箞濂姐€�
-
-### 鐜板湪
-
-鐩墠 [dubbo-go](https://github.com/apache/dubbo-go)闅跺睘浜� _apache_ 绀惧尯锛岀浉姣斾互鍓嶅仛浜嗛儴鍒嗛噸鏋勶紝骞朵笖缁存姢涔熷緢娲昏穬浜嗐€�
-
-## 鎺ュ叆
-
-### 闂
-
-鐩墠鏁翠釜椤圭洰鍦ㄥ揩閫熺殑杩唬涓紝寰堝鍔熻兘杩樻病鏈夊畬鍠勶紝缁存姢浜哄憳杩樻病鏈夋椂闂存潵瀹屽杽鏂囨。锛屾墍浠ュ湪鎺ュ叆鐨勬椂鍊欒鑷繁鐪嬫簮鐮佹垨璋冭瘯銆�
-
-### 璇存槑
-
-鐩墠鎴戝徃鍦ㄤ娇鐢� _dubbo_ 鐨勮繃绋嬩娇鐢ㄧ殑 _zookeeper_ 浣滀负娉ㄥ唽涓績锛屽簭鍒楀寲鏄� _hessian2_ 锛屾墍浠ユ垜浠鍋氬涓嬪垵濮嬪寲锛�
-
-```go
-  import (
-      _ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-      _ "github.com/apache/dubbo-go/registry/protocol"
-
-      _ "github.com/apache/dubbo-go/filter/impl"
-
-      _ "github.com/apache/dubbo-go/cluster/cluster_impl"
-      _ "github.com/apache/dubbo-go/cluster/loadbalance"
-      _ "github.com/apache/dubbo-go/registry/zookeeper"
-  )
-```
-
-### 閰嶇疆
-
-鐢变簬鎴戞槸鎺ュ叆瀹㈡埛绔紝鎵€浠ユ垜杩欒竟鍙厤缃簡 _ConsumerConfig_ 銆�
-
-```yaml
-dubbo:
-    # client
-    request_timeout: "3s"
-    # connect timeout
-    connect_timeout: "3s"
-    check: true
-    application:
-        organization: "dfire.com"
-        name: "soa.sso.ITokenService"
-        module: "dubbogo token service client"
-        version: "1.0.0"
-        owner: "congbai"
-    registries:
-        "hangzhouzk":
-            protocol: "zookeeper"
-            timeout: "3s"
-            address: "zk1.2dfire-daily.com:2181"
-            username: ""
-            password: ""
-    references:
-        "ITokenService":
-            registry: "hangzhouzk"
-            protocol: "dubbo"
-            interface: "com.dfire.soa.sso.ITokenService"
-            version: "1.0.0"
-            methods:
-                - name: "validate"
-            retries: "3"
-```
-
-鎴戣繖閲屾槸鎶� _dubbo-go_ 浣滀负绗笁鏂瑰簱鏉ョ敤锛屾墍浠ユ垜娌′娇鐢ㄥ畼鏂� [dubbo-samples](https://github.com/dubbogo/dubbo-samples/golang) 閭f牱鍦� _init_ 鍑芥暟涓鍏ラ厤缃€�
-
-閰嶇疆浠g爜濡備笅锛�
-
-```go
-  import (
-      "github.com/apache/dubbo-go/config"
-      "github.com/apache/dubbo-go/protocol/dubbo"
-  )
-
-  type DubboCli struct {
-  }
-
-  func NewCli(cconf config.ConsumerConfig) *DubboCli {
-      config.SetConsumerConfig(cconf)
-
-      dubbo.SetClientConf(dubbo.GetDefaultClientConfig())
-
-      config.Load()
-
-      return &DubboCli{}
-  }
-```
-
-### 鎺ュ叆
-
-濂戒簡锛岄厤缃姞杞藉畬灏辫鏄庢垜浠殑鍑嗗宸ヤ綔宸茬粡鍋氬ソ浜嗭紝鎺ヤ笅鏉ュ氨瑕佹帴鍏� _rpc_ 鎺ュ彛浜嗐€�
-
-#### 杩斿洖鍊�
-
-涓€鑸� _rpc_ 璋冪敤鐨勮繑鍥炲€奸兘鏄嚜瀹氫箟鐨勶紝鎵€浠ユ垜浠篃瑕佸憡璇� _dubbo-go_ 闀夸粈涔堟牱瀛愩€傝繖涓粨鏋勪綋瑕佽窡 _java_ 鐨勭被瀵瑰簲璧锋潵锛岃繖閲屾垜浠槸瑕佸疄鐜� _hessian2_ 鐨� _interface_ :
-
-```go
-// POJO interface
-// !!! Pls attention that Every field name should be upper case.
-// Otherwise the app may panic.
-type POJO interface {
-	JavaClassName() string // got a go struct's Java Class package name which should be a POJO class.
-}
-```
-
-鎴戠殑瀹炵幇濡備笅锛�
-
-```go
-type Result struct {
-	Model       interface{}   `json:"model,omitempty"`
-	Models      []interface{} `json:"models,omitempty"`
-	ResultCode  string        `json:"resultCode"`
-	Success     bool          `json:"success"`
-	Message     string        `json:"message"`
-	TotalRecord int           `json:"totalRecord"`
-}
-
-func (r Result) JavaClassName() string {
-	return "com.twodfire.share.result.ResultSupport"
-}
-```
-
-杩欓噷鐨� _JavaClassName_ 鎺ュ彛鐨勬剰涔夊氨濡傚嚱鏁扮鍚嶄竴鏍凤紝杩斿洖鐨勫氨鏄� _java_ 鐨勭被鍚嶃€�
-
-#### 鎺ュ彛
-
-瑕佹兂璋冪敤 _dubbo_ 鐨勬帴鍙e氨蹇呴』瀹炵幇涓嬮潰杩欎釜 _interface_
-
-```go
-// rpc service interface
-type RPCService interface {
-	Reference() string // rpc service id or reference id
-}
-```
-
-鎵€浠ユ垜闇€瑕佹瀯閫犱竴涓� _struct_ 鏉ュ仛杩欎釜浜嬫儏锛屾瘮濡傦細
-
-```go
-type ITokenService struct {
-	Validate func(ctx context.Context, req []interface{}, resp *Result) error `dubbo:"validate"`
-}
-
-func (i *ITokenService) Reference() string {
-	return "ITokenService"
-}
-```
-
-杩欎釜缁撴瀯浣撲竴鑸槸涓嶄細鏈変粈涔堟暟鎹垚鍛樸€�
-
-杩欓噷鎴戜滑娉ㄦ剰鍒� _Validate_ 鍑芥暟澹版槑鍚庨潰璺熺殑 _dubbo tag_ 锛岃繖涓槸涓哄鏋� _rpc_ 鍚嶇О鐨勯瀛楁瘝鏄皬鍐欙紙姣斿鎴戣璋冪敤鐨� _dubbo_ 鎺ュ彛灏辨槸 _validate_ )鍑嗗鐨� _MethodMapper_ 锛岀被浼间簬 _json_ 鐨勬槧灏� _tag_ 鍔熸晥銆備竴寮€濮嬫垜灏辨槸閬囧埌杩欎釜鍧戯紝鎴戞寜瀹樻柟鐨勪緥瀛愬疄鐜帮紝鏃ュ織涓€鐩磋鎵句笉鍒版帴鍙o紝鍚庢潵鎴戜篃鍦ㄥ畼鏂圭兢閲岃闂ぇ浣墠鐭ラ亾鏈夎繖涓姛鑳姐€�
-
-#### 娉ㄥ唽
-
-濂戒簡锛屼笂闈㈢殑鍑嗗鍏ㄩ儴瀹屾垚鍚庯紝鎴戜滑瑕佸仛鏈€鍚庝竴姝ワ紝閭e氨鏄憡璇� _dubbo-go_ 鎴戜滑鎯宠鐨勬槸浠€涔堛€備唬鐮佸涓嬶細
-
-```go
-  import (
-      hessian "github.com/apache/dubbo-go-hessian2"
-      "github.com/apache/dubbo-go/config"
-  )
-
-  var tokenProvider = new(ITokenService)
-
-  func init() {
-      config.SetConsumerService(tokenProvider)
-      hessian.RegisterPOJO(&Result{})
-  }
-```
-
-#### 璋冪敤
-
-鎺ヤ笅鏉ユ垜浠氨鍙互瀹屾垚鎴戜滑鐨� _DubboCli_ 鎺ュ彛浜嗭紝浠g爜濡備笅锛�
-
-```go
-func (d *DubboCli) CheckUser(token, app string) (bool, error) {
-	args := []interface{}{token, app}
-	resp := &Result{}
-
-	if err := tokenProvider.Validate(context.Background(), args, resp); err != nil {
-		return false, err
-	}
-	if resp.Success {
-		return resp.Success, nil
-	}
-	return resp.Success, errors.New(resp.Message)
-}
-```
-
-濂戒簡锛岃嚦姝ゆ垜浠氨瀹屾垚浜� _dubbo-go_ 鐨勫叏閮ㄦ帴鍏ュ伐浣溿€� Happy Coding...
-
-## 鍐欏湪鏈€鍚�
-
-鍏跺疄浠g爜鏍煎紡杩欎釜闂锛屾垜鍦ㄦ帴鍏ョ殑鏃跺€欒窡瀹樻柟缇ら噷鐨勭淮鎶よ€呭ぇ浣彁杩囷紝浣跨敤 _go_ 瀹樻柟鐨勪唬鐮佹牸寮忓伐鍏� [goimports](https://github.com/golang/tools/tree/master/cmd/goimports) 鏉ョ粺涓€浠g爜鏍煎紡锛岃繖 鏍峰浜庣淮鎶よ€呬互澶栫殑浜烘彁 _PR_ 涔熸槸鏈夊埄銆傛垜鍦ㄦ帴鍏ョ殑杩囩▼涓亣鍒颁竴涓� _bug_ 锛屾垜鍙嶉缁欓洦绁烇紝浠栧氨璁╂垜鎻愪簡涓� _PR_ 锛屽湪鏁翠釜杩囩▼灏辨槸杩欎釜 浠g爜鏍煎紡鐨勯棶棰橈紝瀵艰嚧鎴戝弽澶嶇殑淇敼浠g爜銆�
\ No newline at end of file
diff --git a/doc/md/practice/dubbo-go-quick-start.md b/doc/md/practice/dubbo-go-quick-start.md
deleted file mode 100644
index 69482f7d05e07baf28533d01c19ca5e11105c935..0000000000000000000000000000000000000000
--- a/doc/md/practice/dubbo-go-quick-start.md
+++ /dev/null
@@ -1,197 +0,0 @@
-# [蹇€熷紑濮媇(https://dubbogo.github.io/dubbo-go-website/zh-cn/docs/user/quick-start.html)
-
-閫氳繃涓€涓� `hellowworld` 渚嬪瓙甯﹂澶у蹇€熶笂鎵婦ubbo-go妗嗘灦銆�
-
-鍗忚锛欴ubbo  
-缂栫爜锛欻essian2  
-娉ㄥ唽涓績锛歓ookeeper
-
-## 鐜
-
-*   Go缂栫▼鐜
-*   鍚姩zookeeper鏈嶅姟锛屼篃鍙互浣跨敤杩滅▼瀹炰緥
-
-## 浠庢湇鍔$寮€濮�
-
-### 绗竴姝ワ細缂栧啓 `Provider` 缁撴瀯浣撳拰鎻愪緵鏈嶅姟鐨勬柟娉�
-
-> [https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/user.go](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/user.go)
-
-1.  缂栧啓闇€瑕佽缂栫爜鐨勭粨鏋勪綋锛岀敱浜庝娇鐢� `Hessian2` 浣滀负缂栫爜鍗忚锛宍User` 闇€瑕佸疄鐜� `JavaClassName` 鏂规硶锛屽畠鐨勮繑鍥炲€煎湪dubbo涓搴擴ser绫荤殑绫诲悕銆�
-
-```go
-type User struct {
-	Id   string
-	Name string
-	Age  int32
-	Time time.Time
-}
-
-func (u User) JavaClassName() string {
-	return "com.ikurento.user.User"
-}
-```
-
-2.  缂栧啓涓氬姟閫昏緫锛宍UserProvider` 鐩稿綋浜巇ubbo涓殑涓€涓湇鍔″疄鐜般€傞渶瑕佸疄鐜� `Reference` 鏂规硶锛岃繑鍥炲€兼槸杩欎釜鏈嶅姟鐨勫敮涓€鏍囪瘑锛屽搴攄ubbo鐨� `beans` 鍜� `path` 瀛楁銆�
-
-```go
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
-	println("req:%#v", req)
-	rsp := User{"A001", "hellowworld", 18, time.Now()}
-	println("rsp:%#v", rsp)
-	return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
-	return "UserProvider"
-}
-```
-
-3.  娉ㄥ唽鏈嶅姟鍜屽璞�
-
-```go
-func init() {
-	config.SetProviderService(new(UserProvider))
-	// ------for hessian2------
-	hessian.RegisterPOJO(&User{})
-}
-```
-
-### 绗簩姝ワ細缂栧啓涓荤▼搴�
-
-> [https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/server.go](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/app/server.go)
-
-1.  寮曞叆蹇呴渶鐨刣ubbo-go鍖�
-
-```go
-import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/registry/protocol"
-	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-	_ "github.com/apache/dubbo-go/filter/impl"
-	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
-	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/protocol/dubbo"
-)
-```
-
-2.  main 鍑芥暟
-
-```go
-func main() {
-	config.Load()
-}
-```
-
-### 绗笁姝ワ細缂栧啓閰嶇疆鏂囦欢骞堕厤缃幆澧冨彉閲�
-
-1.  鍙傝€� [log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/profiles/release/log.yml) 鍜� [server](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-server/profiles/release/server.yml) 缂栬緫閰嶇疆鏂囦欢銆�
-
-涓昏缂栬緫浠ヤ笅閮ㄥ垎锛�
-
-*   `registries` 缁撶偣涓嬮渶瑕侀厤缃畓k鐨勬暟閲忓拰鍦板潃
-    
-*   `services` 缁撶偣涓嬮厤缃湇鍔$殑鍏蜂綋淇℃伅锛岄渶瑕侀厤缃� `interface` 閰嶇疆锛屼慨鏀逛负瀵瑰簲鏈嶅姟鐨勬帴鍙e悕锛屾湇鍔$殑key瀵瑰簲绗竴姝ヤ腑 `Provider` 鐨� `Reference` 杩斿洖鍊�
-    
-
-2.  鎶婁笂闈㈢殑涓や釜閰嶇疆鏂囦欢鍒嗗埆閰嶇疆涓虹幆澧冨彉閲�
-
-```shell
-export CONF_PROVIDER_FILE_PATH="xxx"
-export APP_LOG_CONF_FILE="xxx"
-```
-
-## 鎺ョ潃鏄鎴风
-
-### 绗竴姝ワ細缂栧啓瀹㈡埛绔� `Provider`
-
-> [https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/user.go](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/user.go)
-
-1.  鍙傝€冩湇鍔$绗竴姝ョ殑绗竴鐐广€�
-    
-2.  涓庢湇鍔$涓嶅悓鐨勬槸锛屾彁渚涙湇鍔$殑鏂规硶浣滀负缁撴瀯浣撶殑鍙傛暟锛屼笉闇€瑕佺紪鍐欏叿浣撲笟鍔¢€昏緫銆傚彟澶栵紝`Provider` 涓嶅搴攄ubbo涓殑鎺ュ彛锛岃€屾槸瀵瑰簲涓€涓疄鐜般€�
-    
-
-```go
-type UserProvider struct {
-	GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
-	return "UserProvider"
-}
-```
-
-3.  娉ㄥ唽鏈嶅姟鍜屽璞�
-
-```go
-func init() {
-	config.SetConsumerService(userProvider)
-	hessian.RegisterPOJO(&User{})
-}
-```
-
-### 绗簩姝ワ細缂栧啓瀹㈡埛绔富绋嬪簭
-
-> [https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/client.go](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/app/client.go)
-
-1.  寮曞叆蹇呴渶鐨刣ubbo-go鍖�
-
-```go
-import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/registry/protocol"
-	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-	_ "github.com/apache/dubbo-go/filter/impl"
-	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
-	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-
-	_ "github.com/apache/dubbo-go/protocol/dubbo"
-)
-```
-
-2.  main 鍑芥暟
-
-```go
-func main() {
-	config.Load()
-	time.Sleep(3e9)
-
-	println("\n\n\nstart to test dubbo")
-	user := &User{}
-	err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
-	if err != nil {
-		panic(err)
-	}
-	println("response result: %v\n", user)
-}
-func println(format string, args ...interface{}) {
-	fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...)
-}
-```
-
-### 绗笁姝ワ細缂栧啓閰嶇疆鏂囦欢骞堕厤缃幆澧冨彉閲�
-
-1.  鍙傝€� [log](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/log.yml) 鍜� [client](https://github.com/dubbogo/dubbo-samples/blob/master/golang/helloworld/dubbo/go-client/profiles/release/client.yml) 缂栬緫閰嶇疆鏂囦欢銆�
-
-涓昏缂栬緫浠ヤ笅閮ㄥ垎锛�
-
-*   `registries` 缁撶偣涓嬮渶瑕侀厤缃畓k鐨勬暟閲忓拰鍦板潃
-    
-*   `references` 缁撶偣涓嬮厤缃湇鍔$殑鍏蜂綋淇℃伅锛岄渶瑕侀厤缃� `interface` 閰嶇疆锛屼慨鏀逛负瀵瑰簲鏈嶅姟鐨勬帴鍙e悕锛屾湇鍔$殑key瀵瑰簲绗竴姝ヤ腑 `Provider` 鐨� `Reference` 杩斿洖鍊�
-    
-
-2.  鎶婁笂闈㈢殑涓や釜閰嶇疆鏂囦欢璐瑰埆閰嶇疆涓虹幆澧冨彉閲忥紝涓洪槻姝og鐨勭幆澧冨彉閲忓拰鏈嶅姟绔殑log鐜鍙橀噺鍐茬獊锛屽缓璁墍鏈夌殑鐜鍙橀噺涓嶈鍋氬叏灞€閰嶇疆锛屽湪褰撳墠璧锋晥鍗冲彲銆�
-
-```shell
-export CONF_CONSUMER_FILE_PATH="xxx"
-export APP_LOG_CONF_FILE="xxx"
-```
\ No newline at end of file
diff --git a/doc/md/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry.md b/doc/md/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry.md
deleted file mode 100644
index 501ecd855de28f356b55c5d6089ce7508ada377d..0000000000000000000000000000000000000000
--- a/doc/md/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry.md
+++ /dev/null
@@ -1,103 +0,0 @@
-# [dubbo-go K8s 娉ㄥ唽涓績鐨勮璁℃柟妗堜笌瀹炵幇](https://mp.weixin.qq.com/s/j6CIZpMrSk4VO27viUlDrg)
-
-> 闅忕潃浜戝師鐢熺殑鎺ㄥ箍锛岃秺鏉ヨ秺澶氱殑鍏徃鎴栫粍缁囧皢鏈嶅姟瀹瑰櫒鍖栵紝骞跺皢瀹瑰櫒鍖栧悗鐨勬湇鍔¢儴缃插湪 K8s 闆嗙兢涓€�
-
-- 浠婂ぉ杩欑瘒鏂囩珷灏嗕細浠嬬粛 dubbo-go 灏� K8s 浣滀负鏈嶅姟娉ㄥ唽涓績鐨勬柟妗堣璁★紝浠ュ強鍏蜂綋瀹炵幇銆傚埌鐩墠涓烘璇ユ柟妗堢殑瀹炵幇宸茬粡琚悎骞跺埌 dubbo-go 鐨� master 鍒嗘敮銆傚叿浣撳疄鐜颁负鍏充簬 Kubernetes 鐨� PullRequest 銆�
-  Kubernetes 鐨� PullRequest锛�
-  https://github.com/apache/dubbo-go/pull/400
-
-## K8s 绠$悊璧勬簮鐨勫摬瀛�
-
-K8s 浣滀负瀹瑰櫒闆嗙兢鍖栫鐞嗘柟妗堝彲浠ュ皢绠$悊璧勬簮鐨勭淮搴﹀彲涓昏鐨勫垎涓烘湇鍔″疄渚嬬鐞嗗拰鏈嶅姟鎺ュ叆绠$悊銆�
-
-1. 鏈嶅姟瀹炰緥绠$悊锛屼富瑕佷綋鐜版柟寮忎负 Pod 璁捐妯″紡鍔犳帶鍒跺櫒妯″紡銆傛帶鍒跺櫒淇濊瘉鍏锋湁鐗瑰畾鏍囩锛圠abel锛夌殑 Pod 淇濇寔鍦ㄦ亽瀹氱殑鏁伴噺锛堝鍒狅紝灏戣ˉ锛夈€�
-
-2. 鏈嶅姟鎺ュ叆绠$悊锛屼富瑕佷负 Service 锛岃 Service 榛樿涓哄叿鏈夌壒瀹氭爣绛撅紙Label锛夌殑涓€鎵� Pod 鎻愪緵涓€涓� VIP锛圕lusterIP锛変綔涓烘湇鍔$殑鎺ュ叆鐐癸紝榛樿浼氭寜鐓� round-robin 鐨勮礋杞藉潎琛$瓥鐣ュ皢璇锋眰杞彂鍒扮湡姝f彁渚涙湇鍔$殑 Pod 銆傚苟涓� CoreDNS 涓鸿 Service 鎻愪緵闆嗙兢鍐呭敮涓€鐨勫煙鍚嶃€�
-
-## K8s 鏈嶅姟鍙戠幇妯″瀷
-
-涓轰簡鏄庣‘ K8s 鍦ㄦ湇鍔℃帴鍏ョ鐞嗘彁渚涚殑瑙e喅鏂规锛屾垜浠互 kube-apiserver 鎻愪緵鐨� API(HTTPS) 鏈嶅姟涓轰緥銆侹8s 闆嗙兢涓鸿鏈嶅姟鍒嗛厤浜嗕竴涓泦缇ゅ唴鏈夋晥鐨� ClusterIP 锛屽苟閫氳繃 CoreDNS 涓哄叾鍒嗛厤浜嗗敮涓€鐨勫煙鍚� kubernetes 銆傚鏋滈泦缇ゅ唴鐨� Pod 闇€瑕佽闂鏈嶅姟鏃剁洿鎺ラ€氳繃 https://kubernetes:443 鍗冲彲瀹屾垚銆�
-
-![閰嶅浘](../../pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-1.png)
-
-鍏蜂綋娴佺▼濡備笂鍥炬墍绀�(绾㈣壊涓哄鎴风锛岀豢鑹蹭负 kube-apiserver )锛�
-
-1. 棣栧厛瀹㈡埛绔€氳繃 CoreDNS 瑙f瀽鍩熷悕涓� Kubernetes 鐨勬湇鍔¤幏寰楀搴旂殑 ClusterIP 涓� 10.96.0.1 銆�
-
-2. 瀹㈡埛绔悜 10.96.0.1 鍙戣捣 HTTPS 璇锋眰銆�
-
-3. HTTPS 涔嬩笅鐨� TCP 杩炴帴琚� kube-proxy 鍒涘缓鐨� iptables 鐨� PREROUTING 閾炬嫤鎴苟 DNAT 涓� 10.0.2.16 鎴� 10.0.2.15 銆�
-
-4. Client 涓庢渶缁堟彁渚涙湇鍔$殑 Pod 寤虹珛杩炴帴骞朵氦浜掋€�
-
-鐢辨鍙锛孠8s 鎻愪緵鐨勬湇鍔″彂鐜颁负鍩熷悕瑙f瀽绾у埆銆�
-
-## Dubbo 鏈嶅姟鍙戠幇妯″瀷
-
-鍚屾牱涓轰簡鏄庣‘ Dubbo 鏈嶅姟鍙戠幇鐨勬ā鍨嬶紝浠ヤ竴涓畝鍗曠殑 Dubbo-Consumer 鍙戠幇骞惰闂� Provider 鐨勫叿浣撴祦绋嬩负渚嬨€�
-![閰嶅浘](../../pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-2.png)
-鍏蜂綋娴佺▼濡備笂鍥炬墍绀猴細
-
-1.Provider 灏嗘湰杩涚▼鐨勫厓鏁版嵁娉ㄥ唽鍒� Registry 涓紝鍖呮嫭 IP锛孭ort锛屼互鍙婃湇鍔″悕绉扮瓑銆�
-2.Consumer 閫氳繃 Registry 鑾峰彇 Provider 鐨勬帴鍏ヤ俊鎭紝鐩存帴鍙戣捣璇锋眰銆�
-
-鐢辨鍙锛孌ubbo 褰撳墠鐨勬湇鍔″彂鐜版ā鍨嬫槸閽堝 Endpoint 绾у埆鐨勶紝骞朵笖娉ㄥ唽鐨勪俊鎭笉鍙� IP 鍜岀鍙h繕鍖呮嫭鍏朵粬鐨勪竴浜涘厓鏁版嵁銆�
-
-## K8s service vs dubbo-go 鏈嶅姟
-
-閫氳繃涓婅堪涓や釜灏忚妭锛岀瓟妗堝熀鏈凡缁忔瘮杈冩竻鏅颁簡銆傛€荤粨涓€涓嬶紝鏃犳硶鐩存帴浣跨敤 K8s 鐨勬湇鍔″彂鐜版ā鍨嬬殑鍘熷洜涓昏涓轰互涓嬪嚑鐐�:
-
-1.K8s 鐨� Service 鏍囧噯鐨勮祫婧愬璞″叿鏈夌殑鏈嶅姟鎻忚堪瀛楁 涓苟鏈彁渚涘畬鏁寸殑 Dubbo 杩涚▼鍏冩暟鎹瓧娈靛洜姝わ紝鏃犳硶鐩存帴浣跨敤璇ユ爣鍑嗗璞¤繘琛屾湇鍔℃敞鍐屼笌鍙戠幇銆�
-2.dubbo-go 鐨勬湇鍔℃敞鍐屾槸鍩轰簬姣忎釜杩涚▼鐨勶紝姣忎釜 Dubbo 杩涚▼鍧囬渶杩涜鐙珛鐨勬敞鍐屻€�
-3.K8s 鐨� Service 榛樿涓烘湇鍔″垱寤� VIP 锛屾彁渚� round-robin 鐨勮礋杞界瓥鐣ヤ篃涓� Dubbo-go 鑷湁鐨� Cluster 妯″潡鐨勮礋杞界瓥鐣ュ舰鎴愪簡鍐茬獊銆�
-
-## Dubbo-go 褰撳墠鐨勬柟妗�
-
-### 鏈嶅姟娉ㄥ唽
-
-K8s 鍩轰簬 Service 瀵硅薄瀹炵幇鏈嶅姟娉ㄥ唽/鍙戠幇銆傚彲鏄� dubbo 鐜版湁鏂规涓烘瘡涓� dubbo-go 杩涚▼鐙珛娉ㄥ唽锛屽洜姝� dubbo-go 閫夋嫨灏嗚杩涚▼鍏锋湁鐨勭嫭鏈夌殑鍏冩暟鎹啓鍏ヨ繍琛岃 dubbo-go 杩涚▼鐨� Pod 鍦� K8s 涓殑 Pod 璧勬簮瀵硅薄鐨勬弿杩颁俊鎭腑銆�
-
-姣忎釜杩愯 dubbo 杩涚▼鐨� Pod 灏嗘湰杩涚▼鐨勫厓鏁版嵁鍐欏叆 Pod 鐨� Annotations 瀛楁銆備负浜嗛伩鍏嶄笌鍏朵粬浣跨敤 Annotations 瀛楁鐨� Operator 鎴栬€呭叾浠栫被鍨嬬殑鎺у埗鍣紙istio锛夌殑瀛楁鍐茬獊銆�
-
-dubbo-go 浣跨敤 Key 涓� dubbo.io/annotation value 涓哄叿浣撳瓨鍌ㄧ殑 K/V 瀵圭殑鏁扮粍鐨� json 缂栫爜鍚庣殑 base64 缂栫爜銆�
-
-鏍蜂緥涓猴細
-
-```yaml
-apiVersion: v1
-kind: Pod
-metadata:
-  annotations:
-    dubbo.io/annotation: W3siayI6Ii9kdWJibyIsInYiOiIifSx7ImsiOiIvZHViYm8vY29tLmlrdXJlbnRvLnVzZXIuVXNlclByb3ZpZGVyIiwidiI6IiJ9LHsiayI6Ii9kdWJiby9jb20uaWt1cmVudG8udXNlci5Vc2VyUHJvdmlkZXIvY29uc3VtZXJzIiwidiI6IiJ9LHsiayI6Ii9kdWJibyIsInYiOiIifSx7ImsiOiIvZHViYm8vY29tLmlrdXJlbnRvLnVzZXIuVXNlclByb3ZpZGVyIiwidiI6IiJ9LHsiayI6Ii9kdWJiby9jb20uaWt1cmVudG8udXNlci5Vc2VyUHJvdmlkZXIvcHJvdmlkZXJzIiwidiI6IiJ9LHsiayI6Ii9kdWJiby9jb20uaWt1cmVudG8udXNlci5Vc2VyUHJvdmlkZXIvY29uc3VtZXJzL2NvbnN1bWVyJTNBJTJGJTJGMTcyLjE3LjAuOCUyRlVzZXJQcm92aWRlciUzRmNhdGVnb3J5JTNEY29uc3VtZXJzJTI2ZHViYm8lM0RkdWJib2dvLWNvbnN1bWVyLTIuNi4wJTI2cHJvdG9jb2wlM0RkdWJibyIsInYiOiIifV0=
-```
-
-### 鏈嶅姟鍙戠幇
-
-渚濊禆 kube-apiserver 鎻愪緵浜� WATCH 鐨勫姛鑳姐€傚彲浠ヨ瀵熺壒瀹� namespace 鍐呭悇 Pod 瀵硅薄鐨勫彉鍖栥€俤ubbo-go 涓轰簡閬垮厤 dubbo-go 杩涚▼ WATCH 鍒颁笌 dubbo-go 杩涚▼鏃犲叧鐨� Pod 鐨勫彉鍖栵紝 dubbo-go 灏� WATCH 鐨勬潯浠堕檺鍒跺湪褰撳墠 Pod 鎵€鍦ㄧ殑 namespace 锛屼互鍙婁粎 WATCH 鍏锋湁 Key 涓� dubbo.io/label Value 涓� dubbo.io-value 鐨� Pod 銆傚湪 WATCH 鍒板搴� Pod 鐨勫彉鍖栧悗瀹炴椂鏇存柊鏈湴 Cache 锛屽苟閫氳繃 Registry 鎻愪緵鐨� Subscribe 鎺ュ彛閫氱煡寤虹珛鍦ㄦ敞鍐屼腑蹇冧箣涓婄殑鏈嶅姟闆嗙兢绠$悊鍏朵粬妯″潡銆�
-
-### 鎬讳綋璁捐鍥�
-
-![閰嶅浘](../../pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-3.png)
-鍏蜂綋娴佺▼濡備笂鍥炬墍绀猴細
-
-1.鍚姩 dubbo-go 鐨� Deployment 鎴栧叾浠栫被鍨嬫帶鍒跺櫒浣跨敤 K8s Downward-Api 灏嗘湰 Pod 鎵€鍦� namespace 閫氳繃鐜鍙橀噺鐨勫舰寮忔敞鍏� dubbo-go 杩涚▼銆�
-
-2.Consumer/Provider 杩涚▼鎵€鍦ㄧ殑 Pod 鍚姩鍚庨€氳繃鐜鍙橀噺鑾峰緱褰撳墠鐨� namespace 浠ュ強璇� Pod 鍚嶇О锛� 璋冪敤 kube-apiserver PATCH 鍔熻兘涓烘湰 Pod 娣诲姞 Key 涓� dubbo.io/label Value 涓� dubbo.io-value 鐨� label銆�
-
-3.Consumer/Provider 杩涚▼鎵€鍦ㄧ殑 Pod 鍚姩鍚庤皟鐢� kube-apiserver 灏嗘湰杩涚▼鐨勫厓鏁版嵁閫氳繃 PATCH 鎺ュ彛鍐欏叆褰撳墠 Pod 鐨� Annotations 瀛楁銆�
-
-4.Consumer 杩涚▼閫氳繃 kube-apiserver LIST 褰撳墠 namespace 涓嬪叾浠栧叿鏈夊悓鏍锋爣绛剧殑 Pod 锛屽苟瑙g爜瀵瑰簲鐨� Annotations 瀛楁鑾峰彇 Provider 鐨勪俊鎭€�
-
-5.Consumer 杩涚▼閫氳繃 kube-apiserver WATCH 褰撳墠 namespace 涓嬪叾浠栧叿鏈夊悓鏍� label 鐨� Pod 鐨� Annotations 鐨勫瓧娈靛彉鍖栵紝鍔ㄦ€佹洿鏂版湰鍦� Cache 銆�
-
-## 鎬荤粨
-
-K8s 宸茬粡涓哄叾鎵胯浇鐨勬湇鍔℃彁渚涗簡涓€濂楁湇鍔″彂鐜帮紝鏈嶅姟娉ㄥ唽锛屼互鍙婃湇鍔¢泦缇ょ鐞嗘満鍒躲€傝€� dubbo-go 鐨勫悓鏃朵篃鎷ユ湁鑷垚浣撶郴鐨勬湇鍔¢泦缇ょ鐞嗐€傝繖涓や釜鍔熻兘鐐瑰舰鎴愪簡鍐茬獊锛屽湪鏃犳硶璋冭皭涓よ€呯殑鎯呭喌锛� dubbo-go 鍥㈤槦鍐冲畾淇濇寔 dubbo 鑷湁鐨勬湇鍔¢泦缇ょ鐞嗙郴锛岃€岄€夋嫨鎬х殑鏀惧純浜� Service 鍔熻兘锛屽皢鍏冩暟鎹洿鎺ュ啓鍏ュ埌 Pod 瀵硅薄鐨� Annotations 涓€�
-
-褰撶劧杩欏彧鏄� dubbo-go 鍦ㄥ皢 K8s 浣滀负鏈嶅姟娉ㄥ唽涓績鐨勬柟妗堜箣涓€锛屽悗缁ぞ鍖轰細浠ユ洿鍔犫€滀簯鍘熺敓鈥濈殑褰㈠紡瀵规帴 K8s 锛岃鎴戜滑鎷洰浠ュ緟鍚с€�
-
-dubbo-go 绀惧尯閽夐拤缇� :23331795 ,娆㈣繋浣犵殑鍔犲叆銆�
-
-- 浣滆€呬俊鎭細
-
-  鐜嬬繑锛孏ithubID: sxllwx锛屽氨鑱屼簬鎴愰兘杈鹃椉绉戞妧鏈夐檺鍏徃锛実olang 寮€鍙戝伐绋嬪笀銆�
diff --git a/doc/md/registry-center/dubbo-go-registry-center--nacos.md b/doc/md/registry-center/dubbo-go-registry-center--nacos.md
deleted file mode 100644
index 5ee3f77ccc4f88c35891737d3df22fae076229ab..0000000000000000000000000000000000000000
--- a/doc/md/registry-center/dubbo-go-registry-center--nacos.md
+++ /dev/null
@@ -1,116 +0,0 @@
-# [瑙f瀯 Dubbo-go 鐨勬牳蹇冩敞鍐屽紩鎿� Nacos](https://my.oschina.net/dubbogo/blog/4608576)
-
-杩戝嚑骞达紝闅忕潃Go璇█绀惧尯閫愭笎鍙戝睍鍜屽.澶э紝瓒婃潵瓒婂鐨勫叕鍙稿紑濮嬪皾璇曢噰鐢℅o鎼缓寰湇鍔′綋绯伙紝涔熸秾鐜颁簡涓€鎵笹o鐨勫井鏈嶅姟妗嗘灦锛屽go-micro銆乬o-kit銆丏ubbo-go绛夛紝璺熷井鏈嶅姟娌荤悊鐩稿叧鐨勭粍浠朵篃閫愭笎寮€濮嬪湪Go鐢熸€佸彂鍔涳紝濡係entinel銆丠ystrix绛夐兘鎺ㄥ嚭浜咷o璇█鐗堟湰锛岃€屼綔涓哄井鏈嶅姟妗嗘灦鐨勬牳蹇冨紩鎿�--娉ㄥ唽涓績锛屼篃鏄繀涓嶅彲缂哄皯鐨勭粍浠讹紝甯傞潰宸茬粡鏈夊娆炬敞鍐屼腑蹇冩敮鎸丟o璇█锛屽簲璇ュ浣曢€夋嫨鍛紵鎴戜滑鍙互瀵圭洰鍓嶄富娴佺殑鏀寔Go璇█鐨勬敞鍐屼腑蹇冨仛涓姣斻€�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-a.png)
-
-鏍规嵁涓婅〃鐨勫姣旀垜浠彲浠ヤ粠浠ヤ笅鍑犱釜缁村害寰楀嚭缁撹锛�
-
-*   鐢熸€�:鍚勬敞鍐屼腑蹇冨Go璇█閮芥湁鏀寔锛屼絾鏄疦acos銆� Consul銆丒tcd 绀惧尯娲昏穬锛寊ookeeper鍜孍ureka绀惧尯娲昏穬搴﹁緝浣庯紱
-*   鏄撶敤鎬э細Nacos銆丒ureka銆丆onsul閮芥湁鐜版垚鐨勭鎺у钩鍙帮紝Etcd銆亃ookeeper鏈韩浣滀负kv瀛樺偍锛屾病鏈夌浉搴旂殑绠℃帶骞冲彴锛孨acos鏀寔涓枃鐣岄潰锛屾瘮杈冪鍚堝浗浜轰娇鐢ㄤ範鎯紱
-*   鍦烘櫙鏀寔锛欳P妯″瀷涓昏閽堝寮轰竴鑷村満鏅紝濡傞噾铻嶇被锛孉P妯″瀷閫傜敤浜庨珮鍙敤鍦烘櫙锛孨acos鍙互鍚屾椂婊¤冻涓ょ鍦烘櫙锛孍ureka涓昏婊¤冻楂樺彲鐢ㄥ満鏅紝Consul銆乑ookeepr銆丒tcd涓昏婊¤冻寮轰竴鑷村満鏅紝姝ゅNacos鏀寔浠庡叾瀹冩敞鍐屼腑蹇冨悓姝ユ暟鎹紝鏂逛究鐢ㄦ埛娉ㄥ唽涓績杩佺Щ锛�
-*   鍔熻兘瀹屾暣鎬э細鎵€鏈夋敞鍐屼腑蹇冮兘鏀寔鍋ュ悍妫€鏌ワ紝Nacos銆丆onsul鏀寔鐨勬鏌ユ柟寮忚緝澶氾紝婊¤冻涓嶅悓搴旂敤鍦烘櫙锛孼ookeeper閫氳繃keep alive鏂瑰紡锛岃兘瀹炴椂鎰熺煡瀹炰緥鍙樺寲锛汵acos銆丆onsul鍜孍ureka閮芥敮鎸佽礋杞藉潎琛$瓥鐣ワ紝Nacos閫氳繃Metadata selector鏀寔鏇寸伒娲荤殑绛栫暐锛涙澶栵紝Nacos銆丒ureka閮芥敮鎸侀洩宕╀繚鎶わ紝閬垮厤鍥犱负杩囧鐨勫疄渚嬩笉鍋ュ悍瀵瑰仴搴风殑瀹炰緥閫犳垚闆穿鏁堝簲銆�
-
-缁煎悎涓婇潰鍚勭淮搴︾殑瀵规瘮锛屽彲浠ヤ簡瑙e埌Nacos浣滀负娉ㄥ唽涓績鏈変竴瀹氱殑浼樺娍锛岄偅涔堝畠瀵笹o寰湇鍔$敓鎬佺殑闆嗘垚鍋氬緱濡備綍锛熸帴涓嬫潵鎴戜滑棣栧厛鎺㈢储涓婲acos鏄浣曚笌Dubbo-go闆嗘垚銆�
-
-# 寮曡█
-
-Dubbo-go鐩墠鏄疍ubbo澶氳瑷€鐢熸€佷腑鏈€鐏儹鐨勪竴涓」鐩紝浠�2016骞村彂甯冭嚦浠婏紝宸茬粡璧拌繃5涓勾澶淬€傛渶杩戯紝Dubbo-go鍙戝竷浜唙1.5鐗堟湰锛屽叏闈㈠吋瀹笵ubbo 2.7.x鐗堟湰锛屾敮鎸佷簡搴旂敤缁村害鐨勬湇鍔℃敞鍐屼笌鍙戠幇锛屽拰涓绘祦鐨勬敞鍐屾ā鍨嬩繚鎸佷竴鑷达紝鏍囧織鐫€Dubbo-go鍚戜簯鍘熺敓杩堝嚭浜嗗叧閿殑涓€姝ャ€備綔涓洪┍鍔ㄦ湇鍔¤繍杞殑鏍稿績寮曟搸--娉ㄥ唽涓績锛屽湪鍒囨崲鍒板簲鐢ㄧ淮搴︾殑娉ㄥ唽妯″瀷鍚庯紝涔熼渶瑕佸仛鐩稿簲鐨勯€傞厤锛屾湰鏂囧皢瑙f瀽濡備綍浠acos涓烘牳蹇冨紩鎿庡疄鐜板簲鐢ㄧ淮搴︾殑鏈嶅姟娉ㄥ唽涓庡彂鐜帮紝骞朵笖缁欏嚭鐩稿簲鐨勫疄璺垫渚嬨€傛澶栵紝鏈枃浠g爜鍩轰簬Dubbo-go v1.5.1锛孨acos-SDK-go v1.0.0鍜孨acos v1.3.2銆�
-
-# 鏈嶅姟娉ㄥ唽涓庡彂鐜版灦鏋�
-
-浠庢灦鏋勪腑锛屾垜浠彲浠ョ湅鍒帮紝涓庢帴鍙g骇鍒殑鏈嶅姟娉ㄥ唽鍙戠幇涓嶅悓鐨勬槸锛孌ubbo-go鐨刾rovider鍚姩鍚庝細璋冪敤Nacos-go-sdk鐨凴egisterInstance鎺ュ彛鍚慛acos娉ㄥ唽鏈嶅姟瀹炰緥锛屾敞鍐岀殑鏈嶅姟鍚嶅嵆涓哄簲鐢ㄥ悕绉帮紝鑰屼笉鏄帴鍙e悕绉般€侰onusmer鍚姩鍚庡垯浼氳皟鐢⊿ubscribe鎺ュ彛璁㈤槄璇ュ簲鐢ㄧ殑鏈嶅姟瀹炰緥鍙樺寲锛屽苟瀵圭殑瀹炰緥鍙戣捣鏈嶅姟璋冪敤銆�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-b.png)
-
-# 鏈嶅姟妯″瀷
-
-鍥�3鏄垜浠珼ubbo-go鐨勫簲鐢ㄧ淮搴︽湇鍔″彂鐜版ā鍨嬶紝涓昏鏈夋湇鍔″拰瀹炰緥涓や釜灞傜骇鍏崇郴锛屾湇鍔″疄渚嬬殑灞炴€т富瑕佸寘鍚疄渚婭d銆佷富鏈哄湴鍧€銆佹湇鍔$鍙c€佹縺娲荤姸鎬佸拰鍏冩暟鎹€傚浘4涓篘acos鐨勬湇鍔″垎绾у瓨鍌ㄦā鍨嬶紝鍖呭惈鏈嶅姟銆侀泦缇ゅ拰瀹炰緥涓変釜灞傛銆備袱鑰呭姣旓紝澶氫簡涓€涓泦缇ょ淮搴︾殑灞傜骇锛岃€屼笖瀹炰緥灞炴€т俊鎭兘澶熷畬鍏ㄥ尮閰嶃€傛墍浠ュ湪Dubbo-go灏嗗簲鐢ㄦ湇鍔″疄渚嬫敞鍐屽埌Nacos鏃讹紝鎴戜滑鍙渶瑕佸皢闆嗙兢璁剧疆涓洪粯璁ら泦缇わ紝鍐嶅~鍏呮湇鍔″拰瀹炰緥鐨勭浉鍏冲睘鎬э紝鍗冲彲瀹屾垚鏈嶅姟妯″瀷涓婄殑鍖归厤銆傛澶朜acos鍙互灏嗘湇鍔℃敞鍐屽埌涓嶅悓鐨凬amespace涓嬶紝瀹炵幇澶氱鎴风殑闅旂銆� ![](../../pic/registry-center/dubbo-go-registry-center--nacos-j.png)
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-c.png)
-
-# 鏈嶅姟瀹炰緥蹇冭烦缁存寔
-
-Dubbo-go鐨凱rovider鍦ㄥ悜Nacos娉ㄥ唽搴旂敤鏈嶅姟瀹炰緥淇℃伅鍚庯紝闇€瑕佷富鍔ㄤ笂鎶ュ績璺筹紝璁㎞acos鏈嶅姟绔劅鐭ュ疄渚嬬殑瀛樻椿涓庡惁锛屼互鍒ゆ柇鏄惁灏嗚鑺傜偣浠庡疄渚嬪垪琛ㄤ腑绉婚櫎銆傜淮鎶ゅ績璺崇殑宸ヤ綔鏄湪Nacos-SDK-go瀹屾垚鐨勶紝浠庡浘5浠g爜涓彲浠ョ湅鍒帮紝褰揇ubbo-go璋冪敤RegisterInstance娉ㄥ唽涓€涓湇鍔″疄渚嬫椂锛孲DK闄や簡璋冪敤Nacos鐨凴egister API涔嬪锛岃繕浼氳皟鐢ˋddBeatInfo锛屽皢鏈嶅姟瀹炰緥淇℃伅娣诲姞鍒版湰鍦扮紦瀛橈紝閫氳繃鍚庡彴鍗忕▼瀹氭湡鍚慛acos鍙戦€佹湇鍔″疄渚嬩俊鎭紝淇濇寔蹇冭烦銆傚綋鏈嶅姟涓嬬嚎鏃讹紝鍙互閫氳繃璋冪敤DeRegisterInstance鎵ц鍙嶆敞鍐岋紝骞剁Щ闄ゆ湰鍦扮殑蹇冭烦淇濇寔浠诲姟锛孨acos瀹炰緥鍒楄〃涓篃浼氬皢璇ュ疄渚嬬Щ闄ゃ€�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-d.png)
-
-# 璁㈤槄鏈嶅姟瀹炰緥鍙樺寲
-
-Dubbo-go鐨凜onsumer鍦ㄥ惎鍔ㄧ殑鏃跺€欎細璋冪敤Nacos-SDK-go鐨凷ubscribe鎺ュ彛锛岃鎺ュ彛鍏ュ弬濡傚浘6锛岃闃呯殑鏃跺€欏彧闇€瑕佷紶閫扴erviceName鍗冲簲鐢ㄥ悕鍜屽洖璋冨嚱鏁癝ubscribeCallback锛孨acos鍦ㄦ湇鍔″疄渚嬪彂鐢熷彉鍖栫殑鏃跺€欏嵆鍙€氳繃鍥炶皟鍑芥暟閫氱煡Dubbo-go銆侼acos-SDK-go鏄浣曟劅鐭acos鐨勬湇鍔″疄渚嬪彉鍖栫殑鍛紵涓昏鏈変袱绉嶆柟寮忥細
-
-*   Nacos鏈嶅姟绔富鍔ㄦ帹閫侊紝Nacos-SDK-go鍦ㄥ惎鍔ㄧ殑鏃跺€欎細鐩戝惉涓€涓猆DP绔彛锛岃绔彛鍦ㄨ皟鐢∟acos Register API鐨勬椂鍊欎綔涓哄弬鏁颁紶閫掞紝Nacos浼氳褰旾p鍜岀鍙o紝褰撴湇鍔″疄渚嬪彂鐢熷彉鍖栨椂锛孨acos浼氬鎵€鏈夌洃鍚鏈嶅姟鐨処p鍜岀鍙e彂閫乁DP璇锋眰锛屾帹閫佸彉鍖栧悗鐨勬湇鍔″疄渚嬩俊鎭€�
-    
-*   Nacos-SDK-go瀹氭湡鏌ヨ锛孲DK浼氬璁㈤槄鐨勬湇鍔″疄渚嬪畾鏃惰皟鐢ㄦ煡璇㈡帴鍙o紝濡傛灉鏌ヨ鏈夊彉鍖栧垯閫氳繃鍥炶皟鎺ュ彛閫氱煡Dubbo-go銆備綔涓哄厹搴曠瓥鐣ヤ繚璇丯acos鏈嶅姟绔帹閫佸け璐ュ悗锛屼粛鑳芥劅鐭ュ埌鍙樺寲銆�
-    
-    ![](../../pic/registry-center/dubbo-go-registry-center--nacos-e.png)
-    
-
-姝ゅNacos-SDK-go杩樻敮鎸佹帹绌轰繚鎶わ紝褰揘acos鎺ㄩ€佺殑瀹炰緥鍒楄〃涓虹┖鏃讹紝涓嶆洿鏂版湰鍦扮紦瀛橈紝涔熶笉閫氱煡Dubbo-go鍙樻洿锛岄伩鍏岰onsumer鏃犲彲鐢ㄥ疄渚嬭皟鐢紝閫犳垚鏁呴殰銆傚悓鏃讹紝SDK杩樻敮鎸佹湇鍔″疄渚嬩俊鎭湰鍦版寔涔呭寲瀛樺偍锛屽彲浠ヤ繚璇佸湪Nacos鏈嶅姟鏁呴殰杩囩▼涓紝Consumer閲嶅惎涔熻兘鑾峰彇鍒板彲鐢ㄥ疄渚嬶紝鍏峰瀹圭伨鏁堟灉銆�
-
-# 鑼冧緥瀹炶返
-
-## 鐜鍑嗗
-
-dubbo-go samples浠g爜涓嬭浇锛歔https://github.com/apache/dubbo-samples/tree/master/golang锛屽熀浜嶯acos娉ㄥ唽涓績鐨勫簲鐢ㄧ骇鏈嶅姟鍙戠幇鐨刪ello](https://github.com/apache/dubbo-samples/tree/master/golang%EF%BC%8C%E5%9F%BA%E4%BA%8ENacos%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E7%9A%84%E5%BA%94%E7%94%A8%E7%BA%A7%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E7%9A%84hello) world浠g爜鐩綍鍦� registry/servicediscovery/nacos銆�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-f.png)
-
-Nacos鏈嶅姟绔惌寤猴紝鍙傝€冨畼鏂规枃妗o細[https://nacos.io/zh-cn/docs/quick-start.html锛屾垨鑰呬娇鐢ㄥ畼鏂规彁渚涚殑鍏叡Nacos鏈嶅姟锛歨ttp://console.nacos.io/nacos(璐﹀彿瀵嗙爜:nacos锛屼粎渚涙祴璇�)锛屾垨鑰呰喘涔伴樋閲屼簯鏈嶅姟锛歨ttps://help.aliyun.com/document\_detail/139460.html?spm=a2c4g.11186623.6.559.d7e264b7bLpZIs](https://nacos.io/zh-cn/docs/quick-start.html%EF%BC%8C%E6%88%96%E8%80%85%E4%BD%BF%E7%94%A8%E5%AE%98%E6%96%B9%E6%8F%90%E4%BE%9B%E7%9A%84%E5%85%AC%E5%85%B1Nacos%E6%9C%8D%E5%8A%A1%EF%BC%9Ahttp://console.nacos.io/nacos(%E8%B4%A6%E5%8F%B7%E5%AF%86%E7%A0%81:nacos%EF%BC%8C%E4%BB%85%E4%BE%9B%E6%B5%8B%E8%AF%95)%EF%BC%8C%E6%88%96%E8%80%85%E8%B4%AD%E4%B9%B0%E9%98%BF%E9%87%8C%E4%BA%91%E6%9C%8D%E5%8A%A1%EF%BC%9Ahttps://help.aliyun.com/document_detail/139460.html?spm=a2c4g.11186623.6.559.d7e264b7bLpZIs)
-
-## Server绔惌寤�
-
-杩涘叆registry/servicediscovery/nacos/go-server/profiles鏂囦欢锛屽彲浠ョ湅鍒版湁dev銆乺elease鍜宼est涓変釜鏂囦欢澶癸紝鍒嗗埆瀵瑰簲寮€鍙戙€佹祴璇曞拰鐢熶骇閰嶇疆銆傛垜浠娇鐢╠ev閰嶇疆鏉ユ惌寤哄紑鍙戠幆澧冿紝dev鏂囦欢涓嬫湁log.yml鍜宻erver.yml鏂囦欢锛屼笅闈㈠server.yml閰嶇疆杩涜淇敼銆�
-
-remote閰嶇疆锛岃繖閲屼娇鐢ㄥ叕鍏辩殑Nacos鏈嶅姟锛宎ddress鏀寔閰嶇疆澶氫釜鍦板潃锛岀敤閫楀彿鍒嗗壊銆俻arams鍙傛暟閰嶇疆nacos-sdk鐨勬棩蹇楃洰褰曘€�
-
-```Yaml
-remote:
-  nacos:
-    address: "console.nacos.io:80"
-    timeout: "5s"
-    params:
-        logDir: "/data/nacos-sdk/log"
-configCenter閰嶇疆
-config_center:
-  protocol: "nacos"
-  address: "console.nacos.io:80"
-```
-
-閰嶇疆server绔幆澧冨彉閲�
-
-```Bash
-export CONF_PROVIDER_FILE_PATH=server绔殑server.yml鏂囦欢璺緞
-export APP_LOG_CONF_FILE=server绔殑log.yml鏂囦欢璺緞
-```
-
-杩涘叆registry/servicediscovery/nacos/go-server/app锛岃繍琛宻erver.go鐨刴ain鏂规硶锛屽彲浠ヤ粠Nacos鐨勬帶鍒跺彴锛圼http://console.nacos.io/nacos/#/serviceManagement?dataId=&group=&appName=&namespace=锛塢(http://console.nacos.io/nacos/#/serviceManagement?dataId=&group=&appName=&namespace=%EF%BC%89)
-
-鐪嬪埌锛屽簲鐢╱ser-info-server宸茬粡娉ㄥ唽鎴愬姛銆�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-g.png)
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-h.png)
-
-## Client绔惌寤�
-
-client鐨勯厤缃枃浠跺湪registry/servicediscovery/nacos/go-server/profiles鐩綍涓嬶紝闇€瑕佷慨鏀圭殑鍦版柟璺焥erver绔竴鏍凤紝杩欓噷涓嶈禈杩般€�
-
-閰嶇疆client绔幆澧冨彉閲�
-
-```Bash
-export CONF_CONSUMER_FILE_PATH=client绔殑server.yml鏂囦欢璺緞
-export APP_LOG_CONF_FILE=client绔殑log.yml鏂囦欢璺緞
-```
-
-杩涘叆registry/servicediscovery/nacos/go-client/app锛岃繍琛宑lient.go鐨刴ain鏂规硶锛岀湅鍒板涓嬫棩蹇楄緭鍑猴紝琛ㄧず璋冪敤server绔垚鍔熴€�
-
-![](../../pic/registry-center/dubbo-go-registry-center--nacos-i.png)
-
-浣滆€咃細鏉庡織楣�
-
-Github璐﹀彿锛歀zp0412锛孨acos-SDK-go浣滆€咃紝Apache/Dubbo-go Contributor銆傜幇灏辫亴浜庨樋閲屼簯浜戝師鐢熷簲鐢ㄥ钩鍙帮紝涓昏鍙備笌鏈嶅姟鍙戠幇銆丆oreDNS銆丼erviceMesh鐩稿叧宸ヤ綔锛岃礋璐f帹鍔∟acos Go寰湇鍔$敓鎬佸缓璁俱€�
-
-鐩稿叧閾炬帴 Nacos-SDK-go椤圭洰鍦板潃锛歔https://github.com/nacos-group/nacos-sdk-go](https://github.com/nacos-group/nacos-sdk-go) Nacos golang鐢熸€佷氦娴佺兢锛�23191211 Nacos椤圭洰鍦板潃锛歔https://nacos.io/](https://nacos.io/) Nacos绀惧尯浜ゆ祦缇わ細30438813
-
-Dubbo-go 椤圭洰鍦板潃锛歔https://github.com/apache/dubbo-go](https://github.com/apache/dubbo-go) Dubbo-go绀惧尯浜ゆ祦缇わ細23331795
\ No newline at end of file
diff --git a/doc/md/routing-rule/how-to-implement-routing-rule-in-dubbo-go.md b/doc/md/routing-rule/how-to-implement-routing-rule-in-dubbo-go.md
deleted file mode 100644
index 14da444755a9c0e9f1fd8e6b7cef6db563b5a746..0000000000000000000000000000000000000000
--- a/doc/md/routing-rule/how-to-implement-routing-rule-in-dubbo-go.md
+++ /dev/null
@@ -1,215 +0,0 @@
-# [dubbo-go 涓浣曞疄鐜拌矾鐢辫鍒欏姛鑳絔(https://zouyx.github.io/posts/2020/03/30/dubbo-go%20%E4%B8%AD%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99%E5%8A%9F%E8%83%BD.html)
-
-dubbo-go 涓浣曞疄鐜拌矾鐢辫鍒欏姛鑳�
-
-# Let鈥榮 Go!
-
-* * *
-
-鏈€杩戝湪 Apache/dubbo-go锛堜互涓嬬畝绉� dubbo-go 锛夌ぞ鍖轰腑锛岃矾鐢辫鍒欑獊鐒舵垚浜嗗懠澹版渶楂樼殑鍔熻兘涔嬩竴銆傞偅鍒板簳涓轰粈涔堥渶瑕佽矾鐢辫鍒欙紵
-
-鍏堣矾鐢辫鍒欓渶瑕佸疄鐜扮殑鍔熻兘锛�
-
-璺敱瑙勫垯锛� routing rule 锛夋槸涓轰簡鏀瑰彉缃戠粶娴侀噺鎵€缁忚繃鐨勯€斿緞鑰屼慨鏀硅矾鐢变俊鎭殑鎶€鏈紝涓昏閫氳繃鏀瑰彉璺敱灞炴€э紙鍖呮嫭鍙揪鎬э級鏉ュ疄鐜般€傚湪鍙戣捣涓€娆� RPC 璋冪敤鍓嶈捣鍒拌繃婊ょ洰鏍囨湇鍔″櫒鍦板潃鐨勪綔鐢紝杩囨护鍚庣殑鍦板潃鍒楄〃锛屽皢浣滀负娑堣垂绔渶缁堝彂璧� RPC 璋冪敤鐨勫閫夊湴鍧€銆�
-
-璇曟兂璇ヤ笅鍦烘櫙锛氫娇鐢� dubbo-go 鍦ㄧ敓浜х幆澧冧笂锛屾帓闄ら鍙戝竷鏈恒€備娇鐢ㄨ矾鐢辫鍒欏疄鐜颁笉鏄緢鍚堥€傚悧锛�
-
-铏界劧鐭ラ亾浜嗚矾鐢辫鍒欓渶瑕佸疄鐜颁粈涔堝姛鑳斤紝浣嗚繕涓嶈冻浠ュ疄鐜颁竴涓畬鏁寸殑璺敱瑙勫垯鍔熻兘銆傞櫎姝や箣澶栵紝杩橀渶瑕佺煡閬撳浣曟柟渚跨殑绠$悊璺敱瑙勫垯銆�
-
-# 鐩爣
-
-缁间笂鎵€杩帮紝鍙互鎬荤粨鍑轰互涓� **鐩爣**
-
-*   鏀寔鏂逛究鎵╁睍璺敱瑙勫垯鐨勯厤缃紱
-*   鍙互鏂逛究鐨勭鐞嗚矾鐢辫鍒欓厤缃紝濡傛敮鎸佹湰鍦颁笌杩滅▼閰嶇疆涓績绠$悊锛�
-*   涓� Dubbo 鐜版湁鐨勯厤缃腑蹇冨唴鐨勮矾鐢辫鍒欓厤缃枃浠跺吋瀹癸紝闄嶄綆鍦ㄦ柊澧炶瑷€鏍堢殑瀛︿範鍙婁娇鐢ㄦ垚鏈紱
-
-# 璺敱瑙勫垯璁捐
-
-鍦ㄨ璁′箣鍒濓紝棣栧厛瑕佽€冭檻鐨勬槸璺敱瑙勫垯搴旇鏀惧湪鏁翠釜鏈嶅姟娌荤悊鍛ㄦ湡鐨勫摢涓樁娈靛憿锛�
-
-鏈変簺璇昏€呭彲鑳戒細鏈夌偣鍥版儜锛屾垜杩炴灦鏋勫浘閮戒笉鐭ラ亾锛屽浣曡€冭檻鍦ㄥ摢涓樁娈碉紵涓嶆€曪紝涓嬪浘椹笂缁欎綘瑙f儜銆�
-
-![dubbo-go-arch.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-a.png)
-
-鍙互鐪嬪埌鍥句腑鐨� Router 灏辨槸璺敱瑙勫垯鎻掑叆鐨勪綅缃紝鐩墠璺敱瑙勫垯涓昏鐢ㄤ簬鎺у埗 Consumer 鍒� Provider 涔嬮棿鐨勭綉缁滄祦閲忕殑璺敱璺緞銆�
-
-闄ゆ涔嬪锛岃繕鏈夊嚑涓棶棰樻槸闇€瑕佷紭鍏堣€冭檻锛�
-
-1.闇€瑕佷粈涔堝姛鑳斤紵
-
-*   閫氳繃閰嶇疆淇℃伅鐢熸垚璺敱瑙勫垯锛屽寘鎷細璇诲彇骞惰В鏋愭湰鍦伴厤缃枃浠讹紝璇诲彇骞惰В鏋愰厤缃腑蹇冪殑閰嶇疆銆備互璐d换閾炬ā寮忎覆鑱旇捣鏉ャ€�
-*   閫氳繃璺敱瑙勫垯锛屽尮閰嶆湰鍦颁俊鎭笌杩滅鏈嶅姟淇℃伅锛岃繃婊ゅ嚭鍙互璋冪敤鐨勮繙绔妭鐐癸紝鍐嶈繘琛岃礋杞藉潎琛°€�
-
-2.濡備綍璁捐鎺ュ彛锛�
-
-閫氳繃绗竴鐐癸紝鎴戜滑鑳借璁″嚭浠ヤ笅鎺ュ彛鏉ュ疄鐜版墍闇€鐨勫姛鑳姐€�
-
-*   璺敱瑙勫垯鎺ュ彛锛氱敤浜庤矾鐢辫鍒欒繃婊ゅ嚭鍙互璋冪敤鐨勮繙绔妭鐐广€�
-    
-*   璺敱瑙勫垯璐d换閾炬帴鍙o細鍏佽鎵ц澶氫釜璺敱瑙勫垯銆�
-    
-*   閰嶇疆淇℃伅鐢熸垚璺敱瑙勫垯鎺ュ彛锛氳В鏋愬唴閮ㄩ厤缃俊鎭紙common.URL锛夌敓鎴愬搴旂殑璺敱瑙勫垯銆�
-    
-*   閰嶇疆鏂囦欢鐢熸垚璺敱瑙勫垯鎺ュ彛锛氳В鏋愰厤缃枃浠剁敓鎴愬搴旂殑璺敱瑙勫垯銆�
-    
-
-3.濡備綍瀹炵幇鏈湴涓庤繙绋嬭矾鐢辫鍒欓厤缃姞杞斤紵
-
-*   鏈湴璺敱瑙勫垯閰嶇疆锛氬湪鍘熼厤缃姞杞介樁娈碉紝鏂板璇诲彇璺敱閰嶇疆鏂囦欢銆備娇鐢� `FIleRouterFactory` 瑙f瀽鍚庯紝鐢熸垚瀵瑰簲璺敱瑙勫垯锛屾斁缃埌鍐呭瓨涓鐢ㄣ€�
-*   杩滅▼璺敱瑙勫垯閰嶇疆锛氬湪 zookeeper 娉ㄥ唽骞剁洃鍚潤鎬佽祫婧愮洰褰曞悗銆傝鍙栭潤鎬佽祫婧愶紝绛涢€夌鍚堣矾鐢辫鍒欓厤缃俊鎭紝閫氳繃 `RouterFactory` 鐢熸垚瀵瑰簲璺敱瑙勫垯锛屾斁缃埌鍐呭瓨涓鐢ㄣ€�
-
-## Router
-
-鍖归厤鍙婅繃婊よ繙绋嬪疄渚嬬殑璺敱瑙勫垯銆� ![router.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-b.png) 鐩墠宸叉湁瀹炵幇绫诲寘鎷細
-
-*   listenableRouter:
-*   AppRouter锛�
-*   ConditionRouter锛�
-*   HealthCheckRouter:
-*   FileConditionRouter:
-
-## RouterChain
-
-鎵ц澶氫釜璺敱瑙勫垯鐨勮矗浠婚摼銆� ![router-chain.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-c.png)
-
-## FIleRouterFactory
-
-鐢熸垚瑙f瀽閰嶇疆鏂囦欢鐢熸垚璺敱瑙勫垯鐨勫伐鍘傜被銆� ![file-router-factory.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-d.png)
-
-## RouterFactory
-
-閫氳繃閰嶇疆淇℃伅鐢熸垚璺敱瑙勫垯鐨勫伐鍘傜被銆� ![router-factory.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-e.png)
-
-# 瀹炵幇
-
-![router-design.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-f.png)
-
-瀹炵幇璺敱瑙勫垯浠ュ吋瀹� dubbo 涓洪瑕佺洰鏍囷紝闄嶄綆浣跨敤鑰呯殑瀛︿範鎴愭湰涓鸿緟鍔╃洰鏍囥€備笌閰嶇疆涓績妯″潡鐩哥粨鍚堬紝瀹炵幇璺敱瑙勫垯杩滅▼缁熶竴绠$悊涓庝笅鍙戙€�
-
-## 瑙勫垯绫诲瀷
-
-涓嬮潰鍏堟潵浠嬬粛涓€涓嬫湁鍝簺鍏蜂綋鐨勮矾鐢辫鍒欏疄鐜般€�
-
-### **鏉′欢璺敱**
-
-dubbo-go 涓涓€涓敮鎸佺殑璺敱瑙勫垯锛屽厑璁哥敤鎴烽€氳繃閰嶇疆鏂囦欢鍙婇厤缃腑蹇冪鐞嗚矾鐢辫鍒欍€�
-
-涓庝箣鐩镐技鐨勪竴涓蹇垫槸 dubbo-go 閲岄潰鐨� group 姒傚康锛屼絾鏄潯浠惰矾鐢辨彁渚涗簡鏇村姞缁嗙矑搴︾殑鎺у埗鎵嬫鍜屾洿鍔犱赴瀵岀殑琛ㄨ揪璇箟銆傛瘮杈冨吀鍨嬬殑浣跨敤鍦烘櫙鏄粦鐧藉悕鍗曡缃紝鐏板害浠ュ強娴嬭瘯绛夈€�
-
-### **鍋ュ悍妫€鏌ヨ矾鐢�**
-
-鍦� RPC 璋冪敤涓紝鎴戜滑甯屾湜灏藉彲鑳藉湴灏嗚姹傚懡涓埌閭d簺澶勭悊鑳藉姏蹇€佸浜庡仴搴风姸鎬佺殑瀹炰緥锛岃璺敱鐨勫姛鑳藉氨鏄€氳繃鏌愮绛栫暐鏂畾鏌愪釜瀹炰緥涓嶅仴搴凤紝骞跺皢鍏舵帓闄ゅ湪鍊欓€夎皟鐢ㄥ垪琛紝浼樺厛璋冪敤閭d簺鍋ュ悍鐨勫疄渚嬨€傝繖閲岀殑鈥濆仴搴封€濆彲浠ユ槸鎴戜滑鑷繁瀹氫箟鐨勭姸鎬侊紝榛樿瀹炵幇鍗冲綋閿欒姣斾緥鍒拌揪鏌愪竴涓槇鍊兼椂鎴栬€呰姹傛椿璺冩暟澶т簬涓婇檺鍒欒涓哄叾涓嶅仴搴凤紝鍏佽鐢ㄦ埛鎵╁睍鍋ュ悍妫€娴嬬瓥鐣ャ€�
-
-鍦ㄦ垜浠湇鍔℃不鐞嗛噷闈紝鏍稿績鐨勯棶棰樺叾瀹炲氨鍦ㄤ簬濡備綍鍒ゆ柇涓€涓疄渚嬫槸鍚﹀彲鐢ㄣ€傛棤璁烘槸璐熻浇鍧囪 銆�
-
-鐔旀柇杩樻槸闄愭祦锛岄兘鏄杩欎釜闂鐨勮В绛斻€傛墍浠ワ紝杩欎釜 feature 鏄竴涓緢濂界殑灏濊瘯銆傚洜涓烘垜浠帴涓嬫潵璁″垝鎻愪緵鐨勭壒鎬э紝鍩轰簬瑙勫垯鐨勯檺娴佷互鍙婂姩鎬侀檺娴侊紝閮芥槸瑕佽В鍐� 鈥滃浣曟柇瀹氫竴涓疄渚嬫槸鍚﹀彲鐢ㄢ€� 杩欎箞涓€涓棶棰樸€�
-
-鎵€浠ユ杩庡ぇ瀹朵娇鐢ㄨ繖涓壒鎬э紝骞跺悜绀惧尯鍙嶉鍚勮嚜璁惧畾鐨勫仴搴锋寚鏍囥€傝繖瀵规垜浠帴涓嬫潵鐨勫伐浣滀細鏈夊緢澶х殑甯姪銆�
-
-### **鏍囩璺敱**
-
-浠� Provider 涓虹淮搴︼紝閫氳繃灏嗘煇涓€涓垨澶氫釜鏈嶅姟鐨勬彁渚涜€呭垝鍒嗗埌鍚屼竴涓垎缁勶紝绾︽潫娴侀噺鍙湪鎸囧畾鍒嗙粍涓祦杞紝浠庤€屽疄鐜版祦閲忛殧绂荤殑鐩殑锛屽彲浠ヤ綔涓鸿摑缁垮彂甯冦€佺伆搴﹀彂甯冪瓑鍦烘櫙鐨勮兘鍔涘熀纭€銆�
-
-*   闈欐€佹墦鏍囷細鏍规嵁閰嶇疆鏂囦欢鎵€閰嶇疆鐨勬爣绛撅紝鍥哄畾缁� Provider 璁剧疆鏍囩銆�
-*   鍔ㄦ€佹墦鏍囷細鍩轰簬鍋ュ悍妫€鏌ヨ矾鐢憋紝鏍规嵁鏈嶅姟涓嶅悓鏃跺埢锛屼笉鍚岀姸鎬侊紝鍔ㄦ€佸湪 Provider 璁剧疆閫傚悎鐨勬爣绛俱€�
-
-## 鍒嗘瀽
-
-鎺ョ潃锛屼互鏉′欢璺敱鍦� zookeeper 瀹炵幇涓轰緥锛屽鏈嶅姟鎻愪緵鑰呬笌鏈嶅姟娑堣垂鑰呰繘琛屾暣浣撴祦绋嬪垎鏋愩€�
-
-### 濡備綍閰嶇疆鏉′欢璺敱瑙勫垯
-
-閰嶇疆鏉′欢璺敱瑙勫垯鏃㈠彲浠ラ€氳繃鏈湴閰嶇疆鏂囦欢涔熻兘閫氳繃杩滅▼閰嶇疆涓績杩涜閰嶇疆锛岄厤缃敓鏁堟祦绋嬮兘鏄細閰嶇疆鏂囦欢 => dubbo 鍐呴儴鍗忚 => 缂撳瓨鑷冲簲鐢ㄧ骇鍐呭瓨 => 杩囨护鍑哄彲璋冪敤鑺傜偣銆�
-
-**dubbo-admin** 銆愭湇鍔℃不鐞�/鏉′欢璺敱銆戝鍔犺矾鐢辫鍒欓厤缃紝zookeeper 涓細鑷姩鐢熸垚鍏跺搴旈厤缃妭鐐癸紝鍐呭鍧囦负 **dubbo-admin** 涓缃殑閰嶇疆銆�
-
-**_鍏ㄥ眬閰嶇疆_**
-
-瀵瑰簲搴旂敤绾у叏灞€璺敱瑙勫垯閰嶇疆銆�
-
-```plain
-/dubbo/config/dubbo/user-info-server锛堝簲鐢ㄥ悕锛�.condition-router
-```
-
-搴旂敤鍚嶏細鍙 user-info-server 搴旂敤鐢熸晥 .condition-router: 璺敱绫诲瀷銆傞櫎姝や箣澶栵紝杩樻湁 .tag-router 琛ㄧず鏍囩璺敱銆�
-
-**_鏈嶅姟閰嶇疆_**
-
-瀵瑰簲鏈嶅姟绾ф墍鏈夎矾鐢辫鍒欓厤缃€�
-
-```plain
-/dubbo/ com.ikurento.user.UserProvider锛堟湇鍔″悕锛� /routers
-```
-
-鏈嶅姟鍚嶏細鍙 com.ikurento.user.UserProvider 鏈嶅姟鐢熸晥銆�
-
-## 瀹炵幇 Router
-
-![router-route.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-g.png)
-
-浠ヤ笅涓哄繀椤诲疄鐜扮殑鏂规硶锛屼互涓嬫柟娉曠敤浜庤幏鍙栬繃婊ゆ湇鍔$鑺傜偣閰嶇疆銆�
-
-*   Route: 鏍规嵁閰嶇疆锛岃皟鐢ㄨ妭鐐逛笌琚皟鐢ㄨ妭鐐癸紝杩囨护鍑哄彲璋冪敤鑺傜偣銆�
-*   Priority: 璺敱瑙勫垯浼樺厛绾э紝闇€瑕佹槸涓鏁存暟銆�
-*   URL: 閫氳繃璺敱瑙勫垯杞崲鍑烘潵鐨� dubbo 鍐呴儴鍗忚銆�
-
-鏇村瀹炵幇鍙傝€冿細
-
-璺敱瑙勫垯锛歔https://github.com/apache/dubbo-go/tree/master/cluster/router/condition](https://github.com/apache/dubbo-go/tree/master/cluster/router/condition)
-
-鍏朵腑鍖呭惈鐩戝惉閰嶇疆涓績瀹炵幇锛歔https://github.com/apache/dubbo-go/blob/master/cluster/router/condition/listenable\_router.go](https://github.com/apache/dubbo-go/blob/master/cluster/router/condition/listenable_router.go)
-
-# 浣跨敤鏂规硶
-
-缁忚繃涓婇潰璁捐涓庡疄鐜扮殑鍒嗘瀽锛屽ぇ姒備篃鑳界寽娴嬪埌濡備綍浣跨敤锛�
-
-![router-import.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-h.png)
-
-濡傚浘鎵€绀猴紝浣跨敤璺敱瑙勫垯骞朵笉澶嶆潅锛屽彧闇€瑕佹妸瀵瑰簲鐨勪緷璧栧紩鍏ヨ繘鏉ャ€傚湪鍖呭垵濮嬪寲鐨勬椂鍊欙紝浼氬垱寤哄嚭鏉ュ搴旂殑璺敱瑙勫垯鐨勫疄鐜般€傛瘮濡傝鍔犺浇鏉′欢璺敱銆佸仴搴锋娴嬭矾鐢辨垨鑰呮爣绛句綔涓鸿矾鐢辫鍒欙細
-
-## 鏈湴璺敱瑙勫垯閰嶇疆
-
-```plain
-_ "github.com/apache/dubbo-go/cluster/router/condition"
-```
-
-浠呬粎寮曠敤渚濊禆鍖呰繕涓嶇洿鎺ヤ娇鐢紝杩橀渶瑕侀厤缃寚瀹氱殑閰嶇疆鏂囦欢锛� **_router\_config.yml_** 锛屽唴瀹瑰涓�:
-
-```plain
-# dubbo router yaml configure file
-priority: 1
-force: true
-conditions : ["host = 1.1.1.1 => host = 192.168.199.214"]
-```
-
-鏇村閰嶇疆鏂瑰紡锛歔鏉′欢璺敱閰嶇疆](http://dubbo.apache.org/zh-cn/docs/user/demos/routing-rule.html)
-
-## 閰嶇疆涓績閰嶇疆
-
-```plain
-_ "github.com/apache/dubbo-go/config_center/zookeeper"
-```
-
-鐩墠浠呮敮鎸� zookeeper 閰嶇疆涓績锛屼笌 dubbo-admin 缁撳悎鍗冲彲浣跨敤銆傞厤缃柟寮忓涓嬶細
-
-![dubbo-admin-1.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-i.png)
-
-![dubbo-admin-2.png](../../pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-j.png)
-
-# 鎬荤粨
-
-鏇村姞鍏蜂綋鐨勫疄鐜帮紝鎴戝氨涓嶈缁嗚杩帮紝澶у鍙互鍘荤湅婧愮爜锛屾杩庡ぇ瀹舵寔缁叧娉紝鎴栬€呰础鐚唬鐮併€�
-
-鏁翠釜璺敱瑙勫垯鍔熻兘锛屽凡缁忚兘璺熶笂 dubbo 2.7.x 鐗堟湰锛屽凡缁忔敮鎸佹湰鍦板強杩滅璺敱瑙勫垯閰嶇疆绠$悊銆備粠鎵╁睍鎬ф潵璇达紝鏄瘮杈冧究鍒┿€傜洰鍓嶅凡缁忔敮鎸佹潯浠惰矾鐢便€佹爣绛捐矾鐢变笌鍋ュ悍妫€娴嬭矾鐢憋紝铏界劧鑳芥弧瓒冲熀鏈娇鐢ㄥ満鏅紝璺濈瀹屽杽杩樻湁杩橀暱杩滅殑璺€�
-
-鏈潵璁″垝锛�
-
-1.  鏇村鐨勯厤缃腑蹇冩敮鎸侊紝鐞嗚涓婂凡缁忔敮鎸侊紝浣嗚繕娌℃祴璇曘€�
-2.  service-router锛堟湭鏀寔锛�
-3.  鏍囩璺敱-閰嶇疆涓績锛堟湭鏀寔锛�
-4.  鐩墠璺敱涓庨厤缃腑蹇冪粨鍚堢殑浠g爜锛屽鏂板璺敱瑙勫垯骞朵笉鍙嬪ソ锛屾湁涓€瀹氭帴鍏ユ垚鏈€�
-
-娆㈣繋澶у鍏虫敞鎴栬€呰础鐚唬鐮侊紝[https://github.com/apache/dubbo-go](https://github.com/apache/dubbo-go)
-
-Written on March 31, 2020
\ No newline at end of file
diff --git a/doc/md/rpc/dubb-go-adaptive-grpc.md b/doc/md/rpc/dubb-go-adaptive-grpc.md
deleted file mode 100644
index 2105d23ef6d5c41b5a3d15e8309a6c39573cce97..0000000000000000000000000000000000000000
--- a/doc/md/rpc/dubb-go-adaptive-grpc.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# [鏃犵紳琛旀帴 gRPC 涓� dubbo-go](https://developer.aliyun.com/article/742946)
-
-[涓棿浠跺皬鍝(https://developer.aliyun.com/profile/g6g63f3lanvck) 2020-01-19 1530娴忚閲�
-
-**绠€浠嬶細**
-
-鏈€杩戞垜浠� dubbo-go 绀惧尯閲岄潰锛屽懠澹板緢澶х殑涓€涓� feature 灏辨槸瀵� gRPC 鐨勬敮鎸併€傚湪鏌愪綅澶т浆鐨勪笉鎳堝姫鍔涗箣涓嬶紝缁堜簬寮勫嚭鏉ヤ簡銆�
-
-浠婂ぉ鎴戝氨缁欏ぇ瀹跺垎鏋愪竴涓嬪ぇ浣槸鎬庝箞杩炴帴 dubbo-go 鍜� gRPC 銆�
-
-## gRPC
-
-鍏堟潵绠€鍗曚粙缁嶄竴涓� gRPC 銆傚畠鏄� Google 鎺ㄥ嚭鏉ョ殑涓€涓� RPC 妗嗘灦銆俫RPC鏄€氳繃 IDL ( Interface Definition Language )鈥斺€旀帴鍙e畾涔夎瑷€鈥斺€旂紪璇戞垚涓嶅悓璇█鐨勫鎴风鏉ュ疄鐜扮殑銆傚彲浠ヨ鏄疪PC鐞嗚鐨勪竴涓潪甯搁潪甯告爣鍑嗙殑瀹炵幇銆�
-
-鍥犺€� gRPC 澶╃劧灏辨敮鎸佸璇█銆傝繖鍑犲勾锛屽畠鍑犱箮鎴愪负浜嗚法璇█ RPC 妗嗘灦鐨勬爣鍑嗗疄鐜版柟寮忎簡锛屽緢澶氫紭绉€鐨剅pc妗嗘灦锛屽 Spring Cloud 鍜� dubbo 锛岄兘鏀寔 gRPC 銆�
-
-server 绔�
-
-鍦� Go 閲岄潰锛宻erver 绔殑鐢ㄦ硶鏄細  
-![1](../../pic/rpc/dubb-go-adaptive-grpc-a.png "1")
-
-瀹冪殑鍏抽敭閮ㄥ垎鏄細`s := grpc.NewServer()`鍜宍pb.RegisterGreeterServer(s, &server{})`涓や釜姝ラ銆傜涓€涓楠ゅ緢瀹规槗锛屽敮鐙浜屼釜姝ラ`RegisterGreeterServer`鏈夌偣楹荤儲銆備负浠€涔堝憿锛�
-
-鍥犱负`pb.RegisterGreeterServer(s, &server{})`杩欎釜鏂规硶鏄€氳繃鐢ㄦ埛瀹氫箟鐨刞protobuf`缂栬瘧鍑烘潵鐨勩€�
-
-濂藉湪锛岃繖涓紪璇戝嚭鏉ョ殑鏂规硶锛屾湰璐ㄤ笂鏄細
-
-![2](../../pic/rpc/dubb-go-adaptive-grpc-b.png "2")
-
-涔熷氨鏄锛屽鏋滄垜浠湪 dubbo-go 閲岄潰鎷垮埌杩欎釜 \_Greeter\_serviceDesc 锛屽氨鍙互瀹炵幇杩欎釜 server 鐨勬敞鍐屻€傚洜姝わ紝鍙互鐪嬪埌锛屽湪 dubbo-go 閲岄潰锛岃瑙e喅鐨勪竴涓叧閿棶棰樺氨鏄浣曟嬁鍒拌繖涓� serviceDesc 銆�
-
-## Client 绔�
-
-Client 绔殑鐢ㄦ硶鏄細  
-![3](../../pic/rpc/dubb-go-adaptive-grpc-c.png "3")
-
-杩欎釜涓滆タ瑕佸鏉備竴鐐癸細  
-1銆佸垱寤鸿繛鎺ワ細conn, err := grpc.Dial(address)  
-2銆佸垱寤篶lient锛歝 := pb.NewGreeterClient(conn)  
-3銆佽皟鐢ㄦ柟娉曪細r, err := c.SayHello(ctx, &pb.HelloRequest{Name: name})
-
-绗竴涓棶棰樺叾瀹炴尯濂借В鍐崇殑锛屾瘯绔熸垜浠彲浠ヤ粠鐢ㄦ埛鐨勯厤缃噷闈㈣鍑� address 锛�
-
-绗簩涓棶棰樺氨鏄渶闅剧殑鍦版柟浜嗐€傚鍚� RegisterGreeterServer 鏄缂栬瘧鍑烘潵鐨勯偅鏍凤紝杩欎釜 NewGreeterClient 涔熸槸琚紪璇戝嚭鏉ョ殑銆�
-
-鑰岀涓変釜闂锛屼箥涓€鐪嬫槸鐢ㄥ弽灏勫氨鑳借В鍐筹紝浣嗘槸鎴戜滑鎵撳紑 SayHello 灏辫兘鐪嬪埌锛�  
-![4](../../pic/rpc/dubb-go-adaptive-grpc-d.png "4")
-
-缁撳悎 greetClient 鐨勫畾涔夛紝寰堝鏄撶湅鍒帮紝鎴戜滑鐨勫叧閿氨鍦ㄤ簬 err := c.cc.Invoke ( ctx, "/helloworld.Greeter/SayHello", in, out, opts... )銆傛崲瑷€涔嬶紝鎴戜滑鍙渶瑕佸垱寤哄嚭鏉ヨ繛鎺ワ紝骞朵笖鎷垮埌鏂规硶銆佸弬鏁板氨鑳介€氳繃绫讳技鐨勮皟鐢ㄦ潵妯℃嫙鍑� c.SayHello 銆�
-
-閫氳繃瀵� gRPC 鐨勭畝鍗曞垎鏋愶紝鎴戜滑澶ф鐭ラ亾瑕佹€庝箞寮勪簡銆傝繕鍓╀笅涓€涓棶棰橈紝灏辨槸鎴戜滑鐨勮В鍐虫柟妗堟€庝箞鍜� dubbo-go 缁撳悎璧锋潵鍛紵
-
-## 璁捐
-
-鎴戜滑鍏堟潵鐪嬩竴涓� dubbo-go 鐨勬暣浣撹璁★紝鎬濊€冧竴涓嬶紝濡傛灉鎴戜滑瑕佸仛 gRPC 鐨勯€傞厤锛屽簲璇ユ槸鍦ㄥ摢涓眰娆′笂鍋氶€傞厤銆�  
-![5](../../pic/rpc/dubb-go-adaptive-grpc-e.png "5")
-
-鎴戜滑鏍规嵁鍓嶉潰浠嬬粛鐨� gRPC 鐨勭浉鍏崇壒鎬у彲浠ョ湅鍑烘潵锛実RPC 宸茬粡瑙e喅浜� codec 鍜� transport 涓ゅ眰鐨勯棶棰樸€�
-
-鑰屼粠 cluster 寰€涓婏紝鏄剧劧 gRPC 娌℃湁娑夊強銆備簬鏄紝浠庤繖涓浘閲岄潰鎴戜滑灏卞彲浠ョ湅鍑烘潵锛岃鍋氳繖绉嶉€傞厤锛岄偅涔� protocol 杩欎竴灞傛槸鏈€鍚堥€傜殑銆傚嵆锛屾垜浠彲浠ュ鍚� dubbo protocol 閭h埇锛屾墿灞曞嚭鏉ヤ竴涓� grpc protocol 銆�
-
-杩欎釜 gRPC protocol 澶т綋涓婄浉褰撲簬涓€涓€傞厤鍣紝灏嗗簳灞傜殑 gRPC 鐨勫疄鐜板拰鎴戜滑鑷韩鐨� dubbo-go 杩炴帴鍦ㄤ竴璧枫€�
-
-![6](../../pic/rpc/dubb-go-adaptive-grpc-f.png "6")
-
-## 瀹炵幇
-
-鍦� dubbo-go 閲岄潰锛屽拰 gRPC 鐩稿叧鐨勪富瑕佹槸锛�
-
-![7](../../pic/rpc/dubb-go-adaptive-grpc-g.png "7")
-
-鎴戜滑鐩存帴杩涘幓鐪嬬湅鍦� gRPC 灏忚妭閲岄潰鎻愬埌鐨勮鐐规槸濡備綍瀹炵幇鐨勩€�
-
-### server绔�
-
-![8](../../pic/rpc/dubb-go-adaptive-grpc-h.png "8")
-
-杩欐牱鐪嬭捣鏉ワ紝杩樻槸寰堟竻鏅扮殑銆傚鍚� dubbo- go 鍏跺畠鐨� protocol 涓€鏍凤紝鍏堟嬁鍒� service 锛岃€屽悗閫氳繃 service 鏉ユ嬁鍒� serviceDesc 锛屽畬鎴愭湇鍔$殑娉ㄥ唽銆�
-
-娉ㄦ剰涓€涓嬩笂鍥炬垜绾㈢嚎鏍囧噯鐨� ds, ok := service.(DubboGrpcService) 杩欎竴鍙ャ€�
-
-涓轰粈涔堟垜璇磋繖涓湴鏂规湁鐐瑰鎬憿锛熸槸鍥犱负鐞嗚涓婃潵璇达紝鎴戜滑杩欓噷娉ㄥ唽鐨勮繖涓� service 瀹為檯涓婂氨鏄� protobuf 缂栬瘧涔嬪悗鐢熸垚鐨� gRPC 鏈嶅姟绔殑閭d釜 service 鈥斺€斿緢鏄剧劧锛屽崟绾殑缂栬瘧涓€涓� protobuf 鎺ュ彛锛屽畠鑲畾涓嶄細瀹炵幇 DubboGrpcService 鎺ュ彛锛�
-
-![9](../../pic/rpc/dubb-go-adaptive-grpc-n.png "9")
-
-閭d箞 ds, ok := service.(DubboGrpcService) 杩欎竴鍙ワ紝绌剁珶鎬庝箞鎵嶈兘璁╁畠鑳藉鎵ц鎴愬姛鍛紵
-
-鎴戜細鍦ㄥ悗闈㈢粰澶у鎻檽杩欎釜璋滃簳銆�
-
-## Client绔�
-
-dubbo-go 璁捐浜嗚嚜韬殑 Client 锛屼綔涓哄 gRPC 閲岄潰 Client 鐨勪竴绉嶆ā鎷熶笌灏佽锛�  
-![10](../../pic/rpc/dubb-go-adaptive-grpc-i.png "10")
-
-娉ㄦ剰鐪嬶紝杩欎釜 Client 鐨勫畾涔変笌鍓嶉潰 greetClient 鐨勫畾涔夊強鍏剁浉浼笺€傚啀鐪嬩笅闈㈢殑 NewClient 鏂规硶锛岄噷闈篃鏃犻潪灏辨槸鍒涘缓浜嗚繛鎺� conn 锛岃€屽悗鍒╃敤 conn 閲屽垱寤轰簡涓€涓� Client 瀹炰緥銆�
-
-娉ㄦ剰鐨勬槸锛岃繖閲岄潰缁存姢鐨� invoker 瀹為檯涓婃槸涓€涓� stub 銆�
-
-褰撶湡姝e彂璧疯皟鐢ㄧ殑鏃跺€欙細
-
-![11](../../pic/rpc/dubb-go-adaptive-grpc-j.png "11")
-
-绾㈣壊妗嗘妗嗕綇鐨勫氨鏄叧閿楠ゃ€傚埄鐢ㄥ弽灏勪粠 invoker 鈥斺€斾篃灏辨槸 stub 鈥斺€旈噷闈㈡嬁鍒拌皟鐢ㄧ殑鏂规硶锛岃€屽悗閫氳繃鍙嶅皠璋冪敤銆�
-
-### 浠g爜鐢熸垚
-
-鍓嶉潰鎻愬埌杩� ds, ok := service.(DubboGrpcService) 杩欎竴鍙ワ紝闈复鐨勯棶棰樻槸濡備綍璁� protobuf 缂栬瘧鐢熸垚鐨勪唬鐮佽兘澶熷疄鐜� DubboGrpcService 鎺ュ彛鍛紵
-
-鏈変簺灏忎紮浼村彲鑳戒篃娉ㄦ剰鍒帮紝鍦ㄦ垜璐村嚭鏉ョ殑涓€浜涗唬鐮侀噷闈紝鍙嶅皠鎿嶄綔浼氭牴鎹悕瀛楁潵鑾峰彇method瀹炰緥锛屾瘮濡侼ewClient鏂规硶閲岄潰鐨刴ethod := reflect.ValueOf(impl).MethodByName("GetDubboStub")杩欎竴鍙ャ€傝繖涓€鍙ョ殑impl锛屽嵆鎸囨湇鍔$殑瀹炵幇锛屼篃鏄� protobuf 閲岄潰缂栬瘧鍑烘潵鐨勶紝鎬庝箞璁� protobuf 缂栬瘧鍑烘潵鐨勪唬鐮侀噷闈㈠惈鏈夎繖涓� GetDubboStub 鏂规硶鍛紵
-
-鍒拌繖閲岋紝绛旀宸茬粡鍛间箣娆插嚭浜嗭細淇敼 protobuf 缂栬瘧鐢熸垚浠g爜鐨勯€昏緫锛�
-
-搴嗗垢鐨勬槸锛屽湪 protobuf 閲岄潰鍏佽鎴戜滑閫氳繃鎻掍欢鐨勫舰寮忔墿灞曟垜浠嚜宸辩殑浠g爜鐢熸垚鐨勯€昏緫銆�
-
-鎵€浠ユ垜浠彧闇€瑕佹敞鍐屼竴涓垜浠嚜宸辩殑鎻掍欢锛�  
-![12](../../pic/rpc/dubb-go-adaptive-grpc-k.png "12")
-
-鐒跺悗杩欎釜鎻掍欢浼氭妸鎴戜滑鎵€闇€瑕佺殑浠g爜缁欏祵鍏ヨ繘鍘汇€傛瘮濡傝宓屽叆`GetDubboStub`鏂规硶锛�  
-![13](../../pic/rpc/dubb-go-adaptive-grpc-l.png "13")
-
-杩樻湁`DubboGrpcService`鎺ュ彛锛�
-
-![14](../../pic/rpc/dubb-go-adaptive-grpc-m.png "14")
-
-杩欎釜涓滆タ锛屽睘浜庨毦鑰呬笉浼氫細鑰呬笉闅俱€傚氨鏄鏋滀綘涓嶇煡閬撳彲浠ラ€氳繃`plugin`鐨勫舰寮忔潵淇敼鐢熸垚鐨勪唬鐮侊紝閭e氨鏄湡闅撅紱浣嗘槸濡傛灉鐭ラ亾浜嗭紝杩欎釜涓滆タ灏卞緢绠€鍗曚簡鈥斺€旀棤闈炲氨鏄按纾ㄥ伐澶舰浜嗐€�
-
-**浣滆€呬俊鎭細**閭撴槑锛屾瘯涓氫簬鍗椾含澶у锛屽氨鑱屼簬 eBay Payment 閮ㄩ棬锛岃礋璐i€€娆句笟鍔″紑鍙戙€�
-
-缂栬В鐮� 鑷劧璇█澶勭悊 Dubbo Java 搴旂敤鏈嶅姟涓棿浠� Go Spring
\ No newline at end of file
diff --git a/doc/md/rpc/dubbo-go-trusted-RPC-call-implementation.md b/doc/md/rpc/dubbo-go-trusted-RPC-call-implementation.md
deleted file mode 100644
index 7b0b147a777dd5f47610b8ca3f010b0ae9ba0760..0000000000000000000000000000000000000000
--- a/doc/md/rpc/dubbo-go-trusted-RPC-call-implementation.md
+++ /dev/null
@@ -1,136 +0,0 @@
-# [dubbo-go 鍙俊 RPC 璋冪敤瀹炵幇](https://mp.weixin.qq.com/s/30CjBKheCZClKaZCw1DRZA)
-
-Apache Dubbo/Dubbo-Go 浣滀负闃块噷宸村反寮€婧愮殑涓€娆炬湇鍔℃不鐞嗘鏋讹紝鍥犲叾閫傚簲 Java/Go 寮€鍙戣€呴潰鍚戞帴鍙g殑缂栫▼涔犳儻銆佸畬鍏ㄩ€忔槑鐨勮皟鐢ㄦ柟寮忋€佷紭瓒婄殑鎬ц兘浠ュ強寮哄ぇ鐨勬墿灞曟€х瓑浼樼偣锛屽湪鍥藉唴浣跨敤闈炲父骞挎硾銆傞櫎姝や箣澶栵紝Dubbo 寮€婧愮増鏈師鐢熼泦鎴愪簡寰堝寮€绠卞嵆鐢ㄧ殑鏈嶅姟娌荤悊鍔熻兘锛屽寘鎷摼璺拷韪紝璺敱銆佽礋杞藉潎琛°€佹湇鍔℃敞鍐屽彂鐜般€佺洃鎺с€佽璇佺瓑銆�
-
-鏈枃灏嗚瑙e浣曞湪 Dubbo/Dubbo-Go 涓疄鐜扮伒娲汇€佸畨鍏ㄥ拰楂樻晥鐨勮韩浠介獙璇佸拰鎺堟潈鏂规銆�
-
-## 瀹氫箟鍙俊
-
-浣曚负鍙俊锛熷彲淇$殑瀹氫箟寰堝箍娉涳紝渚濆満鏅笉鍚屾湁涓嶅悓鐨勫畾涔夈€傚湪寰湇鍔℃灦鏋勪腑锛屾瘡涓湇鍔¢兘鏄棤鐘舵€佺殑锛屽涓湇鍔′箣闂翠笉鍙俊锛屼负浜嗗疄鐜版湇鍔¢棿鏇村ソ鍦伴殧绂伙紝鏈嶅姟闂村簲杩涜璁よ瘉鍜岄壌鏉冦€�
-
-濡傛敮浠樹箣绫荤殑涓氬姟鍦烘櫙锛屽畨鍏ㄦ€ф晱鎰熺殑鏈嶅姟浼氭湁闄愬埗鍖垮悕绯荤粺璋冪敤鐨勯渶姹傦紝鍏朵粬涓氬姟鍦ㄦ帴鍏ヨ绫绘晱鎰熶笟鍔′箣鍓嶏紝闇€瑕侀€氳繃瀹℃壒鏂瑰彲姝e父璋冪敤锛岃繖灏遍渶瑕佸杩欑被鏁忔劅鏈嶅姟杩涜鏉冮檺绠℃帶銆傚敖绠� Dubbo 寮€婧愮増鏈腑鏀寔 Token 鏂瑰紡鐨勯壌鏉冨疄鐜帮紝浣嗘槸璇ュ疄鐜版柟寮忔€讳綋鏉ヨ瀹夊叏鎬у苟涓嶉珮锛屽苟涓旀棤娉曟弧瓒虫垜浠渶瑕佸姩鎬佷笅鍙戜互鍙婂彉鏇寸殑鐏垫椿鎬ч渶姹傘€�
-
-閽堝浜庢锛屾垜浠唴閮ㄧ潃閲嶄粠宸╁浐瀹夊叏鎬у拰鎷撳睍鐏垫椿鎬у眰闈㈤噸鏂拌璁′簡涓€濂� Dubbo/Dubbo-Go 鐨勬湇鍔¢棿璋冪敤鐨勯壌鏉冭璇佸姛鑳姐€傛湰鏂囨垜浠皢涓昏浠庡疄鐜板眰闈㈣瑙e叾澶ц嚧瀹炵幇鎬濊矾銆�
-
-## 鍙俊鏂规
-
-鎬讳綋鑰岃█锛岄壌鏉冭璇佷富瑕佽璁轰互涓嬩袱涓棶棰橈細
-
-1.韬唤璁よ瘉锛氭寚楠岃瘉搴旂敤鐨勮韩浠斤紝姣忎釜搴旂敤鍦ㄥ叾鐢熷懡鍛ㄦ湡鍐呭彧鏈夊敮涓€韬唤锛屾棤娉曞彉鏇村拰浼€犮€�
-
-2.鏉冮檺閴村畾锛氭牴鎹韩浠戒俊鎭壌瀹氭潈闄愭槸鍚︽弧瓒宠皟鐢ㄣ€傛潈闄愮矑搴﹀彲浠ヨ繘琛屾帶鍒躲€�
-
-鎴戜滑閫氳繃 Access Key ID/Secret Access Key (鍚庢枃绠€绉颁负 AK/SK) 淇℃伅鏍囪瘑搴旂敤鍜屽簲鐢ㄤ箣闂寸殑韬唤鍏崇郴銆備緥濡備笂娓� 搴旂敤 A 渚濊禆涓嬫父 鏈嶅姟 B 鍜� C锛屽垯 A 瀵� B 鍜� C 鍒嗗埆鏈変竴濂� AK/SK锛屽叾鐩镐簰鐙珛娌℃湁浠讳綍鍏崇郴锛屽氨绠� A 鏈嶅姟 鐨� AK/SK 淇℃伅娉勬紡锛屼篃鏃犳硶閫氳繃璇� AK/SK 淇℃伅璋冪敤鍏朵粬鐨勬湇鍔°€�
-
-鍦ㄦ潈闄愰壌瀹氭柟闈篃鍊熼壌浜嗗叕鏈変簯寮€鏀� API 甯哥敤鐨� AK/SK 绛惧悕鏈哄埗銆傚湪璇锋眰杩囩▼涓娇鐢� SK 绛惧悕鐢熸垚 SigningKey锛屽苟閫氳繃 Dubbo 鐨� attachment 鏈哄埗灏嗛澶栫殑鍏冩暟鎹俊鎭互鍙� SigningKey 浼犺緭鍒版湇鍔$锛屼氦鐢辨湇鍔$璁$畻鍜岄獙绛撅紝楠岀閫氳繃鏂硅兘姝e父澶勭悊鍜屽搷搴斻€�
-
-绛惧悕杩囩▼涓昏閫氳繃濡備笅涓変釜鏂瑰紡杩涜鍔犲己 SigningKey 鐨勫彲闈犳€у拰瀹夊叏鎬с€�
-
-1銆侀獙璇佽姹傝€呯殑韬唤锛岀鍚嶄細閫氳繃瀵瑰簲搴旂敤鐨� SK 浣滀负鍔犲瘑瀵嗛挜瀵硅姹傚厓鏁版嵁(浠ュ強鍙傛暟)杩涜鍔犲瘑锛屼繚璇佺鍚嶇殑鍞竴鎬у拰涓嶅彲浼€犳€с€�
-2銆佹敮鎸佸鍙傛暟杩涜璁$畻绛惧悕锛岄槻姝㈤潪娉曠鏀癸紝鑻ヨ姹傚弬鏁板湪浼犺緭杩囩▼涓伃鍒伴潪娉曠鏀癸紝鍒欐敹鍒拌姹傚悗鏈嶅姟绔獙绛惧尮閰嶅皢澶辫触锛岃韩浠芥牎楠屾棤娉曢€氳繃锛屼粠鑰岄槻姝㈣姹傚弬鏁拌绡℃敼銆傝€冭檻鍒扮鍚嶄互鍙婇獙绛捐繃绋嬩腑鍔犲叆璇锋眰鍙傛暟鐨勮绠楀彲鑳戒細褰卞搷鎬ц兘锛岃繖涓繃绋嬫槸鍙€夌殑銆�
-3銆侀槻姝㈤噸鏀炬敾鍑伙紝姣忎竴娆¤姹傜敓鎴愮殑 SigningKey 閮藉叿鏈夋寚瀹氱殑鏈夋晥鏃堕棿锛屽璇锋眰琚埅鑾凤紝璇ヨ姹傛棤娉曞湪鏈夋晥鏃堕棿澶栬繘琛岃皟鐢紝涓€瀹氱▼搴﹂伩鍏嶄簡閲嶆斁鏀诲嚮銆�
-
-鍚屾椂涓轰簡鍘绘帀鏄庢枃閰嶇疆锛岄槻姝� AK/SK 淇℃伅娉勬紡锛屾垜浠€氳繃閴存潈绯荤粺鍒嗗彂鍜岀鐞嗘墍鏈� AK/SK 淇℃伅銆傞€氳繃瀵规帴鍐呴儴瀹℃壒娴佺▼锛岃揪鍒版祦绋嬪寲鍜岃鑼冨寲锛岄渶瑕侀壌鏉冪殑搴旂敤浼氶€氳繃鍚姩鑾峰彇鐨勬柟寮忔媺褰撳墠搴旂敤鍒嗗彂鍑哄幓鎴栬€呮槸宸茶鎺堟潈鐨� AK/SK 淇℃伅銆傝繖绉嶆柟寮忎篃甯︽潵浜嗗彟涓€绉嶅ソ澶勶紝鏂板銆佸悐閿€浠ュ強鏇存柊鏉冮檺淇℃伅涔熸棤闇€閲嶅惎搴旂敤銆�
-
-## 鍙俊娴佺▼
-
-缁撳悎涓婇潰鐨勮繖浜涢渶姹傚拰鏂规锛屾暣涓帴鍏ュ拰閴存潈娴佺▼鍥惧涓嬫墍绀猴細
-
-![](../../pic/rpc/dubbo-go-trusted-RPC-call-implementation-1.png)
-
-鏁翠綋娴佺▼濡備笅锛�
-
-1銆佷娇鐢ㄨ鍔熻兘鐨勫簲鐢ㄩ渶瑕佹彁鍓嶇敵璇峰搴旂殑璇佷功锛屽苟鍚戞彁渚涙湇鍔$殑搴旂敤鎻愪氦鐢宠璁块棶宸ュ崟锛岀敱鍙屾柟璐熻矗浜哄鎵归€氳繃鍚庯紝璇锋眰閴存潈鏈嶅姟涓績鑷姩鐢熸垚閿€煎銆�
-
-2銆佸紑鍚壌鏉冭璇佺殑鏈嶅姟鍦ㄥ簲鐢ㄥ惎鍔ㄤ箣鍚庯紝浼氳繍琛屼竴涓悗鍙扮嚎绋嬶紝闀胯疆璇㈣繙閴存潈鏈嶅姟涓績锛屾煡璇㈡槸鍚︽湁鏂板鏉冮檺鍙樺姩淇℃伅锛屽鏋滄湁鍒欒繘琛屽叏閲�/澧為噺鐨勬媺鍙栥€�
-3銆佷笂娓稿簲鐢ㄥ湪璇锋眰闇€瑕侀壌鏉冪殑鏈嶅姟鏃讹紝浼氶€氳繃 SK 浣滀负绛惧悕绠楁硶鐨� key锛屽鏈璇锋眰鐨勫厓鏁版嵁淇℃伅鐢氳嚦鏄弬鏁颁俊鎭繘琛岃绠楀緱鍒扮鍚嶏紝閫氳繃 Dubbo 鍗忚 Attachment 瀛楁浼犻€佸埌瀵圭锛岄櫎姝や箣澶栬繕鏈夎姹傛椂闂存埑銆丄K 淇℃伅绛変俊鎭€�
-4銆佷笅娓稿簲鐢ㄥ湪澶勭悊閴存潈鏈嶅姟鏃朵細瀵硅姹傞獙绛撅紝楠岀閫氳繃鍒欑户缁鐞嗚姹傦紝鍚﹀垯鐩存帴杩斿洖寮傚父銆�
-
-鍏朵腑闇€瑕佽鏄庣殑鏄涓夋锛屼娇鐢ㄩ壌鏉冩湇鍔$殑搴旂敤鍜岄壌鏉冩湇鍔′腑蹇冪殑浜や簰闇€閫氳繃 HTTPS 鐨勫弻鍚戣璇侊紝骞跺湪 TLS 淇¢亾涓婅繘琛屾暟鎹氦浜掞紝淇濊瘉 AK/SK 淇℃伅浼犺緭鐨勫畨鍏ㄦ€с€�
-
-璇ユ柟妗堢洰鍓嶅凡缁忔湁 Java/Go 瀹炵幇锛屽潎宸插悎骞跺埌 dubbo/dubbo-go銆傞櫎浜嗛粯璁ょ殑 Hmac 绛惧悕绠楁硶瀹炵幇涔嬪锛屾垜浠皢绛惧悕鍜岃璇佹柟娉曡繘琛屾娊璞★紝浠� dubbo-go 涓殑瀹炵幇涓轰緥锛�
-
-```go
-// Authenticator
-type Authenticator interface {
-    // Sign
-    // give a sign to request
-    Sign(protocol.Invocation, *common.URL) error
-    // Authenticate
-    // verify the signature of the request is valid or not
-    Authenticate(protocol.Invocation, *common.URL) error
-}
-```
-
-浣跨敤鑰呭彲閫氳繃 SPI 鏈哄埗瀹氬埗绛惧悕鍜岃璇佹柟寮忥紝浠ュ強閫傞厤鍏徃鍐呴儴鍩虹璁炬柦鐨勫瘑閽ユ湇鍔′笅鍙� AK/SK銆�
-
-## 绀轰緥
-
-浠� Helloworld 绀轰緥 涓殑浠g爜鎺ュ叆褰撳墠绀惧尯鐗堟湰涓殑榛樿閴存潈璁よ瘉鍔熻兘瀹炵幇涓轰緥锛�
-
-### Helloworld 绀轰緥锛�
-
-https://github.com/apache/dubbo-samples/tree/master/golang/helloworld/dubbo
-
-鍦ㄦ棤闇€鏀瑰彉浠g爜鐨勬儏鍐典笅锛屽彧闇€瑕佸湪閰嶇疆涓婂鍔犻澶栫殑鐩稿叧閴存潈閰嶇疆鍗冲彲锛宒ubbo-go 鏈嶅姟绔厤缃ず渚嬪涓嬶細
-
-```yml
-services:
-  "UserProvider":
-    # 鍙互鎸囧畾澶氫釜registry锛屼娇鐢ㄩ€楀彿闅斿紑;涓嶆寚瀹氶粯璁ゅ悜鎵€鏈夋敞鍐屼腑蹇冩敞鍐�
-    registry: "hangzhouzk"
-    protocol: "dubbo"
-    # 鐩稿綋浜巇ubbo.xml涓殑interface
-    interface: "com.ikurento.user.UserProvider"
-    loadbalance: "random"
-    # 鏈湇鍔″紑鍚痑uth
-    auth: "true"
-    # 鍚敤auth filter锛屽璇锋眰杩涜楠岀
-    filter: "auth"
-    # 榛樿瀹炵幇閫氳繃閰嶇疆鏂囦欢閰嶇疆AK銆丼K
-    params:
-      .accessKeyId: "SYD8-23DF"
-      .secretAccessKey: "BSDY-FDF1"
-    warmup: "100"
-    cluster: "failover"
-    methods:
-      - name: "GetUser"
-        retries: 1
-        loadbalance: "random"
-```
-
-dubbo-go 瀹㈡埛绔厤缃ず渚嬪涓嬶細
-
-```yml
-references:
-  "UserProvider":
-    # 鍙互鎸囧畾澶氫釜registry锛屼娇鐢ㄩ€楀彿闅斿紑;涓嶆寚瀹氶粯璁ゅ悜鎵€鏈夋敞鍐屼腑蹇冩敞鍐�
-    registry: "hangzhouzk"
-    protocol: "dubbo"
-    interface: "com.ikurento.user.UserProvider"
-    cluster: "failover"
-    # 鏈湇鍔″紑鍚痵ign filter锛岄渶瑕佺鍚�
-    filter: "sign"
-    # 榛樿瀹炵幇閫氳繃閰嶇疆鏂囦欢閰嶇疆AK銆丼K
-    params:
-      .accessKeyId: "SYD8-23DF"
-      .secretAccessKey: "BSDY-FDF1"
-    methods:
-      - name: "GetUser"
-        retries: 3
-```
-
-鍙互鐪嬪埌锛宒ubbo-go 鎺ュ叆閴存潈璁よ瘉鐨勫姛鑳戒篃鍗佸垎绠€鍗曘€傞渶瑕佽ˉ鍏呰鏄庣殑鏄紝閰嶇疆鏂囦欢鏂囦欢涓� ak/sk 閮藉姞浜嗙壒娈婂墠缂€ "."锛屾槸涓轰簡璇存槑璇ュ瓧娈垫槸鏁忔劅淇℃伅锛屼笉鑳藉湪鍙戣捣缃戠粶璇锋眰鏃朵紶杈撳嚭鍘伙紝鐩稿叧浠g爜鍙弬闃� dubbo-go-pr-509銆�
-
-dubbo-go-pr-509锛�
-https://github.com/apache/dubbo-go/pull/509
-
-## 鎬荤粨
-
-Apache Dubbo 浣滀负涓€娆捐€佽€屽讥鏂扮殑鏈嶅姟娌荤悊妗嗘灦锛屾棤璁烘槸鍏惰嚜韬繕鏄叾鐢熸€侀兘杩樺湪椋為€熻繘鍖栦腑銆傛湰鏂囨弿杩扮殑鏈€鏂板疄鐜扮殑鍙俊鏈嶅姟璋冪敤锛屾槸涓轰簡閬垮厤鏁忔劅鎺ュ彛琚尶鍚嶇敤鎴疯皟鐢ㄨ€屽湪 SDK 灞傞潰鎻愪緵鐨勯澶栦繚闅滐紝鍦� RPC 灞傞潰淇濋殰瀹夊叏鎬с€�
-
-dubbo-go 浣滀负 Dubbo 鐢熸€佷腑鍙戝睍鏈€蹇殑鎴愬憳锛岀洰鍓嶅熀鏈笂淇濇寔涓� Dubbo 榻愬ご骞惰繘鐨勬€佸娍銆俤ubbo-go 绀惧尯閽夐拤缇ゅ彿涓� 23331795锛� 娆㈣繋浣犵殑鍔犲叆銆�
-
-- 浣滆€呬俊鎭細
-
-  閮戞辰瓒咃紝Apache Dubbo/Dubbo-Go committer锛孏ithubID: CodingSinger锛岀洰鍓嶅氨鑱屼簬涓婃捣鐖卞鑹虹鎶€鏈夐檺鍏徃锛孞ava/Golang 寮€鍙戝伐绋嬪笀銆�
diff --git a/doc/md/service-governance/dubbo-go-metrics-design.md b/doc/md/service-governance/dubbo-go-metrics-design.md
deleted file mode 100644
index d2234440c95e8391a0a9f425541ca3c8050b26b8..0000000000000000000000000000000000000000
--- a/doc/md/service-governance/dubbo-go-metrics-design.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# [eBay 閭撴槑锛歞ubbo-go 涓� metrics 鐨勮璁(https://mp.weixin.qq.com/s/_ibXd2z1RqjOJwk7jMAwig)
-
-鍙戝竷浜庯細2020 骞� 4 鏈� 22 鏃� 17:15
-
-鏈€杩戝洜涓鸿鍦� Apache/dubbo-go锛堜互涓嬬畝绉� dubbo-go 锛夐噷闈㈠疄鐜扮被浼肩殑杩欎釜 metrics 鍔熻兘锛屼簬鏄姳浜嗗緢澶氭椂闂村幓浜嗚В鐜板湪 Dubbo 閲岄潰鐨� metrics 鏄€庝箞瀹炵幇鐨勩€傝閮ㄥ垎锛屽疄闄呬笂鏄鏀惧湪涓€涓嫭绔嬬殑椤圭洰閲岄潰锛屽嵆 metrics 銆�
-
-鎬讳綋涓婃潵璇达紝Dubbo 鐨� metrics 鏄竴涓粠璁捐鍒板疄鐜伴兘闈炲父浼樼鐨勬ā鍧楋紝鐞嗚涓婃潵璇达紝澶ч儴鍒嗙殑 Java 椤圭洰鏄彲浠ョ洿鎺ヤ娇鐢� metrics 鐨勩€備絾涔熷洜涓哄吋椤炬€ц兘銆佹墿灞曟€х瓑鍚勭闈炲姛鑳界壒鎬э紝鎵€浠ュ垵鐪嬩唬鐮佷細鏈夌鏃犱粠涓嬫墜鐨勬劅瑙夈€�
-
-浠婂ぉ杩欑瘒鏂囩珷灏嗕細浠庢瘮杈冨ぇ鐨勬蹇靛拰鎶借薄涓婅璁轰竴涓� dubbo-go 涓殑 metrics 妯″潡鐨勮璁♀€斺€斿疄闄呬笂涔熷氨鏄� Dubbo 涓殑 metrics 鐨勮璁°€傚洜涓烘垜浠呬粎鏄皢 Dubbo 閲岄潰鐨勭浉鍏冲唴瀹瑰湪 dubbo-go 涓鍒朵竴浠姐€�
-
-鐩墠 dubbo-go 鐨� metrics 鍒氬垰寮€濮嬭捣姝ワ紝绗竴涓� PR 鏄細
-
-## 鎬讳綋璁捐
-
-**Metric**
-
-瑕佹兂鐞嗚В metrics 鐨勮璁★紝棣栧厛瑕佺悊瑙o紝鎴戜滑闇€瑕佹敹闆嗕竴浜涗粈涔堟暟鎹€傛垜浠彲浠ヨ交鏄撳垪涓惧嚭鏉ュ湪 RPC 棰嗗煙閲岄潰鎴戜滑鎵€鍏冲績鐨勫悇绉嶆寚鏍囷紝璇稿姣忎釜鏈嶅姟鐨勮皟鐢ㄦ鏁帮紝鍝嶅簲鏃堕棿锛涘鏋滄洿鍔犵粏鑷翠竴鐐癸紝杩樻湁鍚勭鍝嶅簲鏃堕棿鐨勫垎甯冿紝骞冲潎鍝嶅簲鏃堕棿锛�999 绾库€︹€�
-
-浣嗘槸涓婇潰鍒椾妇鐨勬槸浠庢暟鎹殑鍐呭涓婂垝鍒嗙殑銆� metrics 鍦ㄦ娊璞′笂锛屽垯鏄憭寮冧簡杩欑鍒掑垎鏂瑰紡锛岃€屾槸缁撳悎浜嗘暟鎹殑鐗规€у拰琛ㄧ幇褰㈠紡缁煎悎鍒掑垎鐨勩€�
-
-浠庢簮鐮侀噷闈㈠緢瀹规槗鎵惧埌杩欑鍒掑垎鐨勬娊璞°€�
-
-metrics 璁捐浜� Metric 鎺ュ彛浣滀负鎵€鏈夋暟鎹殑椤剁骇鎶借薄锛�
-
-鍦� Dubbo 閲岄潰锛屽叾姣旇緝鍏抽敭鐨勫瓙鎺ュ彛鏄細
-
-涓轰簡澶у鐞嗚В锛岃繖閲屾垜鎶勪竴涓嬭繖浜涙帴鍙g殑鐢ㄩ€旓細
-
-*   Gauge: 涓€绉嶅疄鏃舵暟鎹殑搴﹂噺锛屽弽鏄犵殑鏄灛鎬佺殑鏁版嵁锛屼笉鍏锋湁绱姞鎬э紝渚嬪褰撳墠 JVM 鐨勭嚎绋嬫暟锛�
-*   Counter: 璁℃暟鍣ㄥ瀷鎸囨爣锛岄€傜敤浜庤褰曡皟鐢ㄦ€婚噺绛夌被鍨嬬殑鏁版嵁锛�
-*   Histogram : 鐩存柟鍒嗗竷鎸囨爣锛屼緥濡傦紝鍙互鐢ㄤ簬缁熻鏌愪釜鎺ュ彛鐨勫搷搴旀椂闂达紝鍙互灞曠ず 50%, 70%, 90% 鐨勮姹傚搷搴旀椂闂磋惤鍦ㄥ摢涓尯闂村唴锛�
-*   Meter: 涓€绉嶇敤浜庡害閲忎竴娈垫椂闂村唴鍚炲悙鐜囩殑璁¢噺鍣ㄣ€備緥濡傦紝涓€鍒嗛挓鍐咃紝浜斿垎閽熷唴锛屽崄浜斿垎閽熷唴鐨� qps 鎸囨爣锛�
-*   Timer: Timer 鐩稿綋浜� Meter+Histogram 鐨勭粍鍚堬紝鍚屾椂缁熻涓€娈典唬鐮侊紝涓€涓柟娉曠殑 qps锛屼互鍙婃墽琛屾椂闂寸殑鍒嗗竷鎯呭喌锛�
-
-鐩墠 dubbo-go 鍙疄鐜颁簡 FastCompass 锛屽畠涔熸槸 Metric 鐨勫瓙绫伙細
-
-杩欎釜鎺ュ彛鍔熻兘寰堢畝鍗曪紝灏辨槸鐢ㄤ簬鏀堕泦涓€娈垫椂闂翠箣鍐呯殑 subCategory 鎵ц鐨勬鏁板拰鍝嶅簲鏃堕棿銆� subCategory 鏄竴涓瘮杈冨娉涚殑姒傚康锛屾棤璁烘槸鍦� Dubbo 杩樻槸鍦� dubbo-go 閲岄潰锛屼竴涓吀鍨嬬殑 subCategory 灏变細鏄煇涓湇鍔°€�
-
-杩欓噷鐨勮璁¤鐐瑰湪浜庯紝瀹冩槸浠庝粈涔堣搴︿笂鍘诲仛杩欎簺鏁版嵁鐨勬娊璞$殑銆�
-
-寰堝浜哄湪寮€鍙戣繖绉嶉噰闆嗘暟鎹殑鐩稿叧绯荤粺鎴栬€呭姛鑳界殑鏃跺€欙紝鏈€瀹规槗闄峰叆鐨勫氨鏄粠鏁版嵁鍐呭涓婂仛鎶借薄锛屼緥濡傛娊璞′竴涓帴鍙o紝閲岄潰鐨勬柟娉曞氨鏄幏寰楁湇鍔$殑璋冪敤娆℃暟鎴栬€呭钩鍧囧搷搴旀椂闂寸瓑銆�
-
-杩欑鎶借薄骞堕潪涓嶅彲浠ワ紝灏ゅ叾鏄湪绠€鍗曠郴缁熼噷闈紝杩橀潪甯稿ソ鐢ㄣ€傚敮鐙湪閫氱敤鎬у拰鎵╁睍鎬т笂瑕佸樊寰堝銆�
-
-**MetricManager**
-
-鍦ㄦ垜浠畾涔変簡 Metric 涔嬪悗锛屽緢瀹规槗灏辨兂鍒帮紝鎴戣鏈変竴涓笢瑗挎潵绠$悊杩欎簺 Metric 銆傝繖灏辨槸 MetricManager 鈥斺€斿搴斿埌 Dubbo 閲岄潰鐨� IMetricManager 鎺ュ彛銆�
-
-MetricManager 鎺ュ彛鐩墠鍦� dubbo-go 閲岄潰杩樺緢绠€鍗曪細
-
-鏈川涓婃潵璇达紝鎴戝湪鍓嶉潰鎻愬埌鐨勯偅浜� Metric 鐨勫瓙绫伙紝閮藉彲浠ヤ粠杩欎釜 MetricManager 閲岄潰鎷垮埌銆傚畠鏄澶栫殑鍞竴鍏ュ彛銆�
-
-鍥犳鏃犺鏄笂鎶ラ噰闆嗙殑鏁版嵁锛岃繕鏄煇浜涘姛鑳借鐢ㄨ繖浜涢噰闆嗙殑鏁版嵁锛屾渶閲嶈鐨勫氨鏄幏寰椾竴涓� MetricManager 鐨勫疄渚嬨€備緥濡傛垜浠渶杩戞鍦ㄥ紑鍙戠殑鎺ュ叆 Prometheus 灏辨槸鎷垮埌杩欎釜 MetriManger 瀹炰緥锛岃€屽悗浠庨噷闈㈡嬁鍒� FastCompass 鐨勫疄渚嬶紝鑰屽悗閲囬泦杩欎簺鏁版嵁锛�
-
-**MetricRegistry**
-
-MetricRegistry 鏄竴涓 Metric 闆嗗悎鐨勬娊璞°€� MetricManager 鐨勯粯璁ゅ疄鐜伴噷闈紝灏辨槸浣跨敤 MetricRegistry 鏉ョ鐞� Metric 鐨�:
-
-鎵€浠ワ紝鏈川涓婂畠灏辨槸鎻愪緵浜嗕竴浜涙敞鍐� Metric 鐒跺悗鍐嶄粠閲岄潰鎹炲嚭鏉ョ殑鏂规硶銆�
-
-浜庢槸锛岃繖灏辨湁涓€涓棶棰樹簡锛氫负浠€涔堟垜鍦ㄦ湁浜� MetricManager 涔嬪悗锛岃繕鏈夋湁涓€涓� MetricRegistry锛熶技涔庤繖涓や釜鍔熻兘鏈変簺閲嶅彔锛�
-
-绛旀澶ф鏄袱涓柟闈細  
-1銆侀櫎浜嗙鐞嗘墍鏈夌殑 Metric 涔嬪锛岃繕鎵挎媴鐫€棰濆鐨勫姛鑳斤紝杩欎簺鍔熻兘鍏稿瀷鐨勫氨鏄� IsEnabled 銆傝€屽疄闄呬笂锛屽湪鏈潵鎴戜滑浼氳祴浜堝畠绠$悊鐢熷懡鍛ㄦ湡鐨勮矗浠伙紝姣斿璇村湪 Dubbo 閲岄潰锛岃鎺ュ彛灏辫繕鏈変竴涓� clear 鏂规硶锛�  
-2銆� metrics 閲岄潰杩樻湁涓€涓� group 鐨勬蹇碉紝鑰岃繖鍙兘鐢� MetricManager 鏉ヨ繘琛岀鐞嗭紝鑷冲皯浜ょ粰 MetricRegistry 鏄笉鍚堥€傜殑銆�
-
-metrics 鐨� group 璇磋捣鏉ヤ篃寰堢畝鍗曘€傛瘮濡傚湪 Dubbo 妗嗘灦閲岄潰閲囬泦鐨勬暟鎹紝閮戒細褰掑睘浜� Dubbo 杩欎釜 group 銆備篃灏辨槸璇达紝濡傛灉鎴戞兂灏嗛潪妗嗘灦灞傞潰閲囬泦鐨勬暟鎹€斺€旀瘮濡傜函绮圭殑涓氬姟鏁版嵁鈥斺€斿垎闅斿嚭鏉ワ紝灏卞彲浠ュ€熺敤涓€涓� business group 銆傚張鎴栬€呮垜閲囬泦鍒扮殑鏈哄櫒鑷韩鐨勬暟鎹紝鍙互灏嗗叾褰掔被鍒� system 杩欎釜 group 涓嬨€�
-
-鎵€浠� MetricManger 鍜� MetricRegistry 鐨勫叧绯绘槸锛�
-
-Clock 鎶借薄鏄竴涓垵鐪嬫病浠€涔堢敤锛屽啀鐪嬩細瑙夊緱鍏舵娊璞$殑寰堝ソ銆侰lock 閲岄潰灏变袱涓柟娉曪細
-
-涓€涓槸鑾峰緱鏃堕棿鎴筹紝鍙﹀涓€涓垯鏄幏寰楁椂闂村懆鏈� (Tick)銆傛瘮濡傞€氬父閲囬泦鏁版嵁鍙兘鏄瘡涓€鍒嗛挓閲囬泦涓€娆★紝鎵€浠ヤ綘寰楃煡閬撶幇鍦ㄥ鍦ㄥ摢涓椂闂村懆鏈熼噷闈€€侰lock 灏辨彁渚涗簡杩欑鎶借薄銆�
-
-寰堝浜哄湪瀹炵幇鑷繁鐨勮繖绉� metrics 鐨勬鏋剁殑鏃跺€欙紝澶у鏁伴兘鏄洿鎺ヤ娇鐢ㄧ郴缁熺殑鏃堕挓锛屼篃灏辨槸绯荤粺鐨勬椂闂存埑銆備簬鏄墍鏈夌殑 Metic 鍦ㄩ噰闆嗘暟鎹垨鑰呬笂鎶ユ暟鎹殑鏃跺€欙紝涓嶅緱涓嶈嚜宸卞幓澶勭悊杩欑鏃堕挓鏂归潰鐨勯棶棰樸€�
-
-杩欐牱涓嶅悓鐨� Metric 涔嬮棿灏卞緢闅惧仛鍒版椂閽熺殑鍚屾銆傛瘮濡傝鍙兘鍦ㄦ煇涓� Metric1 閲岄潰锛岄噰闆嗗懆鏈熸槸褰撳墠杩欎竴鍒嗛挓锛岃€� Metric2 鏄綋鍓嶈繖涓€鍒嗛挓鐨勭涓夊崄绉掑埌涓嬩竴鍒嗛挓鐨勭涓夊崄绉掋€傝櫧鐒跺畠浠兘鏄竴鍒嗛挓閲囬泦涓€娆★紝浣嗘槸杩欎釜鍛ㄦ湡灏卞涓嶄笂浜嗐€�
-
-鍙﹀涓€涓湁鎰忔€濈殑鍦版柟鍦ㄤ簬锛孋lock 鎻愪緵鐨勮繖绉嶆娊璞★紝鍏佽鎴戜滑涓嶅繀鐪熺殑鎸夌収鐜板疄鏃堕棿鐨勬椂闂存埑鏉ュ鐞嗐€傛瘮濡傝锛屽彲浠ヨ€冭檻鎸夌収 CPU 鐨勮繍琛屾椂闂存潵璁捐 Clock 鐨勫疄鐜般€�
-
-## 渚嬪瓙
-
-灏辩敤杩欎竴娆� PR 鐨勫唴瀹规潵灞曠ず涓€涓嬭繖涓璁°€�
-
-鍦� dubbo-go 閲岄潰杩欐瀹炵幇浜� metricsFilter 锛屽畠涓昏灏辨槸鏀堕泦璋冪敤娆℃暟鍜屽搷搴旀椂闂达紝鍏舵牳蹇冩槸锛�
-
-report 鍏跺疄灏辨槸鎶� metrics reports 缁� MetricManager 锛�
-
-鎵€浠ワ紝杩欓噷闈㈠彲浠ョ湅鍑烘潵锛屽鏋滄垜浠鏀堕泦浠€涔堟暟鎹紝涔熸槸瑕佸厛鑾峰緱 MetricManager 鐨勫疄渚嬨€�
-
-FastCompass 鐨勫疄鐜伴噷闈細灏嗚繖涓€娆¤皟鐢ㄧ殑鏈嶅姟鍙婂叾鍝嶅簲鏃堕棿淇濆瓨涓嬫潵銆傝€屽悗鍦ㄩ渶瑕佺殑鏃跺€欏啀鍙栧嚭鏉ャ€�
-
-鎵€璋撶殑闇€瑕佺殑鏃跺€欙紝閫氬父灏辨槸涓婃姤缁欑洃鎺х郴缁熺殑鏃跺€欍€傛瘮濡傚墠闈㈢殑鎻愬埌鐨勪笂鎶ョ粰 Prometheus銆�
-
-鎵€浠ヨ繖涓祦绋嬪彲浠ユ娊璞¤〃杈句负锛�
-
-杩欐槸涓€涓洿鍔犲娉涚殑鎶借薄銆備篃灏辨槸鎰忓懗鐫€锛屾垜浠櫎浜嗗彲浠ヤ粠杩欎釜 metricFilter 閲岄潰鏀堕泦鏁版嵁锛屼篃鍙互浠庤嚜韬殑涓氬姟閲岄潰鍘绘敹闆嗘暟鎹€傛瘮濡傝缁熻鏌愭浠g爜鐨勬墽琛屾椂闂达紝涓€鏍峰彲浠ヤ娇鐢� FastCompass 銆�
-
-鑰岄櫎浜� Prometheus 锛屽鏋滅敤鎴疯嚜宸辩殑鍏徃閲岄潰鏈夌洃鎺ф鏋讹紝閭d箞浠栦滑鍙互鑷繁瀹炵幇鑷繁鐨勪笂鎶ラ€昏緫銆傝€屼笂鎶ョ殑鏁版嵁鍒欏彧闇€瑕佹嬁鍒� MetricManager 瀹炰緥灏辫兘鎷垮埌銆�
-
-## 鎬荤粨
-
-鏈川涓婃潵璇达紝鏁翠釜 metrics 鍙互鐪嬪仛鏄竴涓法澶ф棤姣旂殑 provider-conumer 妯″瀷銆�
-
-涓嶅悓鐨勬暟鎹細鍦ㄤ笉鍚岀殑鍦版柟鍜屼笉鍚屾椂闂寸偣涓婅閲囬泦銆傛湁浜涗汉鍦ㄨ杩欎簺婧愮爜鐨勬椂鍊欎細鏈夌偣鍥版儜锛屽氨鏄繖浜涙暟鎹粈涔堟椂闂寸偣浼氳閲囬泦鍛紵
-
-瀹冧滑鍙細鍦ㄤ袱绫绘椂闂寸偣閲囬泦锛�  
-1銆佸疄鏃堕噰闆嗐€傚鎴戜笂闈妇渚嬬殑 metricsFilter 锛屼竴娆¤皟鐢ㄨ繃鏉ワ紝瀹冪殑鏁版嵁灏辫閲囬泦浜嗭紱  
-2銆佸彟澶栦竴涓垯鏄鍚� Prometheus 銆傛瘡娆� Prometheus 瑙﹀彂浜� collect 鏂规硶锛岄偅涔堝畠灏变細鎶婃瘡绉嶏紙濡� Meter, Gauge 锛夐噷闈㈢殑鏁版嵁鏀堕泦杩囨潵锛岀劧鍚庝笂鎶ワ紝鍙互绉颁负鏄畾鏃堕噰闆嗭紱
-
-杩欎簺鍏蜂綋鐨勫疄鐜帮紝鎴戝氨涓嶄竴涓€璁ㄨ浜嗭紝澶у鏈夊叴瓒e彲浠ュ幓鐪嬬湅婧愮爜銆傝繖浜涙暟鎹紝涔熸槸鎴戜滑 dubbo-go 鍚庨潰瑕侀檰缁疄鐜扮殑涓滆タ锛屾杩庡ぇ瀹舵寔缁叧娉紝鎴栬€呮潵璐$尞浠g爜銆�
\ No newline at end of file
diff --git a/doc/md/service-governance/dubbo-go-sentinel.md b/doc/md/service-governance/dubbo-go-sentinel.md
deleted file mode 100644
index ef9358c460ec002bb2c4dae597fd1d8abda1094f..0000000000000000000000000000000000000000
--- a/doc/md/service-governance/dubbo-go-sentinel.md
+++ /dev/null
@@ -1,155 +0,0 @@
-# [鍦╠ubbo-go涓娇鐢╯entinel](https://dubbogo.github.io/dubbo-go-website/zh-cn/blog/dubbo-go-sentinel.html)
-
-鏃惰嚦浠婃棩锛孉pache/dubbo-go锛堜互涓嬬畝绉� dubbo-go 锛夐」鐩湪鍔熻兘涓婂凡缁忛€愭瀵归綈java鐗堟湰锛岀ǔ瀹氭€т篃鍦ㄤ笉鍚岀殑鐢熶骇鐜寰楀埌浜嗛獙璇併€傜ぞ鍖轰究寮€濮嬪啀鏈嶅姟娌荤悊銆佺洃鎺х瓑鏂瑰悜鍙戝姏銆傞殢鐫€ 1.2鍜�1.3 鐗堟湰鍙戝竷锛� dubbo-go 鏂板浜嗗ぇ閲忔绫绘柊feature銆�
-
-浠婂ぉ鎴戜滑鑱婁竴鑱婇檺娴佺浉鍏宠瘽棰橈紝姝ゅ墠dubbo-go宸茬粡鏀寔浜哰tps limit](https://github.com/apache/dubbo-go/pull/237)銆乕execute limit](https://github.com/apache/dubbo-go/pull/246) 銆乕hystrix](https://github.com/apache/dubbo-go/pull/133) 鐨勫唴缃甪ilter锛岀敤鎴峰彧瑕佺畝鍗曢厤缃氨鑳介┈涓婄敤涓娿€備絾鎴戜滑鐭ラ亾锛屽湪 java 鐨� dubbo 鐢熸€佷腑锛屾湁涓€椤归檺娴佸伐鍏疯骞挎硾浣跨敤锛岄偅灏辨槸sentinel銆俿entinel鍥犱负寮哄ぇ鐨勫姩鎬佽鍒掗厤缃€佷紭绉€鐨刣ashboard浠ュ強瀵筪ubbo鐨勮壇濂介€傞厤锛屾垚涓轰紬澶氫娇鐢╠ubbo鐨勪紒涓氶€夌敤闄愭祦宸ュ叿鐨勪笉浜屼箣閫夈€�
-
-灏卞湪鍓嶄簺鏃ュ瓙锛岀ぞ鍖洪潪甯搁珮鍏村緱鐭� Sentinel Golang 棣栦釜鐗堟湰 0.1.0 姝e紡鍙戝竷锛岃繖浣垮緱 dubbo-go涔熷彲浠ヤ娇鐢� sentinel 浣滀负宸ュ叿杩涜涓€浜涙湇鍔℃不鐞嗐€佺洃鎺х殑宸ヤ綔浜嗐€傞殢鐫€sentinel golang鐨勫仴澹紝鎴戜滑鐩镐俊鐢ㄦ埛椹笂鍙互鍍弒entinel绠$悊java dubbo鏈嶅姟閭f牱绠$悊dubbo-go鐨勬湇鍔′簡銆�
-
-瀹屾垚sentinel golang鐨刣ubbo-adapter鍏跺疄闈炲父绠€鍗曪紝杩欏緱鐩婁簬dubbo-go鏃╁氨瀹屾垚浜唂ilter閾剧殑鏋勯€狅紝鐢ㄦ埛鍙互鑷畾涔塮ilter锛屽苟涓旂伒娲荤殑瀹夋帓鍏舵墽琛岄『搴忋€傚湪1.3鍙戝竷鍚庯紝澧炲姞浜唂ilter涓殑context浼犻€掞紝鏋勫缓sentinel/adapter/dubbo鏇翠负鏂逛究銆�
-
-鎴戜滑浠ュ叾涓殑provider filter閫傞厤涓轰緥:
-
-![SentinelProviderFilter](../../pic/service-governance/dubbo-go-sentinel-a.png)
-
-姝� filter 瀹炵幇浜� dubbo-go鐨刦ilter鎺ュ彛锛屽彧瑕佺敤鎴峰湪鏈嶅姟鍚姩鏃跺皢姝ilter鍔犺浇鍒癲ubbo-go涓紝鍗冲彲浣跨敤姝ilter銆� ![Sentinel-design](../../pic/service-governance/dubbo-go-sentinel-b.png)
-sentinel瀹炵幇鍘熺悊涓庡叾浠栭檺娴併€佺啍鏂簱澶у悓灏忓紓锛屽簳灞傛槸鐢ㄧ殑婊戝姩绐楀彛绠楁硶銆備笌hystrix绛夋鏋剁浉姣斾笉鍚岀偣鏄璁$悊蹇碉紝Sentinel 鐨勮璁$悊蹇垫槸璁╂偍鑷敱閫夋嫨鎺у埗鐨勮搴︼紝骞惰繘琛岀伒娲荤粍鍚堬紝浠庤€岃揪鍒版兂瑕佺殑鏁堟灉銆�
-
-涓嬮潰鎴戞暣鐞嗕簡瀹屾暣鐨勪娇鐢ㄦ祦绋嬶細(娉ㄦ剰锛歞ubbo-go鐗堟湰璇蜂娇鐢�1.3.0-rc3鍙婂叾浠ヤ笂鐗堟湰)
-
-鍦╠ubbo-go涓娇鐢╯entinel涓昏鍒嗕负浠ヤ笅鍑犳锛�
-
-1.鍒濆鍖杝entinel
-
-2.灏唖entinel娉ㄥ叆dubbo-go鐨刦ilter
-
-3.鍒濆鍖杁ubbo-go
-
-4.閰嶇疆瑙勫垝
-
-## 鍒濆鍖杝entinel
-
-绀轰緥浠g爜锛�
-
-```go
-import (
-	sentinel "github.com/alibaba/sentinel-golang/api"
-)
-
-func initSentinel() {
-	err := sentinel.InitWithLogDir(confPath, logDir)
-	if err != nil {
-		// 鍒濆鍖� Sentinel 澶辫触
-	}
-}
-```
-
-## 灏唖entinel娉ㄥ叆dubbo-go鐨刦ilter
-
-浣犲彲浠ラ€氳繃import鍖呯殑褰㈠紡鎵ц锛屾墽琛屽叾涓殑init()鏉ユ敞鍏ilter
-
-```go
-import (
-	_ "github.com/alibaba/sentinel-golang/adapter/dubbo"
-)
-```
-
-涔熷彲浠ユ墜鍔ㄦ墽琛岋紝缁欎綘鐨刦ilter鍙栦笂鑷繁鎯宠鐨勫悕瀛�
-
-```go
-import (
-  "github.com/apache/dubbo-go/common/extension"
-  sd "github.com/alibaba/sentinel-golang/adapter/dubbo"
-)
-
-func main(){
-  extension.SetFilter("myConsumerFilter",sd.GetConsumerFilter())
-  extension.SetFilter("myProviderFilter",sd.GetConsumerFilter())
-}
-```
-
-瀹屾垚浠ヤ笂姝ラ锛屼綘灏卞彲浠ュ湪闇€瑕佺殑dubbo鎺ュ彛閰嶇疆閲屽啓鍏entinel鐨刦ilterName,鏋勫缓璧锋帴鍙g殑filter閾炬潯銆傛瘮濡備互涓嬩互consumer.yml閰嶇疆鏂囦欢涓轰緥
-
-```yml
-references:
-  "UserProvider":
-    registry: "hangzhouzk"
-    protocol : "dubbo"
-    interface : "com.ikurento.user.UserProvider"
-    cluster: "failover"
-    filter: "myConsumerFilter"
-    methods :
-    - name: "GetUser"
-      retries: 3
-```
-
-## 鍒濆鍖杁ubbo-go
-
-鍒拌繖涓€姝ワ紝浣犲彧闇€瑕佹甯稿惎鍔╠ubbo-go绋嬪簭灏卞畬鎴愪簡鏈嶅姟鍚姩銆傜敤浠ヤ笅浠g爜鍋氫竴涓緝涓哄畬鏁翠妇渚�
-
-```go
-import (
-	hessian "github.com/apache/dubbo-go-hessian2"
-	sd "github.com/alibaba/sentinel-golang/adapter/dubbo"
-)
-
-import (
-	"github.com/apache/dubbo-go/common/logger"
-	_ "github.com/apache/dubbo-go/common/proxy/proxy_factory"
-	"github.com/apache/dubbo-go/config"
-	_ "github.com/apache/dubbo-go/filter/impl"
-	_ "github.com/apache/dubbo-go/protocol/dubbo"
-	_ "github.com/apache/dubbo-go/registry/protocol"
-
-	_ "github.com/apache/dubbo-go/cluster/cluster_impl"
-	_ "github.com/apache/dubbo-go/cluster/loadbalance"
-	_ "github.com/apache/dubbo-go/registry/zookeeper"
-	"github.com/apache/dubbo-go/common/extension"
-)
-
-func main() {
-
-	hessian.RegisterPOJO(&User{})
-  extension.SetFilter("myConsumerFilter",sd.GetConsumerFilter())
-  extension.SetFilter("myProviderFilter",sd.GetConsumerFilter())
-	config.Load()
-
-	// init finish, do your work
-	test()
-}
-```
-
-## 瑙勫垝閰嶇疆
-
-sentinel浠ュ己澶х殑瑙勫垝閰嶇疆鍚稿紩浜嗗緢澶氫娇鐢ㄨ€咃紝鍏舵彁渚涘姩鎬佹暟鎹簮鎺ュ彛杩涜鎵╁睍锛岀敤鎴峰彲浠ラ€氳繃鍔ㄦ€佹枃浠舵垨 etcd 绛夐厤缃腑蹇冩潵鍔ㄦ€佸湴閰嶇疆瑙勫垯銆備絾鐩墠sentinel-golang浣滀负鐮磋泲鐗堟湰锛屽姩鎬侀厤缃繕鍦ㄥ紑鍙戜腑
-
-### 鍔ㄦ€佹暟鎹簮
-
-锛堝紑鍙戜腑锛塖entinel 鎻愪緵鍔ㄦ€佹暟鎹簮鎺ュ彛杩涜鎵╁睍锛岀敤鎴峰彲浠ラ€氳繃鍔ㄦ€佹枃浠舵垨 etcd 绛夐厤缃腑蹇冩潵鍔ㄦ€佸湴閰嶇疆瑙勫垯銆�
-
-### 纭紪鐮佹柟寮�
-
-Sentinel 涔熸敮鎸佸師濮嬬殑纭紪鐮佹柟寮忓姞杞借鍒欙紝鍙互閫氳繃鍚勪釜妯″潡鐨� `LoadRules(rules)` 鏂规硶鍔犺浇瑙勫垯銆備互涓嬫槸纭紪鐮佹柟寮忓鏌愪釜method鍦╟onsumer绔殑QPS娴佹帶锛�
-
-```go
-_, err := flow.LoadRules([]*flow.FlowRule{
-	{
-		ID:                666,
-		Resource:         "dubbo:consumer:com.ikurento.user.UserProvider:myGroup:1.0.0:hello()",
-		MetricType:        flow.QPS,
-		Count:             10,
-		ControlBehavior:   flow.Reject,
-	},
-})
-if err != nil {
-	// 鍔犺浇瑙勫垯澶辫触锛岃繘琛岀浉鍏冲鐞�
-}
-```
-
-# 鎬荤粨
-
-鏇村姞鍏蜂綋鐨勫疄鐜帮紝鎴戝氨涓嶈缁嗚杩帮紝澶у鍙互鍘荤湅婧愮爜杩涗竴姝ヤ簡瑙c€�
-
-鏈€鍚庯紝娆㈣繋澶у鎸佺画鍏虫敞锛屾垨鑰呰础鐚唬鐮侊紝鏈熷緟dubbo-go鍦�2020骞村湪浜戝師鐢熼鍩熺户缁獊鐮淬€�
-
-dubbo-go浠撳簱鍦板潃锛歔https://github.com/apache/dubbo-go](https://github.com/apache/dubbo-go)
\ No newline at end of file
diff --git a/doc/md/service-governance/dubbo-go-tps-limit-design-and-implement.md b/doc/md/service-governance/dubbo-go-tps-limit-design-and-implement.md
deleted file mode 100644
index 962ec98fdf331e9e5ba42482af91b186f770fe30..0000000000000000000000000000000000000000
--- a/doc/md/service-governance/dubbo-go-tps-limit-design-and-implement.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# [dubbogo涓殑TPS Limit璁捐涓庡疄鐜癩(https://developer.aliyun.com/article/726804)
-
-# 鍓嶈█
-
-[Apache Dubbo](http://dubbo.apache.org)鏄敱闃块噷寮€婧愮殑涓€涓猂PC妗嗘灦锛岄櫎浜嗗熀鏈殑RPC鍔熻兘浠ュ锛岃繕鎻愪緵浜嗕竴鏁村鐨勬湇鍔℃不鐞嗙浉鍏冲姛鑳姐€傜洰鍓嶅畠宸茬粡鏄疉pache鍩洪噾浼氫笅鐨勯《绾ч」鐩€�
-
-鑰孾dubbogo](https://github.com/apache/dubbo-go)鍒欐槸dubbo鐨刧o璇█瀹炵幇銆�
-
-鏈€杩戝湪`dubbogo`鐨刞todo list`涓婂彂鐜帮紝瀹冭繕娌℃湁瀹炵幇`TPS Limit`鐨勬ā鍧楋紝浜庢槸灏辨娊绌哄疄鐜颁簡杩欎釜閮ㄥ垎銆�
-
-`TPS limit`瀹為檯涓婂氨鏄檺娴侊紝姣斿璇撮檺鍒朵竴鍒嗛挓鍐呮煇涓帴鍙e彧鑳借闂�200娆★紝瓒呰繃杩欎釜娆℃暟锛屽垯浼氳鎷掔粷鏈嶅姟銆傚湪`Dubbo`鐨凧ava鐗堟湰涓婏紝鍙湁涓€涓疄鐜帮紝灏辨槸`DefaultTPSLimiter`銆�
-
-`DefaultTPSLimiter`鏄湪鏈嶅姟绾у埆涓婅繘琛岄檺娴併€傝櫧鐒禶dubbo`鐨勫畼鏂规枃妗i噷闈㈠0绉板彲浠ュ湪`method`绾у埆涓婅繘琛岄檺娴侊紝浣嗘槸鎴戠湅浜嗕竴涓嬪畠鐨勬簮鐮侊紝瀹為檯涓婅繖涓槸鍋氫笉鍒扮殑銆傚綋鐒讹紝濡傛灉鑷繁閫氳繃瀹炵幇`Filter`鎺ュ彛鏉ュ疄鐜癭method`绾у埆鐨勯檺娴侊紝閭d箞鑷劧鏄彲浠ョ殑鈥斺€旇繖鏍锋毚闇蹭簡`dubbo`Java鐗堟湰瀹炵幇鐨勫彟澶栦竴涓棶棰橈紝灏辨槸`dubbo`鐨刞TpsLimitFilter`瀹炵幇锛屾槸涓嶅厑璁告帴鍏ヨ嚜宸盽TpsLimiter`鐨勫疄鐜扮殑銆傝繖浠庡畠鐨勬簮鐮佷篃鍙互鐪嬪嚭鏉ワ細
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-a.png)
-
-瀹冪洿鎺ュ啓姝讳簡`TpsLimiter`鐨勫疄鐜般€�
-
-杩欎釜瀹炵幇鐨勭洰鍓嶅彧鏄悎骞跺埌浜哷develop`涓婏紝绛変笅娆″彂甯冩寮忕増鏈殑鏃跺€欐墠浼氬彂甯冨嚭鏉ャ€�
-
-Github: [https://github.com/apache/dubbo-go/pull/237](https://github.com/apache/dubbo-go/pull/237)
-
-# 璁捐鎬濊矾
-
-浜庢槸鎴戝ぇ姒傚弬鑰冧簡涓€涓媊dubbo`宸叉湁鐨勫疄鐜帮紝鍋氫簡涓€鐐规敼杩涖€�
-
-`dubbo`閲岄潰鐨勬牳蹇冩娊璞℃槸`TpsLimiter`鎺ュ彛銆俙TpsLimitFilter`鍙槸绠€鍗曡皟鐢ㄤ簡涓€涓嬭繖涓帴鍙g殑鏂规硶鑰屽凡锛�
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-b.png)
-
-杩欎釜鎶借薄鏄緢妫掔殑銆備絾鏄繕娆犵己浜嗕竴浜涙娊璞°€�
-
-瀹為檯涓婏紝涓€涓猅PS Limit灏辫瑙e喅涓変釜闂锛�
-
-1.  瀵逛粈涔堜笢瑗胯繘琛宍limit`銆傛瘮濡傝锛屽鏈嶅姟杩涜闄愭祦锛屾垨鑰呭鏌愪釜鏂规硶杩涜闄愭祦锛屾垨鑰呭IP杩涜闄愭祦锛屾垨鑰呭鐢ㄦ埛杩涜闄愭祦锛�
-2.  濡備綍鍒ゆ柇宸茬粡`over limitation`銆傝繖鏄粠绠楁硶灞傞潰涓婅€冭檻锛屽嵆鐢ㄤ粈涔堢畻娉曟潵鍒ゆ柇鏌愪釜璋冪敤杩涙潵鐨勬椂鍊欙紝宸茬粡瓒呰繃閰嶇疆鐨勪笂闄愪簡锛�
-3.  琚嫆缁濅箣鍚庤濡備綍澶勭悊銆傚鏋滀竴涓姹傝鏂畾涓哄凡缁廯over limititation`浜嗭紝閭d箞璇ユ€庝箞澶勭悊锛�
-
-鎵€浠ュ湪`TpsLimiter`鎺ュ彛鐨勫熀纭€涓婏紝鎴戝啀鍔犱簡涓や釜鎶借薄锛�
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-c.png)
-
-TpsLimiter
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-d.png)
-
-TpsLimitStrategy
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-e.png)
-
-RejectedExecutionHandler
-
-`TpsLimiter`瀵瑰簲鍒癑ava鐨刞TpsLimiter`锛屼袱鑰呮槸宸笉澶氥€傚湪鎴戠殑璁炬兂閲岄潰锛屽畠鏃㈡槸椤剁骇鍏ュ彛锛岃繕闇€瑕佹壙鎷呰В鍐崇涓€涓棶棰樼殑鑱岃矗銆�
-
-鑰宍TpsLimitStrategy`鍒欐槸绗簩涓棶棰樼殑鎶借薄鐨勬帴鍙e畾涔夈€傚畠浠h〃鐨勬槸绾补鐨勭畻娉曘€傝鎺ュ彛瀹屽叏娌℃湁鍙傛暟锛屽疄闄呬笂锛屾墍鏈夌殑瀹炵幇闇€瑕佺淮鎶よ嚜韬殑鐘舵€佲€斺€斿浜庡ぇ閮ㄥ垎瀹炵幇鑰岃█锛屽畠澶ф鍙渶瑕佽幏鍙栦竴涓嬬郴缁熸椂闂存埑锛屾墍浠ヤ笉闇€瑕佸弬鏁般€�
-
-鏈€鍚庝竴涓帴鍙RejectedExecutionHandler`浠h〃鐨勬槸鎷掔粷绛栫暐銆傚湪`TpsLimitFilter`閲岄潰锛屽鏋滃畠璋冪敤`TpsLimiter`鐨勫疄鐜帮紝鍙戠幇璇ヨ姹傝鎷掔粷锛岄偅涔堝氨浼氫娇鐢ㄨ鎺ュ彛鐨勫疄鐜版潵鑾峰彇涓€涓繑鍥炲€硷紝杩斿洖缁欏鎴风銆�
-
-# 瀹炵幇
-
-鍏跺疄瀹炵幇娌″お澶氬ソ璋堢殑銆備笉杩囨湁涓€浜涘井濡欑殑鍦版柟锛屾垜铏界劧鍦ㄤ唬鐮侀噷闈㈡敞閲婁簡锛屼絾鏄垜瑙夊緱鍦ㄨ繖閲屽啀澶氳涓€鐐逛篃鏄彲浠ョ殑銆�
-
-棣栧厛鎻愬強鐨勫氨鏄嫆缁濈瓥鐣RejectedExecutionHandler`锛屾垜灏辨槸鎻愪緵浜嗕竴绉嶅疄鐜帮紝灏辨槸闅忎究log浜嗕竴涓嬶紝浠€涔堥兘娌″仛銆傚洜涓鸿繖涓笢瑗挎槸寮轰笟鍔$浉鍏崇殑锛屾垜涔熶笉鑳芥彁渚涙洿鍔犲鐨勯€氱敤鐨勫疄鐜般€�
-
-## 鏂规硶涓庢湇鍔″弻閲嶆敮鎸佺殑TpsLimiter
-
-`TpsLimiter`鎴戝彧鏈変竴涓疄鐜帮紝閭e氨鏄痐MethodServiceTpsLimiterImpl`銆傚畠灏辨槸鏍规嵁閰嶇疆锛屽鏋滄柟娉曠骇鍒厤缃簡鍙傛暟锛岄偅涔堜細鍦ㄦ柟娉曠骇鍒笂杩涜闄愭祦銆傚惁鍒欙紝濡傛灉鍦ㄦ湇鍔$骇鍒紙ServiceKey锛変笂鏈夐厤缃紝閭d箞浼氬湪鏈嶅姟绾у埆杩涜闄愭祦銆�
-
-涓句釜鏈€澶嶆潅鐨勪緥瀛愶細鏈嶅姟A闄愬埗100锛屾湁鍥涗釜鏂规硶锛屾柟娉昅1閰嶇疆闄愬埗40锛屾柟娉昅2鍜屾柟娉昅3鏃犻厤缃紝鏂规硶M4閰嶇疆闄愬埗-1锛氶偅涔堟柟娉昅1浼氬崟鐙檺娴�40锛汳2鍜孧3鍚堝苟缁熻锛岃闄愬埗鍦�100锛涙柟娉昅4鍒欎細琚拷鐣ャ€�
-
-鐢ㄦ埛鍙互閰嶇疆鍏蜂綋鐨勭畻娉曘€傛瘮濡傝浣跨敤鎴戞帴涓嬫潵璇寸殑锛屾垜宸茬粡瀹炵幇鐨勪笁绉嶅疄鐜般€�
-
-## FixedWindow鍜孴hreadSafeFixedWindow
-
-`FixedWindow`鐩存帴瀵瑰簲鍒癑ava鐨刞DefaultTpsLimiter`銆傚畠閲囩敤鐨勬槸`fixed-window`绠楁硶锛氭瘮濡傝閰嶇疆浜嗕竴鍒嗛挓鍐呭彧鑳借皟鐢�100娆°€傚亣濡備粠00:00寮€濮嬭鏃讹紝閭d箞00:00-01:00鍐咃紝鍙兘璋冪敤100娆°€傚彧鏈夊埌杈�01:00锛屾墠浼氬紑鍚柊鐨勭獥鍙�01:00-02:00銆傚鍥撅細
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-f.png)
-
-Fixed-Window鍥剧ず
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-g.png)
-
-Fixed-Window瀹炵幇
-
-杩欓噷鏈変竴涓緢鏈夋剰鎬濈殑鍦版柟銆傚氨鏄繖涓疄鐜帮紝鏄竴涓嚑涔庣嚎绋嬪畨鍏ㄤ絾鏄叾瀹炲苟涓嶆槸绾跨▼瀹夊叏鐨勫疄鐜般€�
-
-鍦ㄦ墍鏈夌殑瀹炵幇閲岄潰锛屽畠鏄渶涓虹畝鍗曪紝鑰屼笖鎬ц兘鏈€楂樼殑銆傛垜鍦ㄨ 閲忎簡涓€鐣箣鍚庯紝杩樻槸娌℃妸瀹冨仛鎴愮嚎绋嬪畨鍏ㄧ殑銆備簨瀹炰笂锛孞ava鐗堟湰鐨勪篃涓嶆槸绾跨▼瀹夊叏鐨勩€�
-
-瀹冨彧浼氬湪澶氫釜绾跨▼閫氳繃绗�67琛岀殑妫€娴嬩箣鍚庯紝鎵嶄細鍑虹幇骞跺彂闂锛岃繖涓椂鍊欏氨涓嶆槸绾跨▼瀹夊叏浜嗐€備絾鏄湪鏈€鍚庣殑`return`璇彞涓紝閭d竴鏁翠釜鏄嚎绋嬪畨鍏ㄧ殑銆傚畠鍥犱负涓嶆柇璁℃暟寰€涓婂姞锛屾墍浠ュ涓嚎绋嬪悓鏃惰窇鍒拌繖閲岋紝鍏跺疄涓嶄細鏈変粈涔堥棶棰樸€�
-
-鐜板湪鎴戣鎻湶涓€涓渶涓哄璇$殑鐗规€т簡锛�**骞跺彂瓒婇珮锛岄偅涔堣繖涓猔raise condition`灏辫秺涓ラ噸锛屼篃灏辨槸璇磋秺涓嶅畨鍏ㄣ€�**
-
-浣嗘槸浠庡疄闄呬娇鐢ㄨ搴﹁€岃█锛屾湁鏋佺TPS鐨勮繕鏄瘮杈冨皯鐨勩€傚浜庨偅浜汿PS鍙湁鍑犵櫨姣忕鐨勶紝鏄病浠€涔堥棶棰樼殑銆�
-
-**涓轰簡淇濇寔鍜宒ubbo涓€鑷寸殑鐗规€э紝鎴戞妸瀹冧綔涓洪粯璁ょ殑瀹炵幇銆�**
-
-姝ゅ锛屾垜杩樹负瀹冩悶浜嗕竴涓嚎绋嬪畨鍏ㄧ増鏈紝涔熷氨鏄痐ThreadSafeFixedWindowTpsLimitStrategyImpl`锛屽彧鏄畝鍗曠殑鐢╜sync`灏佽浜嗕竴涓嬶紝鍙互鐪嬪仛鏄竴涓猔Decorator`妯″紡鐨勫簲鐢ㄣ€�
-
-濡傛灉寮烘眰绾跨▼瀹夊叏锛屽彲浠ヨ€冭檻浣跨敤杩欎釜銆�
-
-## SlidingWindow
-
-杩欐槸鎴戞瘮杈冨枩娆㈢殑瀹炵幇銆傚畠璺熺綉缁滃崗璁噷闈㈢殑婊戝姩绐楀彛绠楁硶鍦ㄧ悊蹇典笂鏄瘮杈冩帴杩戠殑銆�
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-h.png)
-
-Sliding-Window
-
-鍏蜂綋鏉ヨ锛屽亣濡傛垜璁剧疆鐨勫悓鏍锋槸涓€鍒嗛挓1000娆★紝瀹冪粺璁$殑姘歌繙鏄粠褰撳墠鏃堕棿鐐瑰線鍓嶅洖婧竴鍒嗛挓鍐咃紝宸茬粡琚皟鐢ㄤ簡澶氬皯娆°€傚鏋滆繖涓€鍒嗛挓鍐咃紝璋冪敤娆℃暟娌¤秴杩�1000锛岃姹備細琚鐞嗭紝濡傛灉宸茬粡瓒呰繃锛岄偅涔堝氨浼氭嫆缁濄€�
-
-鎴戝啀鏉ユ弿杩颁竴涓嬶紝`SldingWindow`鍜宍FixedWindow`涓ょ绠楁硶鐨勫尯鍒€傝繖涓よ€呭緢澶氫汉浼氭悶娣枫€傚亣濡傚綋鍓嶇殑鏃堕棿鎴虫槸00:00锛屼袱涓畻娉曞悓鏃舵敹鍒颁簡绗竴涓姹傦紝寮€鍚涓€涓椂闂寸獥鍙c€�
-
-閭d箞`FixedWindow`灏辨槸00:00-01:00鏄涓€涓獥鍙o紝鎺ヤ笅鏉ヤ緷娆℃槸01:00-02:00, 02:00-03:00, ...銆傚綋鐒跺亣濡傝01:00涔嬪悗鐨勪笁鍗佺鍐呴兘娌℃湁璇锋眰锛屽湪01:31鍙堟潵浜嗕竴涓姹傦紝閭d箞鏃堕棿绐楀彛灏辨槸01:31-02:31銆�
-
-鑰宍SildingWindow`鍒欐病鏈夎繖绉嶆蹇点€傚亣濡傚湪01:30鏀跺埌涓€涓姹傦紝閭d箞`SlidingWindow`缁熻鐨勫垯鏄�00:30-01:30鍐呮湁娌℃湁杈惧埌1000娆°€�**瀹冩案杩滆绠楃殑閮芥槸鎺ユ敹鍒拌姹傜殑閭d竴鍒诲線鍓嶅洖婧竴鍒嗛挓鐨勮姹傛暟閲忋€�**
-
-濡傛灉杩樻槸瑙夊緱鏈夊洶闅撅紝閭d箞绠€鍗曟潵璇村氨鏄痐FixedWindow`寰€鍚庣湅涓€鍒嗛挓锛宍SlidingWindow`鍥炴函涓€鍒嗛挓銆�
-
-> 杩欎釜璇存硶骞朵笉涓ヨ皑锛屽彧鏄负浜嗘柟渚跨悊瑙c€�
-
-鍦ㄧ湡姝e啓杩欎釜瀹炵幇鐨勬椂鍊欙紝鎴戠◢寰敼浜嗕竴鐐圭偣锛�
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-i.png)
-
-鎴戠敤浜嗕竴涓槦鍒楁潵淇濆瓨姣忔璁块棶鐨勬椂闂存埑銆備竴鑸殑鍐欐硶锛岄兘鏄姹傝繘鏉ワ紝鍏堟妸宸茬粡涓嶅湪绐楀彛鏃堕棿鍐呯殑鏃堕棿鎴冲垹鎺夛紝鐒跺悗缁熻鍓╀笅鐨勬暟閲忥紝涔熷氨鏄悗闈㈢殑`slow path`鐨勯偅涓€鍫嗛€昏緫銆�
-
-浣嗘槸鎴戞敼浜嗙殑涓€鐐规槸锛屾垜杩涙潵鐩存帴缁熻闃熷垪閲岄潰鐨勬暟閲忊€斺€斾篃灏辨槸璇锋眰鏁伴噺锛屽鏋滈兘灏忎簬涓婇檺锛岄偅涔堟垜鍙互鐩存帴杩斿洖`true`銆傚嵆`quick path`銆�
-
-杩欑鏀硅繘鐨勬牳蹇冨氨鏄細鎴戝彧鏈夊湪妫€娴嬪埌褰撳墠闃熷垪閲岄潰鏈夎秴杩囦笂闄愭暟閲忕殑璇锋眰鏁伴噺鏃跺€欙紝鎵嶄細灏濊瘯鍒犻櫎宸茬粡涓嶅湪绐楀彛鍐呯殑鏃堕棿鎴炽€�
-
-杩欏叾瀹炲氨鏄紝鏄瘡涓姹傝繃鏉ワ紝鎴戦兘娓呯悊涓€涓嬮槦鍒楀憿锛熻繕鏄彧鏈夐槦鍒楀厓绱犺秴鍑烘暟閲忎簡锛屾垜鎵嶆竻鐞嗗憿锛熸垜閫夋嫨鐨勬槸鍚庤€呫€�
-
-鎴戣涓鸿繖鏄竴绉嶆敼杩涒€︹€﹀綋鐒朵粠鏈川涓婃潵璇达紝鏁翠綋寮€閿€鏄病鏈夊噺灏戠殑鈥斺€斿洜涓篳golang`璇█閲岄潰`List`鐨勫疄鐜帮紝涓€娆″鍒犻櫎鍑犱釜锛屽拰姣忔鍒犻櫎涓€涓紝澶氬垹鍑犳锛屽苟娌℃湁澶氬ぇ鐨勫尯鍒€�
-
-### 绠楁硶鎬荤粨
-
-鏃犺鏄痐FixedWindow`绠楁硶杩樻槸`SlidingWindow`绠楁硶閮芥湁涓€涓浐鏈夌殑缂洪櫡锛屽氨鏄繖涓椂闂寸獥鍙i毦鎺у埗銆�
-
-鎴戜滑璁炬兂涓€涓嬶紝鍋囧璇存垜浠妸鏃堕棿绐楀彛璁剧疆涓轰竴鍒嗛挓锛屽厑璁�1000娆¤皟鐢ㄣ€傜劧鑰岋紝鍦ㄥ墠鍗佺鐨勬椂鍊欏氨璋冪敤浜�1000娆°€傚湪鍚庨潰鐨勪簲鍗佺锛屾湇鍔″櫒铏界劧灏嗘墍鏈夌殑璇锋眰閮藉鐞嗗畬浜嗭紝鐒舵槸鍥犱负绐楀彛杩樻病鍒版柊绐楀彛锛屾墍浠ヨ繖涓椂闂存杩囨潵鐨勮姹傦紝鍏ㄩ儴浼氳鎷掔粷銆�
-
-![](../../pic/service-governance/dubbo-go-tps-limit-design-and-implement-j.png)
-
-瑙e喅鐨勬柟妗堝氨鏄皟灏忔椂闂寸獥鍙o紝姣斿璋冩暣鍒颁竴绉掋€備絾鏄椂闂寸獥鍙g殑缂╁皬锛屼細瀵艰嚧`FixedWindow`绠楁硶鐨刞raise condition`鎯呭喌鍔犲墽銆俙SlidingWindow`涔熶細鍙楀奖鍝嶏紝浣嗘槸褰卞搷瑕佸皬寰堝銆�
-
-## 閭d簺娌℃湁瀹炵幇鐨�
-
-### 鍩轰簬鐗瑰畾涓氬姟瀵硅薄鐨勯檺娴�
-
-涓句緥鏉ヨ锛屾煇浜涚壒娈婁笟鍔$敤鐨勯拡瀵圭敤鎴稩D杩涜闄愭祦鍜岄拡瀵笽P杩涜闄愭祦锛屾垜灏辨病鏈夊湪`dubbogo`閲岄潰瀹炵幇銆傛湁闇€瑕佺殑鍙互閫氳繃瀹炵幇`TpsLimiter`鎺ュ彛鏉ュ畬鎴愩€�
-
-### 鍏ㄥ眬TPS limit
-
-杩欑瘒鏂囩珷涔嬪墠璁ㄨ鐨勯兘鏄崟鏈洪檺娴併€傚鏋滃叏灞€闄愭祦锛屾瘮濡傝閽堝鏌愪釜瀹㈡埛锛屽畠璐拱鐨勬湇鍔℃槸姣忓垎閽熻皟鐢�100娆★紝閭d箞灏遍渶瑕佸叏灞€闄愭祦鈥斺€旇櫧鐒惰繖绉峜ase閮戒笉浼氱敤`Filter`鏂规锛岃€屾槸鍙﹀鍋氫竴涓猔API`鎺ュ叆鎺у埗銆�
-
-姣斿璇达紝寰堝父鐢ㄧ殑浣跨敤Redis杩涜闄愭祦鐨勩€傞拡瀵规煇涓鎴凤紝涓€鍒嗛挓鍙兘璁块棶100娆★紝閭f垜灏辩敤瀹㈡埛ID鍋歬ey锛寁alue璁剧疆鎴怢ist锛屾瘡娆¤皟鐢ㄨ繃鏉ワ紝闅忎究濉炰竴涓€艰繘鍘伙紝璁剧疆杩囨湡鏃堕棿涓€鍒嗛挓銆傞偅涔堟瘡娆$粺璁″彧闇€瑕佺粺璁″綋鍓峩ey鐨勫瓨娲荤殑鍊肩殑鏁伴噺灏卞彲浠ヤ簡銆�
-
-杩欑鎴戜篃娌″疄鐜帮紝鍥犱负濂藉儚娌′粈涔堥渶姹傘€傚浗鍐呰璁篢PS limit閮芥槸璁ㄨ鍗曟満TPS limit姣旇緝澶氥€�
-
-杩欎釜鍚屾牱鍙互閫氳繃瀹炵幇`TpsLimiter`鎺ュ彛鏉ュ疄鐜般€�
-
-### Leaky Bucket绠楁硶
-
-杩欎釜鏈潵鍙互鏄痐TpsLimitStrategy`鐨勪竴绉嶅疄鐜扮殑銆傚悗鏉ユ垜瑙夊緱锛屽畠鍏跺疄骞舵病鏈夌壒鍒ぇ鐨勪紭鍔库€斺€旇櫧鐒跺彿绉板彲浠ュ仛鍒板潎鍖€锛屼絾鏄叾瀹炲苟鍋氫笉鍒扮湡姝g殑鍧囧寑銆傞€氳繃璋冩暣`SlidingWindow`鐨勭獥鍙eぇ灏忥紝鏄彲浠ユ帴杩戝畠瀹gО鐨勫潎鍖€娑堣垂鐨勬晥鏋滅殑銆傛瘮濡傝璋冩暣鍒颁竴绉掞紝閭e叾瀹炲氨宸茬粡寰堝潎鍖€浜嗐€傝€岃繖骞朵笉浼氬甫鏉ュ灏戦澶栫殑寮€閿€銆�
\ No newline at end of file
diff --git a/doc/md/service-governance/implementation-of-rest-protocol-in-dubbo-go.md b/doc/md/service-governance/implementation-of-rest-protocol-in-dubbo-go.md
deleted file mode 100644
index 3358d0fa7fde497ab24ed3d12ea9b11673a8bc96..0000000000000000000000000000000000000000
--- a/doc/md/service-governance/implementation-of-rest-protocol-in-dubbo-go.md
+++ /dev/null
@@ -1,244 +0,0 @@
-# [dubbo-go 涓� REST 鍗忚瀹炵幇](https://mp.weixin.qq.com/s/9ngGYnkdcu14GkaPBjOBLg)
-
-鍦ㄧぞ鍖哄皬浼欎即浠殑鍔姏涓嬶紝Apache/dubbo-go 鍦� v1.4.0 涓敮鎸� REST 鍗忚浜嗐€�
-
-## 浠€涔堟槸 REST 鍗忚
-
-REST 鏄� 聽**RE**presentational聽**S**tate聽**T**ransfer锛堣〃杩版€х姸鎬佽浆绉伙級鐨勭畝鍐欙紝鏄竴绉嶈蒋浠舵灦鏋勯鏍笺€傝櫧鐒� REST 鏋舵瀯椋庢牸涓嶆槸涓€瀹氳鍩轰簬 HTTP 鍗忚杩涜浼犺緭锛屼絾鏄洜涓� HTTP 鍗忚鐨勯€氱敤鎬у拰鏄撶敤鎬э紝鐜板湪瓒婃潵瓒婂鐨� web 鏈嶅姟閲囩敤鍩轰簬 HTTP 鍗忚瀹炵幇 RESTful 鏋舵瀯銆�
-
-鍦� dubbo-go 涓殑 REST 鍗忚鎸囩殑鏄竴绉嶅熀浜� HTTP 鍗忚鐨勮繙绋嬭皟鐢ㄦ柟寮忋€傜畝鍗曠殑鏉ヨ锛孯EST 鍗忚灏辨槸鎶� dubbo 鏈嶅姟鍙戝竷鎴� RESTful 椋庢牸鐨� HTTP 鎺ュ彛骞朵笖鑳藉鑳藉儚璋冪敤 dubbo 鎺ュ彛涓€鏍风殑鏂瑰紡璋冪敤 HTTP 鎺ュ彛銆�
-
-## 涓轰粈涔堣鏀寔 REST 鍗忚
-
-鍦ㄦ病鏈� REST 鍗忚涔嬪墠锛屽皬浼欎即浠槸鍚︿竴鐩村湪鑻︽伡杩欐牱鍑犱釜闂锛�
-
-1. 浼犵粺鐨� web 鏈嶅姟涓嶈兘鐩存帴璋冪敤鎴戜滑鍙戝竷鐨� dubbo 鏈嶅姟
-1. 鍓嶇涓嶈兘鐩存帴璋冪敤 dubbo 鏈嶅姟
-1. dubbo 鏈嶅姟涓嶈兘鍙戝竷 Open API
-
-涓婅堪闂锛屽氨鏄� REST 鍗忚瑙e喅鐨勬牳蹇冮棶棰樸€傜幇鍦ㄦ垜浠緢澶氬簲鐢ㄥ満鏅兘鏄渶瑕佷笌寮傛瀯鐨勭郴缁熻繘琛屼氦浜掞紝鑰� REST 閲囩敤鐨� HTTP 閫氫俊鍗忚闈炲父閫傚悎鐢ㄦ潵鎵撻€氬紓鏋勭郴缁燂紝濡傚浘锛�
-
-![640.webp](https://cdn.nlark.com/yuque/0/2020/webp/1001139/1585566216491-32cab604-7e00-412a-a79c-49d9c67d810f.webp#align=left&display=inline&height=430&margin=%5Bobject%20Object%5D&name=640.webp&originHeight=430&originWidth=532&size=10938&status=done&style=none&width=532)
-
-## REST 鍗忚娌¢偅涔堢畝鍗�
-
-REST 鍗忚鏍稿績瑕佽В鍐充竴涓棶棰橈細**Go 鏂规硶鍒� HTTP 鎺ュ彛鐨勫弻鍚戞槧灏�**銆傛櫘閫� HTTP 璋冪敤 dubbo-go 鏈嶅姟锛岃€冭檻鐨勬槸 HTTP 鍒� **Go** 鏂规硶鐨勬槧灏勶紱鑰� dubbo-go 鏈嶅姟璋冪敤 HTTP 鏈嶅姟锛屽垯鏄� **Go** 鏂规硶鍒� HTTP 鎺ュ彛鐨勬槧灏勩€�
-
-涓嬮潰鏄垜浠涓� **Go** 鏂规硶瑕佸仛鏄犲皠鐨� HTTP 璇锋眰鍗忚鍐呭锛�
-
-```http
-POST /path/{pathParam}?queryParam=1 HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: http://localhost:8080
-
-{"id":1111}
-```
-
-鍦ㄦ湇鍔℃彁渚涙柟锛屽綋涓婇潰杩欑璇锋眰鍙戦€佸埌鏈嶅姟鍣ㄦ椂锛屾垜浠鎶婂畠璺敱鍒颁笅闈㈣繖涓� **Go** 鏂规硶涓紝鍦ㄦ湇鍔℃秷璐规柟锛屾垜浠篃鍙互閫氳繃璋冪敤涓嬮潰鐨� **Go** 鏂规硶鎶婃柟娉曞弬鏁拌浆鍖栦负涓婇潰鐨� HTTP 璇锋眰锛�
-
-```go
-type Provider struct {
-
-    // 璇ユ柟娉曞簲璇ュ搴斾笂闈㈢殑http璇锋眰
-    GetResult func(pathParam string, queryParam string, body interface{}, host string) (*Result, error)
-
-}
-```
-
-鍦ㄦ秷璐规柟璋冪敤 聽`GetResult` 鏃讹紝浼犲叆鍚勪釜鍙傛暟鐨勫€硷細
-
-- 鍙橀噺 聽pathParam 鐨勫唴瀹瑰簲璇ユ槸瀛楃涓� "pathParam"锛�
-- 鍙橀噺 聽queryParam 鐨勫唴瀹瑰簲璇ユ槸瀛楃涓� 聽"1" 锛�
-- 鍙橀噺 聽body 搴旇鏄湁浠ュ瓧绗︿覆 "id" 涓� key 锛�1111 涓� value 鐨勪竴涓� map锛�
-- 褰撶劧 聽host 鍙橀噺鐨勫唴瀹瑰簲璇ユ槸瀛楃涓� "[http://localhost:8080](http://localhost:8080)" 銆�
-
-鍦ㄦ湇鍔$鎵ц `GetResult` 鏂规硶鏃讹紝寰楀埌鐨勫弬鏁颁細涓庢秷璐规柟璋冪敤鏃朵紶鍏ョ殑鍊肩浉鍚屻€�
-
-鎬荤粨涓嬫潵锛屾垜浠寤虹珛浠ヤ笅杩欎簺鏄犲皠鍏崇郴
-
-1. 璺緞鏄犲皠
-1. Header 澶勭悊锛堝浐瀹� Header 鍜� Header 鍊间篃鏄弬鏁颁袱绉嶆儏鍐碉級
-1. POST or GET or ...锛圚TTP聽 鏂规硶鏄犲皠锛�
-1. 鍙傛暟鏄犲皠
-
-瑕佸畬鎴愯繖绉嶆槧灏勶紝鎴戜滑棣栧厛瑕佽В鍐崇殑鏄紝濡備綍鐭ラ亾杩欑鏄犲皠鍏崇郴锛�
-
-绛旀鍙湁涓€涓紝閫氳繃鐢ㄦ埛閰嶇疆銆傝€岀敤鎴烽厤缃墍闈复鐨勫洶闅炬槸锛屽鏉備笖鐞愮銆傦紙瑙e喅鎬濊矾鏄彁渚涘ぇ閲忛粯璁ら厤缃噺杞婚厤缃殑璐熸媴锛岃嚜瀹氫箟閰嶇疆鏂瑰紡鍏佽鐢ㄦ埛浣跨敤鑷繁鐔熸倝鐨勯厤缃舰寮忥級
-
-鍙﹀涓€涓毦鐐瑰湪浜庯紝浣跨敤浣曠 web 妗嗘灦鐨勯棶棰樸€傛湁浜涘叕鍙稿唴閮ㄤ娇鐢ㄧ殑鏄嚜鐮旂殑 web 妗嗘灦锛屼粬浠湁鎴愮啛鐨勬妧鏈熀纭€鍜岃繍缁磋兘鍔涖€備簬鏄氨浼氳€冭檻璇达紝鑳戒笉鑳借 dubbo-go 鍦ㄦ敮鎸� REST 鍗忚鐨勬椂鍊欙紝鑳藉璁╀粬浠皢 REST 鍗忚浣跨敤鐨� web 妗嗘灦鏇挎崲鎴愪粬浠墍鏈熸湜鐨勫憿锛�
-
-## 濡備綍寤虹珛 HTTP 鎺ュ彛涓庢柟娉曠殑鏄犲皠鍏崇郴
-
-涓嬮潰鎴戜妇涓€涓� HTTP 鎺ュ彛涓庢柟娉曟槧灏勭殑鍏蜂綋渚嬪瓙锛�
-
-**Go** 缁撴瀯浣撳畾涔夊涓嬶細
-
-```go
-type UserProvider struct {
-
-    GetUser func(id string, name string, age int) (*User, error)
-
-}
-```
-
-瑕佸彂甯冪殑 HTTP 鎺ュ彛褰㈠紡鏄細
-[http://127.0.0.1/UserProvider/GetUser/{id}?name=test&age=1](http://127.0.0.1/UserProvider/GetUser/%7Bid%7D?name=test&age=1)
-
-鏈嶅姟绔厤缃涓嬶細
-
-```yaml
-services:
-  "UserProvider":
-    //娉ㄥ唽涓績
-    registry: "zookeeper"
-    //鍚敤REST鍗忚
-    protocol : "rest"
-    //DUBBO鐨勬帴鍙e悕
-    interface : "com.ikurento.user.UserProvider"
-    // 鏈嶅姟鎺ュ彛璺緞
-    rest_path: "/UserProvider"
-    methods:
-    - name: "GetUser"
-      // 鏂规硶鎺ュ彛璺緞
-      rest_path: "/GetUser/{id}"
-      // HTTP鏂规硶
-      rest_method: "GET"
-      // HTTP鏌ヨ鍙傛暟
-      rest_query_params: "1:name,2:age"
-      // HTTP璺緞鍙傛暟
-      rest_path_params: "0:id"
-      // 鍙互鎻愪緵鐨勫唴瀹圭被鍨�
-      rest_produces: "application/json;application/xml"
-      // 鍙互鎺ュ彈鐨勫鎴风鍙傛暟绫诲瀷
-      rest_consumes: "application/json;charset=utf-8,*/*"
-      // HTTP Body
-      rest_body: -1
-```
-
-鍦ㄩ厤缃枃浠朵腑鎴戜滑瀹氫箟浜嗘柟娉曠殑璺緞锛孒TTP 鏂规硶绛夋帴鍙e弬鏁帮紝杩欓噷闇€瑕佹敞鎰忕殑鏄矾寰勫弬鏁板拰鏌ヨ鍙傛暟鐨勯厤缃柟寮忥紝0:name 鐨勬剰鎬濇槸鏌ヨ鍙傛暟 name 瀵瑰簲 `GetUser` 鏂规硶鐨勭涓€涓弬鏁帮紝杩樻湁 rest_body 閰嶇疆鐨勬暟瀛椾篃鏄搴旇繖鏂规硶鐨勫弬鏁帮紝杩欓噷娌℃湁 body 鍙傛暟鎵€鏈夊氨閰嶇疆浜� `-1`銆�
-
-## REST 鍗忚鐨勮皟鐢ㄨ繃绋�
-
-![Dubbogo鐨凴est鍗忚.001.jpeg](../../pic/service-governance/implementation-of-rest-protocol-in-dubbo-go-1.jpeg)
-涓婂浘灞曠ず浜嗙敤鎴峰湪 Consumer 绔皟鐢� 聽`GetUser` 鏂规硶鍒� Provdier 绔� 聽`GetUser`聽 鏂规硶琚墽琛岀殑鏁翠釜杩囩▼锛屽湪 聽`RestClient` 鍜� 聽`RestServer` 涓垎鍒�**瀹炵幇浜� 聽Go聽 鏂规硶鍙傛暟鍒� 聽HTTP聽 璇锋眰鐨勮浆鎹㈠拰 HTTP 璇锋眰鍒� 聽Go聽 鏂规硶鐨勮浆鎹紝杩欐槸鏈€涓烘牳蹇冨拰澶嶆潅鐨勯儴鍒嗐€�**鎹㈣█涔嬶紝鎴戜滑鍦ㄨ繖閲屽疄鐜颁簡鍓嶉潰鎻愬埌鐨� Go 鏂规硶鍜� HTTP 璇锋眰鐨勫弻鍚戞槧灏勩€�
-
-杩欓噷鎴戜滑鍙互娉ㄦ剰鍒� 聽`RestClient` 鍜� `RestServer` 鏄彲浠ョ敤鎴疯嚜琛屾墿灞曠殑锛屼笅闈㈡垜灏嗗叿浣撲粙缁嶄竴涓嬪湪 REST 鍗忚涓湁鍝簺鎵╁睍鐐硅璁°€�
-
-## REST 鍗忚鐨勬墿灞曠偣璁捐
-
-鍩轰簬 dubbo-go 鑹ソ鐨� extension 鎵╁睍璁捐锛屾垜浠畾涔変簡澶氫釜鎵╁睍鐐癸紝鐢ㄦ埛鍙互鑷畾涔夊姛鑳藉疄鐜般€�
-
-### 鑷畾涔� HTTP 鏈嶅姟鍣�
-
-RestServer 鐨勬墿灞曟帴鍙o細
-
-```go
-type RestServer interface {
-
-    // sever鍚姩鍑芥暟
-	Start(url common.URL)
-
-    // 鍙戝竷鎺ュ彛
-	Deploy(restMethodConfig *rest_config.RestMethodConfig, routeFunc func(request RestServerRequest, response RestServerResponse))
-
-    // 鍒犻櫎鎺ュ彛
-	UnDeploy(restMethodConfig *rest_config.RestMethodConfig)
-
-    // server鍏抽棴
-	Destroy()
-
-}
-```
-
-鍦� dubbo-go 鐨� v1.4.0 涓粯璁や娇鐢� go-restful 浣滀负 HTTP 鏈嶅姟鍣紝濡傛灉鐢ㄦ埛鎯崇敤鍏朵粬 HTTP 瀹瑰櫒鍙互瀹炵幇涓婇潰鐨勬帴鍙o紝骞跺湪閰嶇疆鏂囦欢涓厤缃娇鐢ㄨ嚜宸辫嚜瀹氫箟鐨勬湇鍔″櫒銆�
-
-杩欎釜鎺ュ彛涓紝鏈€鏍稿績鐨勬柟娉曟槸 Deploy锛屽湪 restMethodConfig 鏂规硶鍙傛暟涓湁鐢ㄦ埛閰嶇疆鐨勬帴鍙h矾寰勭瓑涓€绯诲垪鍙傛暟锛宺outeFunc 鏄� HTTP 鎺ュ彛闇€瑕佽璺敱鎵ц鐨勫嚱鏁般€備笉鍚岀殑 http 鏈嶅姟鍣ㄤ細鏈変笉鍚岀殑 request 鍜� response 锛屾墍浠ユ垜浠畾涔変簡 `RestServerRequest` 鎺ュ彛鍜� `RestServerResponse` 鎺ュ彛璁╃敤鎴疯繘琛岄€傞厤銆�
-
-### 鑷畾涔� HTTP 瀹㈡埛绔�
-
-RestClient 鐨勬墿灞曟帴鍙o細
-
-```go
-// RestOptions
-type RestOptions struct {
-	RequestTimeout time.Duration
-	ConnectTimeout time.Duration
-}
-
-// RestClientRequest
-type RestClientRequest struct {
-	Header      http.Header
-	Location    string
-	Path        string
-	Method      string
-	PathParams  map[string]string
-	QueryParams map[string]string
-	Body        interface{}
-}
-
-// RestClient user can implement this client interface to send request
-type RestClient interface {
-	Do(request *RestClientRequest, res interface{}) error
-}
-
-```
-
-鏈€鍚庣殑璇锋眰鍒板鎴风鏃讹紝閮戒細琚皝瑁呬负 `RestRequest`锛岀敤鎴峰彲浠ラ潪甯哥畝鍗曞揩閫熺殑鎵╁睍鑷繁鐨� Client 绔€俙RestOptions` 涓湁涓€浜涘鎴风鐨勮秴鏃堕厤缃紝鍦ㄥ垱寤鸿嚜宸辩殑瀹㈡埛绔椂闇€瑕佹牴鎹繖浜涢厤缃垵濮嬪寲瀹㈡埛绔€�
-
-### 鑷畾涔� REST 閰嶇疆褰㈠紡
-
-鍓嶉潰鎻愬埌锛孯EST 鍗忚涓€涓緢楹荤儲鐨勫湴鏂瑰湪浜庯紝閰嶇疆寰堢箒鐞愬緢鐞愮銆侴o 涓嶅悓浜� Java锛屽彲浠ラ€氳繃娉ㄨВ鐨勫舰寮忔潵绠€鍖栭厤缃€�
-
-鎵€浠ユ垜浠€冭檻鍒扮敤鎴蜂笉鍚岀殑浣跨敤涔犳儻鍜屽叕鍙哥殑閰嶇疆椋庢牸锛屾彁渚涗簡杩欎釜鎵╁睍鐐广€�
-
-ConfigReader 鐨勬墿灞曟帴鍙o細
-
-```go
-type ConfigReader interface {
-
-    // Consumer閰嶇疆璇诲彇
-	ReadConsumerConfig(reader *bytes.Buffer) error
-
-    // Provider閰嶇疆璇诲彇
-	ReadProviderConfig(reader *bytes.Buffer) error
-
-}
-```
-
-`ReadConsumerConfig` 鍜� `ReadProviderConfig` 鏂规硶鐨勫弬鏁版槸閰嶇疆鏂囦欢鐨勬枃浠舵祦锛屽湪瀹炵幇鏂规硶涓彲浠ュ啀娆¤В鏋愶紝涔熷彲浠ヤ娇鐢ㄤ簩娆$紪璇戞垨鑰呯‖缂栫爜鏂瑰紡绛夊叾浠栨柟寮忚鍙栭厤缃€傝繖鏄竴涓€氱敤鐨勯厤缃鍙栨帴鍙o紝浠ュ悗鍙互鐢ㄦ潵鎵╁睍 REST 閰嶇疆涔嬪鐨勫叾浠栭厤缃紝鎵€浠ラ渶瑕佸湪鏂规硶涓皟鐢ㄦ柟娉曡缃厤缃紝濡備笅锛�
-
-```go
-// 璁剧疆Rest鐨勬秷璐硅€呴厤缃�
-config.SetRestConsumerServiceConfigMap(restConsumerServiceConfigMap)
-
-// 璁剧疆Rest鐨勬彁渚涜€呴厤缃�
-config.SetRestProviderServiceConfigMap(restProviderServiceConfigMap)
-```
-
-## 濡備綍娣诲姞 HTTP 杩囨护鍣�
-
-鍥犱负涓嶅悓 HTTP 鏈嶅姟鍣ㄧ殑杩囨护鍣紝鎷︽埅鍣ㄦ垨鑰呮槸 middleware 娣诲姞鏂瑰紡閮戒笉鍚岋紝鎵€浠ユ垜浠緢闅惧畾涔変竴涓帴鍙f弧瓒虫墍鏈夋湇鍔″櫒銆傚洜姝ゆ垜浠崟鐙负 go-restful 瀹氫箟浜嗕竴涓坊鍔� filter 鐨勬柟娉曪紝杩欓噷鎴戜滑闇€瑕佹敞鎰忕殑涓€鐐规槸蹇呴』鍦� REST 鎺ュ彛鍙戝竷鍓嶆坊鍔� filter銆�
-
-```go
-server_impl.AddGoRestfulServerFilter(func(request *restful.Request, response *restful.Response, chain *restful.FilterChain) {
-    // 閴存潈绛夊姛鑳�
-    chain.ProcessFilter(request, response)
-})
-
-// 鍚姩dubbo鏈嶅姟锛屽彂甯價est绛夋帴鍙�
-config.Load()
-```
-
-## 灞曟湜
-
-浠ヤ笂鏄叧浜� REST 鍗忚鐨勪竴浜涗粙缁嶏紝鍏蜂綋鐨勫疄鐜版垜灏变笉璇︾粏璁蹭簡锛屽ぇ瀹跺彲浠ュ幓鍙傞槄婧愮爜銆�
-
-濡傛灉鎯崇湅鍏蜂綋鐨� Example锛岃鍙傝€冿細
-[https://github.com/dubbogo/dubbo-samples/tree/master/golang/general/rest](https://github.com/dubbogo/dubbo-samples/tree/master/golang/general/rest)
-
-REST 鏈潵闇€瑕佹敮鎸� HTTPS 鍗忚鍜屽熀浜� open tracing 鏍囧噯 api 鐨勯摼璺拷韪€俁EST 鐨勯厤缃俊鎭湭鏉ヤ篃涓嶆槸 REST 鍗忚鐙湁鐨勶紝杩欎簺閰嶇疆淇℃伅鏈潵鍙互浣滀负姣忎釜 dubbo 鎺ュ彛鐨勫厓鏁版嵁锛屽瓨鍌ㄥ埌鍏冩暟鎹腑蹇冿紝涓虹綉鍏虫彁渚� HTTP 鍗忚涓� dubbo 鍗忚涔嬮棿鐨勬槧灏勫叧绯汇€�
-
-- 浣滆€呬俊鎭細
-
-  钂嬭秴锛実ithub id Patrick0308锛屽湪 鏉窞璐濆畨浜戠鎶€鏈夐檺鍏徃 浠昏亴鏈嶅姟寮€鍙戝伐绋嬪笀銆�
diff --git a/doc/md/service-governance/zero-cost-access-to-mosn-for-dubbo-go.md b/doc/md/service-governance/zero-cost-access-to-mosn-for-dubbo-go.md
deleted file mode 100644
index 2b80a311622436d766b56aa0f4f6e42abe6f5f23..0000000000000000000000000000000000000000
--- a/doc/md/service-governance/zero-cost-access-to-mosn-for-dubbo-go.md
+++ /dev/null
@@ -1,170 +0,0 @@
-# [Dubbo/Dubbo-go 搴旂敤闆舵垚鏈帴鍏� MOSN](https://mosn.io/docs/dev/dubbo-integrate/)
-
-## Dubbo 浠嬬粛
-
-Dubbo 鏈€鍒濇槸 **Java 寮€鍙戠殑涓€濂� RPC 妗嗘灦**锛岄殢鐫€绀惧尯鐨勫彂灞曘€傚綋鍓� dubbo 涔熸笎娓愭垚涓轰竴濂楄法璇█鐨勮В鍐虫柟妗堛€�**闄や簡 Java 浠ュ锛岃繕鏈夌浉搴旂殑 Go 瀹炵幇**銆傛湁瑙勫緥鐨勭増鏈彂甯冭妭濂忥紝绀惧尯杈冧负娲昏穬銆�
-
-## Dubbo 鏈嶅姟 mesh 鍖�
-
-鎺ュ叆 service mesh 鐨勫簲鐢紝鍏舵湇鍔″彂鐜板簲璇ョ敱鐩稿簲鐨� mesh 妯″潡鎺ョ銆備竴鑸敱鎺у埗闈㈠皢鐩稿簲鐨勬湇鍔″彂鐜伴厤缃繘琛岃闃呭拰涓嬪彂銆備絾杩欓噷瀛樺湪鍑犱釜闂锛�
-
-濡傛灉鍏徃鏄涓€娆℃帴鍏� service mesh锛屼笉甯屾湜涓€娆″紩鍏ュお澶氭ā鍧楋紝杩欐牱浼氬鍔犳暣浣撶殑杩愮淮璐熸媴銆傚鏋滃彲浠ユ笎杩涘湴杩佺Щ鍒� service mesh 鏋舵瀯锛屼緥濡傚厛鎺ュ叆鏁版嵁闈紝鍐嶆帴鍏ユ帶鍒堕潰銆傞偅涔堝氨鍙互闅忔椂浠ヨ緝浣庣殑鎴愭湰杩涜鍥炴粴銆備篃涓嶄細缁欒繍缁撮€犳垚澶ぇ鐨勫帇鍔涖€�
-
-姣忎釜鍏徃閮芥湁鑷繁鐨勫彂灞曡鍒掞紝骞朵笉鏄瘡涓叕鍙搁兘瀹屾暣鍦版嫢鎶变簡浜戝師鐢熴€傚ぇ閮ㄥ垎鍏徃鍙兘瀛樺湪閮ㄥ垎涓婁簯锛岄儴鍒嗘湭涓婁簯鐨勬儏鍐碉紝鍦ㄨ縼绉诲埌 service mesh 鏃讹紝涔熷瓨鍦ㄩ儴鍒嗗簲鐢ㄦ帴鍏ヤ簡 service mesh锛岃€屽彟涓€閮ㄥ垎鏈帴鍏ョ殑鎯呭喌銆傞渶瑕佽€冭檻璺ㄦ灦鏋勪簰閫氥€�
-
-鎴戜滑杩欓噷鎻愬嚭鐨勬柟妗堝笇鏈涜兘澶熻В鍐宠繖浜涢棶棰樸€�
-
-### 鏈嶅姟鍙戠幇鎺ュ叆
-
-#### 閰嶇疆宸ヤ綔
-
-鍦ㄩ厤缃枃浠朵腑锛屾垜浠厤缃簡涓や釜 listener锛�
-
-涓€涓槸 serverListener锛岃礋璐f嫤鎴閮ㄨ繘鍏ョ殑娴侀噺锛岃浆鍙戠粰鏈湴妯″潡锛岃繖涓柟鍚戠殑璇锋眰涓嶉渶瑕佸仛鐗规畩澶勭悊锛屽彧瑕佷娇鐢� xprotocol 杞彂缁欐湰鏈哄嵆鍙€�
-
-涓€涓槸 clientListener锛岃礋璐f嫤鎴湰鏈哄悜澶栧彂璧风殑璇锋眰锛屽洜涓哄閮ㄩ泦缇ゆ牴鎹湇鍔℃敞鍐屼腑蹇冧笅鍙戠殑 endpoint 鍒楄〃鍔ㄦ€佸彉鍖栵紝鎵€浠ヨ listener 瀵瑰簲鐨勪篃鏄竴涓� 鐗规畩鐨� router 鍚� 鈥渄ubbo鈥濄€傦紝杩欓噷鍔″繀娉ㄦ剰銆�
-
-```json
-    "listeners": [
-        {
-            "name": "serverListener",
-            "address": "127.0.0.1:2046",
-            "bind_port": true,
-            "log_path": "stdout",
-            "filter_chains": [
-                {
-                    "tls_context": {},
-                    "filters": [
-                        {
-                            "type": "proxy",
-                            "config": {
-                                "downstream_protocol": "X",
-                                "upstream_protocol": "X",
-                                "router_config_name": "server_router",
-                                "extend_config": {
-                                    "sub_protocol": "dubbo"
-                                }
-                            }
-                        }
-                    ]
-                }
-            ]
-        },
-        {
-            "name": "clientListener",
-            "address": "0.0.0.0:2045",
-            "bind_port": true,
-            "log_path": "stdout",
-            "filter_chains": [
-                {
-                    "tls_context": {},
-                    "filters": [
-                        {
-                            "type": "proxy",
-                            "config": {
-                                "downstream_protocol": "X",
-                                "upstream_protocol": "X",
-                                "router_config_name": "dubbo",
-                                "extend_config": {
-                                    "sub_protocol": "dubbo"
-                                }
-                            }
-                        }
-                    ]
-                }
-            ]
-        }
-    ]
-```
-
-#### 寮€鍙戝伐浣�
-
-绗竴姝ワ紝鍦� MOSN 閰嶇疆涓鍔� dubbo_registry 鎵╁睍閫夐」锛�
-
-```json
-"extend": [
-    {
-        "type": "dubbo_registry",
-        "config": {
-            "enable": true,
-            "server_port": 20080,
-            "api_port": 22222,
-            "log_path": "/tmp"
-        }
-    }
-]
-```
-
-璇ラ厤缃笌 tracing銆乤dmin 绛変负骞崇骇閰嶇疆銆�
-
-绗簩姝ワ紝閽堝鎺ュ叆鐨勬湇鍔★紝闇€瑕佺畝鍗曚慨鏀� sdk 涓殑 pub銆乻ub 鐜妭浠g爜锛�
-
-pub 鏃讹紝濡傛灉褰撳墠鐜涓烘帴鍏� MOSN 鐜(鍙€氳繃閰嶇疆绯荤粺涓嬪彂鐨勫紑鍏虫潵鍒ゆ柇)锛屽垯璋冪敤 MOSN 鐨� pub 鎺ュ彛锛岃€岄潪鐩存帴鍘绘敞鍐屼腑蹇� pub銆�
-
-sub 鏃讹紝濡傛灉褰撳墠鐜涓烘帴鍏� MOSN 鐜锛屽垯璋冪敤 MOSN 鐨� sub 鎺ュ彛锛屼笉鍘绘敞鍐屼腑蹇� sub銆�
-
-绗笁姝ワ紝搴旂敤閫€鍑烘椂锛岄渶瑕佸皢鎵€鏈� pub銆乻ub 鐨勬湇鍔℃墽琛屽弽鍚戞搷浣滐紝鍗� unpub銆乽nsub銆�
-
-鍦ㄦ湰鏂囦腑浣跨敤 httpie 鏉ュ彂閫� http 璇锋眰銆備娇鐢� dubbo-go 涓殑鏍蜂緥绋嬪簭浣滀负鎴戜滑鐨勬湇鍔$殑 client 鍜� server銆�
-
-鎺ヤ笅鏉ユ垜浠娇鐢� httpie 鏉ユā鎷熷悇绉嶆儏鍐典笅鐨� pub銆乻ub 娴佺▼銆�
-
-鐩磋繛 client 涓庢甯哥殑 dubbo service 浜掗€�
-渚嬪瓙璺緞
-
-Service 鏄甯哥殑 dubbo service锛屾墍浠ヤ細鑷姩娉ㄥ唽鍒� zk 涓幓锛屼笉闇€瑕佹垜浠府瀹� pub锛岃繖閲屽彧瑕� sub 灏卞彲浠ヤ簡锛屾墍浠ユ墽琛屾祦绋嬩负锛�
-
-绗竴姝ワ紝淇敼 MOSN 閰嶇疆锛屽鍔� dubbo_registry 鐨� extend 鎵╁睍銆�
-
-绗簩姝ワ紝mosn start銆�
-
-绗笁姝ワ紝start server銆�
-
-绗洓姝ワ紝subscribe service銆�
-```sh
-http --json post localhost:22222/sub registry:='{"type":"zookeeper", "addr" : "127.0.0.1:2181"}' service:='{"interface" : "com.ikurento.user.UserProvider", "methods" :["GetUser"], "group" : "", "version" : ""}' --verbose
-```
-绗簲姝ワ紝start client銆�
-
-鍦� client 涓纭湅鍒拌繑鍥炵粨鏋滅殑璇濓紝璇存槑璇锋眰鎴愬姛浜嗐€�
-
-鐩磋繛 client 涓庣洿杩� dubbo service 浜掗€�
-渚嬪瓙璺緞
-
-鐩磋繛鐨勬湇鍔′笉浼氫富鍔ㄥ鑷韩杩涜鍙戝竷锛岀洿杩炵殑 client 涓嶄細涓诲姩杩涜璁㈤槄銆傚洜姝ゆ渚嬪瓙涓紝pub 鍜� sub 閮芥槸鐢辨垜浠潵杈呭姪杩涜鐨勩€�
-
-绗竴姝ワ紝淇敼 MOSN 閰嶇疆锛屽鍔� dubbo_registry 鐨� extend 鎵╁睍銆�
-
-绗簩姝ワ紝mosn start
-
-绗笁姝ワ紝start server
-
-绗洓姝ワ紝subscribe service
-```sh
-http --json post localhost:22222/sub registry:='{"type":"zookeeper", "addr" : "127.0.0.1:2181"}' service:='{"interface" : "com.ikurento.user.UserProvider", "methods" :["GetUser"], "group" : "", "version" : ""}' --verbose
-```
-绗簲姝ワ紝publish service
-
-http --json post localhost:22222/pub registry:='{"type":"zookeeper", "addr" : "127.0.0.1:2181"}' service:='{"interface" : "com.ikurento.user.UserProvider", "methods" :["GetUser"], "group" : "", "version" : ""}' --verbose
-绗叚姝ワ紝start client
-
-姝ゆ椂搴旇鑳界湅鍒� client 渚х殑鍝嶅簲銆�
-
-姝e父鐨� client 涓庣洿杩� dubbo service 浜掗€�
-渚嬪瓙璺緞
-
-Client 鏄甯� client锛屽洜姝� client 浼氳嚜宸卞幓 subscribe銆傛垜浠彧瑕佹甯稿湴鎶婃湇鍔� pub 鍑哄幓鍗冲彲锛�
-
-绗竴姝ワ紝淇敼 MOSN 閰嶇疆锛屽鍔� dubbo_registry 鐨� extend 鎵╁睍銆�
-
-绗簩姝ワ紝mosn start
-
-绗笁姝ワ紝start server
-
-绗洓姝ワ紝publish service
-```sh
-http --json post localhost:22222/sub registry:='{"type":"zookeeper", "addr" : "127.0.0.1:2181"}' service:='{"interface" : "com.ikurento.user.UserProvider", "methods" :["GetUser"], "group" : "", "version" : ""}' --verbose
-```
-绗簲姝ワ紝start client
-
-姝ゆ椂搴旇鑳界湅鍒� client 渚х殑鍝嶅簲銆�
diff --git a/doc/pic/arch/dubbo-go-arch.png b/doc/pic/arch/dubbo-go-arch.png
deleted file mode 100644
index 0a28cb6a3af6953d2ad10390ddff5b7d82166ecc..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-arch.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-a.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-a.png
deleted file mode 100644
index 0f77e7c7bdd2e7c48d190647e36f17b07c18221f..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-a.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-b.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-b.png
deleted file mode 100644
index 3189a4802785962c2e2dab94d3ed3acacd10cff6..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-b.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-c.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-c.png
deleted file mode 100644
index 2fc84afe62b322fdcb85efb4ddef94ea48d19e6a..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-c.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-d.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-d.png
deleted file mode 100644
index fe5f233b6e238dbf5bc2fcfa89d336934d2bf064..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-d.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-e.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-e.png
deleted file mode 100644
index 52298189dd0fe82728ed8d8f4525365d4b7b681d..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-e.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-f.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-f.png
deleted file mode 100644
index 1368e1c0b718327a74f6028abea4dabaa22c5bcb..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-f.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-g.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-g.png
deleted file mode 100644
index ffde3b56b074e50dd26e158f38d721c40ab5aed4..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-g.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-h.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-h.png
deleted file mode 100644
index 6783926994624da6c67902edfad886a3518cef28..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-h.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-i.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-i.png
deleted file mode 100644
index 0e2c25b19895593acc72b71f95036526d3969eca..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-i.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-j.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-j.png
deleted file mode 100644
index 1ea510561d01d57398e045720d51ac378716dae1..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-j.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-design-implement-and-featrues-k.png b/doc/pic/arch/dubbo-go-design-implement-and-featrues-k.png
deleted file mode 100644
index f5ae884bfbed5e07f9a61056ff4f3b8f709b1b4a..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-design-implement-and-featrues-k.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-ext.png b/doc/pic/arch/dubbo-go-ext.png
deleted file mode 100644
index b60ecdf47ef190f097fccaf2d74070f6712ea80d..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-ext.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-one-year-1.png b/doc/pic/arch/dubbo-go-one-year-1.png
deleted file mode 100644
index 376dd21b1bcf8bcd9a006642b8fecec41b9fc587..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-one-year-1.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-one-year-2.png b/doc/pic/arch/dubbo-go-one-year-2.png
deleted file mode 100644
index c184ef6263b17f498e039a6e62e3ea9e5a479547..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-one-year-2.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-one-year-3.png b/doc/pic/arch/dubbo-go-one-year-3.png
deleted file mode 100644
index 752bfceac3226eb098057ca6f460b60c38591307..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-one-year-3.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-one-year-4.png b/doc/pic/arch/dubbo-go-one-year-4.png
deleted file mode 100644
index 837884dea2e8cbb8102da0a6bf02507eb0097680..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-one-year-4.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-one-year-5.png b/doc/pic/arch/dubbo-go-one-year-5.png
deleted file mode 100644
index 6fb3105411fb4272ae78f1ece4f3ba6e155fb810..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-one-year-5.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-0.jpg b/doc/pic/arch/dubbo-go-review-and-future-0.jpg
deleted file mode 100644
index 5ec22f175354319c8df25e52f65260bfd8394fb5..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-0.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-a.jpg b/doc/pic/arch/dubbo-go-review-and-future-a.jpg
deleted file mode 100644
index dc8f1dc5f4b011d6d4a1b90263532d1f222b3278..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-a.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-b.jpg b/doc/pic/arch/dubbo-go-review-and-future-b.jpg
deleted file mode 100644
index a8234572e3cd043a5f7a022bb5b714c8d637d9d3..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-b.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-c.jpg b/doc/pic/arch/dubbo-go-review-and-future-c.jpg
deleted file mode 100644
index 652bd00dfdb10188bc47115477152baaa7bbb95e..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-c.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-d.jpg b/doc/pic/arch/dubbo-go-review-and-future-d.jpg
deleted file mode 100644
index 5371cbbb76a0143eb463eb8d038e454c9767ace9..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-d.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-e.jpg b/doc/pic/arch/dubbo-go-review-and-future-e.jpg
deleted file mode 100644
index ad7a3f4c29b35a441d1de5a3d76a5dfcb0c9aec9..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-e.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-f.jpg b/doc/pic/arch/dubbo-go-review-and-future-f.jpg
deleted file mode 100644
index 13812d7eac01f5255fc99ab01f1eca4934d894f8..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-f.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-g.jpg b/doc/pic/arch/dubbo-go-review-and-future-g.jpg
deleted file mode 100644
index 1a174ae11da2adb3d41439e0161310681c049c61..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-g.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-h.jpg b/doc/pic/arch/dubbo-go-review-and-future-h.jpg
deleted file mode 100644
index fc398af847858a3c46c20763fadbc3d0e92859c3..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-h.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-i.jpg b/doc/pic/arch/dubbo-go-review-and-future-i.jpg
deleted file mode 100644
index 42558f45f033552e6ed44e27265e27ac94fe1e8b..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-i.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-j.jpg b/doc/pic/arch/dubbo-go-review-and-future-j.jpg
deleted file mode 100644
index 8eb3e7fd5baa2380993c10ea5fe19bb56fe0ef36..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-j.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-k.jpg b/doc/pic/arch/dubbo-go-review-and-future-k.jpg
deleted file mode 100644
index 3af59c4f446a683fb4f60f90de6552fd2b73182d..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-k.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-l.jpg b/doc/pic/arch/dubbo-go-review-and-future-l.jpg
deleted file mode 100644
index 7e10f682d09df3a9ad43dcec5a9e65648d9f93f0..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-l.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-m.jpg b/doc/pic/arch/dubbo-go-review-and-future-m.jpg
deleted file mode 100644
index 17d78da72cf769df66e02dda2080b3da82fb3b20..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-m.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-n.jpg b/doc/pic/arch/dubbo-go-review-and-future-n.jpg
deleted file mode 100644
index b64a975bae7e9281646718fe86ec93f5b2e631b6..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-n.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-o.png b/doc/pic/arch/dubbo-go-review-and-future-o.png
deleted file mode 100644
index f97468ca767b65265dd868e1faec88612dd41087..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-o.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-p.png b/doc/pic/arch/dubbo-go-review-and-future-p.png
deleted file mode 100644
index 3f9e924e77ca6e84e9cb10334d59e81954059cfc..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-p.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-q.jpg b/doc/pic/arch/dubbo-go-review-and-future-q.jpg
deleted file mode 100644
index 48bb4a943caa06df3c6c6dad8201c4419f35e45e..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-q.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-r.jpg b/doc/pic/arch/dubbo-go-review-and-future-r.jpg
deleted file mode 100644
index 72290335becc150b03aab4d52b800885c1307dd2..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-r.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-s.jpg b/doc/pic/arch/dubbo-go-review-and-future-s.jpg
deleted file mode 100644
index 33b4d7472b8079029a2384e56c8af7e95aec7e04..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-s.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-t.png b/doc/pic/arch/dubbo-go-review-and-future-t.png
deleted file mode 100644
index 7aee88fb00ae89597bbc0f0704e42af2ddad44d5..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-t.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-u.png b/doc/pic/arch/dubbo-go-review-and-future-u.png
deleted file mode 100644
index 99649afbec228c22188d19bd93a6c5d7f1ce69af..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-u.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-v.jpg b/doc/pic/arch/dubbo-go-review-and-future-v.jpg
deleted file mode 100644
index 909738ebae532d4ff02f5332128b1b250d47c870..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-v.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-w.jpg b/doc/pic/arch/dubbo-go-review-and-future-w.jpg
deleted file mode 100644
index ec8606bc02173a3518e86a0d45154a3128f723fa..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-w.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-x.png b/doc/pic/arch/dubbo-go-review-and-future-x.png
deleted file mode 100644
index 328e046643ebbde623696b4acb1a66ddb850bfab..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-x.png and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-y.jpg b/doc/pic/arch/dubbo-go-review-and-future-y.jpg
deleted file mode 100644
index c8f1801e0778cbd21480a241071cfbc0d24ab44e..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-y.jpg and /dev/null differ
diff --git a/doc/pic/arch/dubbo-go-review-and-future-z.jpg b/doc/pic/arch/dubbo-go-review-and-future-z.jpg
deleted file mode 100644
index 219784c9bc72b42b02b0b6adada688dd1f021b04..0000000000000000000000000000000000000000
Binary files a/doc/pic/arch/dubbo-go-review-and-future-z.jpg and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-a.jpg b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-a.jpg
deleted file mode 100644
index 3fc7600e7618d1d026c5bc41d78556bca801c6fa..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-a.jpg and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-b.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-b.png
deleted file mode 100644
index 08b9f62d733a5f4dcae4c38cc9422b60cfa26b24..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-b.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-c.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-c.png
deleted file mode 100644
index 046f9be15864c3938e90c77728d5e8743c57465a..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-c.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-d.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-d.png
deleted file mode 100644
index 0c0ad73c0836b53675eb7c36f0149aea8839be13..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-d.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-e.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-e.png
deleted file mode 100644
index 4c035fd8e5bc31ccb08b41483795e926d06e1fce..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-e.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-f.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-f.png
deleted file mode 100644
index cebcd376722e7e630a0b8969ed8c4b2722b01000..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-f.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-g.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-g.png
deleted file mode 100644
index fdee33ba12ce4d10a4a866b5dc872e6d114c29d5..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-g.png and /dev/null differ
diff --git a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-h.png b/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-h.png
deleted file mode 100644
index 47b9ea64dbe8d1b4d7431baaae74946e37dafa7b..0000000000000000000000000000000000000000
Binary files a/doc/pic/config-center/how-to-implement-remote-configuration-management-in-dubbo-go-h.png and /dev/null differ
diff --git a/doc/pic/course/dubbo-go-application-dimension-registration-model-1.png b/doc/pic/course/dubbo-go-application-dimension-registration-model-1.png
deleted file mode 100644
index fd2cc222c855d2b2f5b9f2040c33af4dc1ccc764..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/dubbo-go-application-dimension-registration-model-1.png and /dev/null differ
diff --git a/doc/pic/course/dubbo-go-application-dimension-registration-model-2.png b/doc/pic/course/dubbo-go-application-dimension-registration-model-2.png
deleted file mode 100644
index b674f2062988fd15dd3452b958b79916d2aba96c..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/dubbo-go-application-dimension-registration-model-2.png and /dev/null differ
diff --git a/doc/pic/course/dubbo-go-application-dimension-registration-model-3.png b/doc/pic/course/dubbo-go-application-dimension-registration-model-3.png
deleted file mode 100644
index eaa1ec0e79fa030f2e3576115e40a3739d95e11f..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/dubbo-go-application-dimension-registration-model-3.png and /dev/null differ
diff --git a/doc/pic/course/dubbo-go-application-dimension-registration-model-4.png b/doc/pic/course/dubbo-go-application-dimension-registration-model-4.png
deleted file mode 100644
index 6fee638701706bcc78029a0b2ffbdf7c0f58b1b9..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/dubbo-go-application-dimension-registration-model-4.png and /dev/null differ
diff --git a/doc/pic/course/mosn-dubbo-go-1.png b/doc/pic/course/mosn-dubbo-go-1.png
deleted file mode 100644
index 19d29f634a13aaef8eeaa7574815f3ee585ad498..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/mosn-dubbo-go-1.png and /dev/null differ
diff --git a/doc/pic/course/mosn-dubbo-go-2.png b/doc/pic/course/mosn-dubbo-go-2.png
deleted file mode 100644
index 52417add37e2f207d799658e46271bd9c996367c..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/mosn-dubbo-go-2.png and /dev/null differ
diff --git a/doc/pic/course/mosn-dubbo-go-3.png b/doc/pic/course/mosn-dubbo-go-3.png
deleted file mode 100644
index 46c68956d5dda34774505da7012fa39e55dc786e..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/mosn-dubbo-go-3.png and /dev/null differ
diff --git a/doc/pic/course/mosn-dubbo-go-4.png b/doc/pic/course/mosn-dubbo-go-4.png
deleted file mode 100644
index 2b938a4f959f87bdcd6e923cbe0267ff2211f307..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/mosn-dubbo-go-4.png and /dev/null differ
diff --git a/doc/pic/course/mosn-dubbo-go-5.png b/doc/pic/course/mosn-dubbo-go-5.png
deleted file mode 100644
index b3cd8c46988d50d56ba0499750ee2124b798c406..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/mosn-dubbo-go-5.png and /dev/null differ
diff --git a/doc/pic/course/practice-and-exploration-of-dubbo-go-1.png b/doc/pic/course/practice-and-exploration-of-dubbo-go-1.png
deleted file mode 100644
index 2b689316b08e9c20948a14c37dbb6dd2aeb4b13e..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/practice-and-exploration-of-dubbo-go-1.png and /dev/null differ
diff --git a/doc/pic/course/practice-and-exploration-of-dubbo-go-2.png b/doc/pic/course/practice-and-exploration-of-dubbo-go-2.png
deleted file mode 100644
index d3b93e98f65de43f5348153b534fea7fe980c919..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/practice-and-exploration-of-dubbo-go-2.png and /dev/null differ
diff --git a/doc/pic/course/practice-and-exploration-of-dubbo-go-3.png b/doc/pic/course/practice-and-exploration-of-dubbo-go-3.png
deleted file mode 100644
index 92ede55f4c3b2f887893a2b693208a6b3cda0225..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/practice-and-exploration-of-dubbo-go-3.png and /dev/null differ
diff --git a/doc/pic/course/practice-and-exploration-of-dubbo-go-4.png b/doc/pic/course/practice-and-exploration-of-dubbo-go-4.png
deleted file mode 100644
index f87020480fce9deeef5441be62528fee6bf1c91a..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/practice-and-exploration-of-dubbo-go-4.png and /dev/null differ
diff --git a/doc/pic/course/ten-year-dubbo-1.png b/doc/pic/course/ten-year-dubbo-1.png
deleted file mode 100644
index afce621e6dc5c5a1f7b119a6e071fcaa0f0a2c33..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/ten-year-dubbo-1.png and /dev/null differ
diff --git a/doc/pic/course/ten-year-dubbo-2.png b/doc/pic/course/ten-year-dubbo-2.png
deleted file mode 100644
index 82f1a26d16fd6f839ddbc2a2ff2fd5fb72128cdf..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/ten-year-dubbo-2.png and /dev/null differ
diff --git a/doc/pic/course/the-5th-years-of-dubbo-go-a.png b/doc/pic/course/the-5th-years-of-dubbo-go-a.png
deleted file mode 100644
index 6e8fa474f8f791e43770b872499d672383bf05e3..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/the-5th-years-of-dubbo-go-a.png and /dev/null differ
diff --git a/doc/pic/course/the-5th-years-of-dubbo-go-b.png b/doc/pic/course/the-5th-years-of-dubbo-go-b.png
deleted file mode 100644
index 09bb6917172f19b5f6dfd7dedaa23c98d74a5cc4..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/the-5th-years-of-dubbo-go-b.png and /dev/null differ
diff --git a/doc/pic/course/the-5th-years-of-dubbo-go-c.png b/doc/pic/course/the-5th-years-of-dubbo-go-c.png
deleted file mode 100644
index 31b09ae1a7c5866c3f24ff095ba326d9066d66dd..0000000000000000000000000000000000000000
Binary files a/doc/pic/course/the-5th-years-of-dubbo-go-c.png and /dev/null differ
diff --git a/doc/pic/getty/getty_connected_udp_socket.gif b/doc/pic/getty/getty_connected_udp_socket.gif
deleted file mode 100644
index 011cd2329e874636b881012129cdd8256dd6da10..0000000000000000000000000000000000000000
Binary files a/doc/pic/getty/getty_connected_udp_socket.gif and /dev/null differ
diff --git a/doc/pic/getty/getty_dns_udp.gif b/doc/pic/getty/getty_dns_udp.gif
deleted file mode 100644
index 253dddf2395a4624ba4bb8661806851000f46c3d..0000000000000000000000000000000000000000
Binary files a/doc/pic/getty/getty_dns_udp.gif and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-a.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-a.png
deleted file mode 100644
index 484e07d3acf12da294bc01ed462a752ba8df6261..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-a.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-b.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-b.png
deleted file mode 100644
index 2a208c6952177dd56e5c78ddf3afbfd365050803..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-b.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-c.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-c.png
deleted file mode 100644
index f89c20fe3b3c6184a653887c0aae41b2c767e3cf..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-c.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-d.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-d.png
deleted file mode 100644
index 5d639b918a5da58e50ac4c1bf65bc959247f7c76..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-d.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-e.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-e.png
deleted file mode 100644
index 940950ec290a4a1ff415179156a372296acb0114..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-e.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-f.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-f.png
deleted file mode 100644
index 26a543b22739038730542e984b299fea078b318d..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-f.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-g.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-g.png
deleted file mode 100644
index a98c7222d7bf1de7e241015a2aa3088f758d0b89..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-g.png and /dev/null differ
diff --git a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-h.png b/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-h.png
deleted file mode 100644
index 3da98bfe966b5aed47899c090095c567f22f7d3b..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/dubbo-go-hessian2-performance-optimization-h.png and /dev/null differ
diff --git a/doc/pic/hessian2/mosn-performance-optimization-1.png b/doc/pic/hessian2/mosn-performance-optimization-1.png
deleted file mode 100644
index c6090d4e51e32e96d1626e2861b00b9d667c34ee..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/mosn-performance-optimization-1.png and /dev/null differ
diff --git a/doc/pic/hessian2/mosn-performance-optimization-2.png b/doc/pic/hessian2/mosn-performance-optimization-2.png
deleted file mode 100644
index 7fccfa6d658b3714d56064011fa2a082a28aff3e..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/mosn-performance-optimization-2.png and /dev/null differ
diff --git a/doc/pic/hessian2/mosn-performance-optimization-3.png b/doc/pic/hessian2/mosn-performance-optimization-3.png
deleted file mode 100644
index b9b86ce5d9e45735318c1d1b22ade1a1083ff82d..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/mosn-performance-optimization-3.png and /dev/null differ
diff --git a/doc/pic/hessian2/mosn-performance-optimization-4.png b/doc/pic/hessian2/mosn-performance-optimization-4.png
deleted file mode 100644
index d310db5635f4de225084aa5b5c08650b06640846..0000000000000000000000000000000000000000
Binary files a/doc/pic/hessian2/mosn-performance-optimization-4.png and /dev/null differ
diff --git a/doc/pic/interview/dubbo-go-published-a.jpg b/doc/pic/interview/dubbo-go-published-a.jpg
deleted file mode 100644
index ce27147a1ad97ba3b227837b2e98464ff813def1..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/dubbo-go-published-a.jpg and /dev/null differ
diff --git a/doc/pic/interview/dubbo-go-published-b.jpg b/doc/pic/interview/dubbo-go-published-b.jpg
deleted file mode 100644
index 9cc7e6486c98ac4e12f7a989524353c3aa3d1178..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/dubbo-go-published-b.jpg and /dev/null differ
diff --git a/doc/pic/interview/dubbo-go-published-c.jpg b/doc/pic/interview/dubbo-go-published-c.jpg
deleted file mode 100644
index 69c70c7d516924e54003bf5bd49793befb09439d..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/dubbo-go-published-c.jpg and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-a.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-a.png
deleted file mode 100644
index 97f3caa29e076b651ea4477cdac637c6dc4bee26..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-a.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-b.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-b.png
deleted file mode 100644
index a491cbbf46fff38962456b85cf0e4ee37b5cf128..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-b.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-c.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-c.png
deleted file mode 100644
index fa867fc6cf437daf5f67e0a03d34f3daa839b43f..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-c.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-d.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-d.png
deleted file mode 100644
index 5fe471a16d412741aa4668f9dbd4135d4281bbc4..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-d.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-e.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-e.png
deleted file mode 100644
index 679e90abfc8e6ebf744902f89de2cf29e9789719..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.4.0-e.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-1.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.5-1.png
deleted file mode 100644
index 91444d7d69d92c4980404d18e6cad89dd4a4c2d3..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-1.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-2.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.5-2.png
deleted file mode 100644
index 6735eacda0db0eb2a76681a3df154920d09eb522..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-2.png and /dev/null differ
diff --git a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-3.png b/doc/pic/interview/what's-new-in-dubbo-go-v1.5-3.png
deleted file mode 100644
index f61a18a18ccf3a1490981d66e11be75565363010..0000000000000000000000000000000000000000
Binary files a/doc/pic/interview/what's-new-in-dubbo-go-v1.5-3.png and /dev/null differ
diff --git a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-1.png b/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-1.png
deleted file mode 100644
index 506eb2101908ab73d6cf9dcfb740a746e5612e04..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-1.png and /dev/null differ
diff --git a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-2.png b/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-2.png
deleted file mode 100644
index 6e7ce8b04656c0ad354a0720e914c60151822caf..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-2.png and /dev/null differ
diff --git a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-3.png b/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-3.png
deleted file mode 100644
index 99c2812125659bc708cb1abf475df7d40b9e97b4..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/design-and-implementation-of-dubbo-go-and-k8s-registry-3.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-a.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-a.png
deleted file mode 100644
index dafc1505533b67fd61c26ba284fb13fb70410639..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-a.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-b.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-b.png
deleted file mode 100644
index 85b3997c8fb22918d311d160a3154ef4e608c60f..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-b.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-c.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-c.png
deleted file mode 100644
index 11ada496e3702c70390b7de1bb37e617cf9c7e12..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-c.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-d.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-d.png
deleted file mode 100644
index e66f3bd3895cfaddb1293e5d54cd45f3859afcfb..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-d.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-e.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-e.png
deleted file mode 100644
index a02d9c7322aa118e6d8eaab014ff41ef9febb49a..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-e.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-f.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-f.png
deleted file mode 100644
index 4d97fcf4c20b68723933ba05d9919910a334ab56..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-f.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-g.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-g.png
deleted file mode 100644
index da690449bd3b1be01d50cdab787fdf7d47c62bb2..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-g.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-h.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-h.png
deleted file mode 100644
index 1a3e6834fb4e92b4a840e7741ad271adc1a0ff7e..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-h.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-i.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-i.png
deleted file mode 100644
index a5e7503ed3b17933aeb4ca2208b367851feb15f6..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-i.png and /dev/null differ
diff --git a/doc/pic/registry-center/dubbo-go-registry-center--nacos-j.png b/doc/pic/registry-center/dubbo-go-registry-center--nacos-j.png
deleted file mode 100644
index a05602b8154e3f710c457f4bf62410236d3547dd..0000000000000000000000000000000000000000
Binary files a/doc/pic/registry-center/dubbo-go-registry-center--nacos-j.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-a.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-a.png
deleted file mode 100644
index 87726d88484c23d6395023bb10e86009d59a1fd7..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-a.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-b.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-b.png
deleted file mode 100644
index c4f2c8dcaf39db8aeb3920dc638e3472bc0fc182..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-b.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-c.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-c.png
deleted file mode 100644
index c55fa2e7af662598b2fea728ac10f8798450ad9c..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-c.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-d.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-d.png
deleted file mode 100644
index 3d57d26861d6bfd6fbf43f077a30600df2ce8629..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-d.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-e.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-e.png
deleted file mode 100644
index 0474e7c9279fd7619e42db16076436adfae155dd..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-e.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-f.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-f.png
deleted file mode 100644
index f763f7c51d3fa1a679ae015797000f7fb85a8c2d..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-f.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-g.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-g.png
deleted file mode 100644
index 5d71cd67b652d03e432c25eca905d880b91e14a3..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-g.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-h.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-h.png
deleted file mode 100644
index 710ff688cc792ae2e224c76140dedb8a8e3bdcad..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-h.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-i.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-i.png
deleted file mode 100644
index 6112cfe105623963c5d720c9244c4cc0015b63e4..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-i.png and /dev/null differ
diff --git a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-j.png b/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-j.png
deleted file mode 100644
index 10e69939abb5e67139a8478a1b7750ae6066e73b..0000000000000000000000000000000000000000
Binary files a/doc/pic/routing-rule/how-to-implement-routing-rule-in-dubbo-go-j.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-a.png b/doc/pic/rpc/dubb-go-adaptive-grpc-a.png
deleted file mode 100644
index c71a36149815c14eff9f730d1e9dae01df8f20d4..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-a.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-b.png b/doc/pic/rpc/dubb-go-adaptive-grpc-b.png
deleted file mode 100644
index b401df59e5255cd4263d623658e40fcf0ccf6710..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-b.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-c.png b/doc/pic/rpc/dubb-go-adaptive-grpc-c.png
deleted file mode 100644
index 66fc888c5431d5e53e030bb15dadaa065919149f..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-c.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-d.png b/doc/pic/rpc/dubb-go-adaptive-grpc-d.png
deleted file mode 100644
index 59160482c23c2170624c1f37dd8d3b40414c5565..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-d.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-e.png b/doc/pic/rpc/dubb-go-adaptive-grpc-e.png
deleted file mode 100644
index 9f81f6226db1284f12d5d0b7cd4df3ffe096732e..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-e.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-f.png b/doc/pic/rpc/dubb-go-adaptive-grpc-f.png
deleted file mode 100644
index d35e11c3f17c60cc02462c67edb1e5dd84e5548f..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-f.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-g.png b/doc/pic/rpc/dubb-go-adaptive-grpc-g.png
deleted file mode 100644
index 9c52e9e88abaa294c81573abade80b00c3bf9ea7..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-g.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-h.png b/doc/pic/rpc/dubb-go-adaptive-grpc-h.png
deleted file mode 100644
index a1833f0fa1a35b867d4c112773b0c763f3c9f407..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-h.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-i.png b/doc/pic/rpc/dubb-go-adaptive-grpc-i.png
deleted file mode 100644
index a5d0deb864c6d6cea753def7aac226b320a8b72f..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-i.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-j.png b/doc/pic/rpc/dubb-go-adaptive-grpc-j.png
deleted file mode 100644
index de21c4fa2d4c2cadfc9a0488bc005db221086713..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-j.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-k.png b/doc/pic/rpc/dubb-go-adaptive-grpc-k.png
deleted file mode 100644
index 813cee6ce0fc54f82634360566b26dd486ffc3bc..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-k.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-l.png b/doc/pic/rpc/dubb-go-adaptive-grpc-l.png
deleted file mode 100644
index 747a5a2059cfb63b05673c43d5d95d921b573e08..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-l.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-m.png b/doc/pic/rpc/dubb-go-adaptive-grpc-m.png
deleted file mode 100644
index 55a1ae13de227728bf04371e0bd9a1a0e4ec6fba..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-m.png and /dev/null differ
diff --git a/doc/pic/rpc/dubb-go-adaptive-grpc-n.png b/doc/pic/rpc/dubb-go-adaptive-grpc-n.png
deleted file mode 100644
index 7bf287145a946768ba0ac3d17d6602f1972a1ffd..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubb-go-adaptive-grpc-n.png and /dev/null differ
diff --git a/doc/pic/rpc/dubbo-go-trusted-RPC-call-implementation-1.png b/doc/pic/rpc/dubbo-go-trusted-RPC-call-implementation-1.png
deleted file mode 100644
index 8d5fbd5ff6d32ca95c5d03816442d9156e63776e..0000000000000000000000000000000000000000
Binary files a/doc/pic/rpc/dubbo-go-trusted-RPC-call-implementation-1.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-sentinel-a.png b/doc/pic/service-governance/dubbo-go-sentinel-a.png
deleted file mode 100644
index 3806989c8b578e9cf4eae822e005493de3043ddd..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-sentinel-a.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-sentinel-b.png b/doc/pic/service-governance/dubbo-go-sentinel-b.png
deleted file mode 100644
index 03df855c491f5b02a371a8e5504e3b6e5a55916b..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-sentinel-b.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-a.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-a.png
deleted file mode 100644
index 8a34165318bf0d55a0c43943a082cf1119b8ffdb..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-a.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-b.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-b.png
deleted file mode 100644
index 3a6f1f15122dd058727617f2168e3eb364957fe0..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-b.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-c.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-c.png
deleted file mode 100644
index 77f10d99a5efbda5da57911884e7d884d1a94167..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-c.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-d.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-d.png
deleted file mode 100644
index 65b7185a8a1c306ce1712208bedba951f38b6c40..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-d.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-e.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-e.png
deleted file mode 100644
index 07740479b74ca686bed1af5221b49087916ca216..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-e.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-f.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-f.png
deleted file mode 100644
index 49b30ef7fe1a0a82030b3489ac9eca9301609c2c..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-f.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-g.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-g.png
deleted file mode 100644
index 22d4e6f01c53a790586a70338e455fdaac472d67..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-g.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-h.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-h.png
deleted file mode 100644
index 132057b12a8484969ca98b4ec90cecf2c382fc5b..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-h.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-i.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-i.png
deleted file mode 100644
index b39a83787b085b902d50866703b454c4573fdaf3..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-i.png and /dev/null differ
diff --git a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-j.png b/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-j.png
deleted file mode 100644
index e671ff58ce055934a54528696135f42a5e848cd1..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/dubbo-go-tps-limit-design-and-implement-j.png and /dev/null differ
diff --git a/doc/pic/service-governance/implementation-of-rest-protocol-in-dubbo-go-1.jpeg b/doc/pic/service-governance/implementation-of-rest-protocol-in-dubbo-go-1.jpeg
deleted file mode 100644
index fa9f003c4a31a6d054290ab5f269f146a34a75d6..0000000000000000000000000000000000000000
Binary files a/doc/pic/service-governance/implementation-of-rest-protocol-in-dubbo-go-1.jpeg and /dev/null differ
diff --git a/test/integrate/dubbo/go-client/go.sum b/test/integrate/dubbo/go-client/go.sum
index 7bb51161b1a85755531e6c3ad5245e5918cb9680..fc378395782f0f7e8032cdaed2ec4c4b0266c149 100644
--- a/test/integrate/dubbo/go-client/go.sum
+++ b/test/integrate/dubbo/go-client/go.sum
@@ -1,4 +1,5 @@
 github.com/apache/dubbo-go-hessian2 v1.6.0-rc1.0.20200906044240-6c1fb5c3bd44/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
+github.com/apache/dubbo-go-hessian2 v1.7.0/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
diff --git a/test/integrate/dubbo/go-server/go.sum b/test/integrate/dubbo/go-server/go.sum
index 7bb51161b1a85755531e6c3ad5245e5918cb9680..fc378395782f0f7e8032cdaed2ec4c4b0266c149 100644
--- a/test/integrate/dubbo/go-server/go.sum
+++ b/test/integrate/dubbo/go-server/go.sum
@@ -1,4 +1,5 @@
 github.com/apache/dubbo-go-hessian2 v1.6.0-rc1.0.20200906044240-6c1fb5c3bd44/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
+github.com/apache/dubbo-go-hessian2 v1.7.0/go.mod h1:7rEw9guWABQa6Aqb8HeZcsYPHsOS7XT1qtJvkmI6c5w=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=