註釋 給別人看的,機器並不會執行這行語句 1.單行註釋 // 我是單行註釋 2.多行註釋 /* 我是多行註釋 我是多行註釋 我是多行註釋 我是多行註釋 */ // 這是一個main函數,這個是go語言啟動的入口 func main() { //fmt.Println :列印一句話,然後執行完畢後,進 ...
1. dubbo 是一款高性能的 java RPC (遠程服務調用)框架。
2. RPC 框架的性能關鍵是“序列化”和“網路通信”,dubbo 採用二進位序列化、使用 Socket 而不是 Http 進行網路通信
3. dubbo 的架構
簡單解釋:服務提供者 、服務消費者 在註冊中心進行註冊,註冊的同時告知註冊中心,我提供什麼服務,我需要什麼服務。註冊中心,會將相應服務提供者的地址信息給到消費者,消費者再找到提供者享受服務。
monitor 是監視器,對服務的調用次數和時間進行一個統計。提供者和消費者都會定時發送統計數據給監控中心。
生活舉例:淘寶:提供者就是商家,而消費者就是顧客,註冊中心則為淘寶平臺,監控中心是淘寶數據統計人員(或者理解為網警?)
使用註冊中心:
我使用的是 zookeeper 是一個樹型的目錄服務
預設埠 2181 20880
- 當提供者出現斷電等異常停機時,註冊中心能自動刪除提供者信息
- 當註冊中心重啟時,能自動恢復註冊數據,以及訂閱請求
- 當會話過期時,能自動恢復註冊數據,以及訂閱請求
- 當設置 `<dubbo:registry check="false" />` 時,記錄失敗註冊和訂閱請求,後臺定時重試
- 可通過 `<dubbo:registry username="admin" password="1234" />` 設置 zookeeper 登錄信息
- 可通過 `<dubbo:registry group="dubbo" />` 設置 zookeeper 的根節點,不設置將使用無根樹
- 支持 `*` 號通配符 `<dubbo:reference group="*" version="*" />`,可訂閱服務的所有分組和所有版本的提供者
Dubbo 的負載均衡(內置4種)
1. RandomLoadBlance 隨機 負載均衡,也就是隨機選擇(dubbo預設的負載均衡策略)
2. RoundRobinLoadBlance 輪詢 負載均衡
3. LeastActivelLoadBlance 最少活躍調用數,相同活躍數的隨機。 也就是能者多勞(相同的服務,肯定是選擇最快的),讓慢的 提供者收到更少的請求,因為慢的提供者調用前後的計數差更大
4.ConsistentHashLoadBlance 一致性哈希負載均衡,相同的請求總是落在同一臺機器上。(它乾熟了,這個活就找他)
check 屬性
預設 check = true ,dubbo 會在啟動時檢查依賴的服務是否可用,不可用則拋出異常,阻止spring初始化完成,可用更早的發現問題