dubbo服務最佳實踐
一、分包
- 拆分uinnova-user,uinnova-order
- 服務接口,請求服務模型異常資訊放在api包裡
- api裡放入spring的引用配置,也可以放在子產品的包目錄裡面
二、粒度
- 盡可能接口設定為粗粒度,每個服務方法代表一個獨立的功能,而不是某個功能的步驟,否則就會涉及分布式事務
- 服務接口建議用業務場景劃分,并對相近業務做抽象,防止接口暴增
- 不建議使用過于抽象的通用接口
三、版本
- 每個接口都應該定義版本,為後續的相容性提供前瞻性的考慮
- 建議使用兩位數版本号,因為第三位版本号表示相容性更新,隻有不相容時才需要便能服務版本
- 當接口做到不相容更新的時候,先更新一半或一台提供者為新版本,再将消費者全部更新為新版本,然後再将剩下的一半全部更新為新版本
推薦用法
在provider端盡可能設定sonsumer端屬性
比如timeout、retires、線程池大小,LoadBalance
配置管理者資訊
application上面配置的owner、建議配置2個人以上,
因為owner可以在監控中心看到
配置dubbo緩存檔案
