Dubbo 成熟度策略.

url: http://dubbo.apache.org/zh-cn/docs/user/maturity.htmlhtml

Dubbo成熟度策略java

 

Feature Maturity Strength Problem Advise User
Zookeeper註冊中心 Stable 支持基於網絡的集羣方式,有普遍周邊開源產品,建議使用dubbo-2.3.3以上版本(推薦使用) 依賴於Zookeeper的穩定性 可用於生產環境  
Redis註冊中心 Stable 支持基於客戶端雙寫的集羣方式,性能高 要求服務器時間同步,用於檢查心跳過時髒數據 可用於生產環境  
Multicast註冊中心 Tested 去中心化,不須要安裝註冊中心 依賴於網絡拓撲和路由,跨機房有風險 小規模應用或開發測試環境  
Simple註冊中心 Tested Dogfooding,註冊中心自己也是一個標準的RPC服務 沒有集羣支持,可能單點故障 試用

 

Feature Maturity Strength Problem Advise User
Dubbo協議 Stable 採用NIO複用單一長鏈接,並使用線程池併發處理請求,減小握手和加大併發效率,性能較好(推薦使用) 在大文件傳輸時,單一鏈接會成爲瓶頸 可用於生產環境 Alibaba
Rmi協議 Stable 可與原生RMI互操做,基於TCP協議 偶爾會鏈接失敗,需重建Stub 可用於生產環境 Alibaba
Hessian協議 Stable 可與原生Hessian互操做,基於HTTP協議 需hessian.jar支持,http短鏈接的開銷大 可用於生產環境

 

Feature Maturity Strength Problem Advise User
Netty Transporter Stable JBoss的NIO框架,性能較好(推薦使用) 一次請求派發兩種事件,需屏蔽無用事件 可用於生產環境 Alibaba
Mina Transporter Stable 老牌NIO框架,穩定 待發送消息隊列派發不及時,大壓力下,會出現FullGC 可用於生產環境 Alibaba
Grizzly Transporter Tested Sun的NIO框架,應用於GlassFish服務器中 線程池不可擴展,Filter不能攔截下一Filter 試用

 

Feature Maturity Strength Problem Advise User
Hessian Serialization Stable 性能較好,多語言支持(推薦使用) Hessian的各版本兼容性很差,可能和應用使用的Hessian衝突,Dubbo內嵌了hessian3.2.1的源碼 可用於生產環境 Alibaba
Dubbo Serialization Tested 經過不傳送POJO的類元信息,在大量POJO傳輸時,性能較好 當參數對象增長字段時,需外部文件聲明 試用  
Json Serialization Tested 純文本,可跨語言解析,缺省採用FastJson解析 性能較差 試用  
Java Serialization Stable Java原生支持 性能較差 可用於生產環境

 

 

Feature Maturity Strength Problem Advise User
Javassist ProxyFactory Stable 經過字節碼生成代替反射,性能比較好(推薦使用) 依賴於javassist.jar包,佔用JVM的Perm內存,Perm可能要設大一些:java -XX:PermSize=128m 可用於生產環境 Alibaba
Jdk ProxyFactory Stable JDK原生支持 性能較差 可用於生產環境

 

 失敗策略spring

Feature Maturity Strength Problem Advise User
Failover Cluster Stable 失敗自動切換,當出現失敗,重試其它服務器,一般用於讀操做(推薦使用) 重試會帶來更長延遲 可用於生產環境 Alibaba
Failfast Cluster Stable 快速失敗,只發起一次調用,失敗當即報錯,一般用於非冪等性的寫操做 若是有機器正在重啓,可能會出現調用失敗 可用於生產環境 Alibaba
Failsafe Cluster Stable 失敗安全,出現異常時,直接忽略,一般用於寫入審計日誌等操做 調用信息丟失 可用於生產環境 Monitor
Failback Cluster Tested 失敗自動恢復,後臺記錄失敗請求,定時重發,一般用於消息通知操做 不可靠,重啓丟失 可用於生產環境 Registry
Forking Cluster Tested 並行調用多個服務器,只要一個成功即返回,一般用於實時性要求較高的讀操做 須要浪費更多服務資源 可用於生產環境  
Broadcast Cluster Tested 廣播調用全部提供者,逐個調用,任意一臺報錯則報錯,一般用於更新提供方本地狀態 速度慢,任意一臺報錯則報錯 可用於生產環境

 

負載均衡策略apache

Feature Maturity Strength Problem Advise User
Random LoadBalance Stable 隨機,按權重設置隨機機率(推薦使用) 在一個截面上碰撞的機率高,重試時,可能出現瞬間壓力不均 可用於生產環境 Alibaba
RoundRobin LoadBalance Stable 輪詢,按公約後的權重設置輪詢比率 存在慢的機器累積請求問題,極端狀況可能產生雪崩 可用於生產環境  
LeastActive LoadBalance Stable 最少活躍調用數,相同活躍數的隨機,活躍數指調用先後計數差,使慢的機器收到更少請求 不支持權重,在容量規劃時,不能經過權重把壓力導向一臺機器壓測容量 可用於生產環境  
ConsistentHash LoadBalance Stable 一致性Hash,相同參數的請求老是發到同一提供者,當某一臺提供者掛時,本來發往該提供者的請求,基於虛擬節點,平攤到其它提供者,不會引發劇烈變更 壓力分攤不均 可用於生產環境

 

Feature Maturity Strength Problem Advise User
條件路由規則 Stable 基於條件表達式的路由規則,功能簡單易用 有些複雜多分支條件狀況,規則很難描述 可用於生產環境 Alibaba
腳本路由規則 Tested 基於腳本引擎的路由規則,功能強大 沒有運行沙箱,腳本能力過於強大,可能成爲後門 試用

 

 

Feature Maturity Strength Problem Advise User
Spring Container Stable 自動加載META-INF/spring目錄下的全部Spring配置   可用於生產環境 Alibaba
Jetty Container Stable 啓動一個內嵌Jetty,用於彙報狀態 大量訪問頁面時,會影響服務器的線程和內存 可用於生產環境 Alibaba
Log4j Container Stable 自動配置log4j的配置,在多進程啓動時,自動給日誌文件按進程分目錄 用戶不能控制log4j的配置,不靈活 可用於生產環境 Alibaba
相關文章
相關標籤/搜索