分包
建議將服務介面,服務模型,服務異常等均放在api包中,因為服務模型及異常也是api的一部分。
粒度
服務介面盡可能大粒度,每個服務方法應代表乙個功能,而不是某功能的乙個步驟,否則將面臨分布式事務問題,dubbo暫未提供分布式事務支援。
服務介面建議以業務場景為單位劃分,並對相近業務做抽象,防止介面數量**。
不建議使用過於抽象的通用介面,如:map query(map),這樣的介面沒有明確語義,會給後期維護帶來不便。
版本
每個介面都應定義版本號,為後續不相容公升級提供可能,如:
建議使用兩位版本號,因為第三位版本號通常表示相容公升級,只有不相容時才需要變更服務版本。
當不相容時,先公升級一半提供者為新版本,再將消費者全部公升級為新版本,然後將剩下的一半提供者公升為新版本。
相容性
服務介面增加方法,或服務模型增加字段,可向後相容,刪除方法或刪除字段,將不相容,列舉型別新增欄位也不相容,需要通過變更版本號公升級。
Dubbo 分布式服務
隨著網際網路的發展,應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。垂直應用架構 分布式服務架構 流動計算架構 在大規模服務化之前,應用可能只是通過rmi或hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的...
Dubbo分布式服務系統
dubbo是alibaba開源的分布式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合 或者最大限度地鬆耦合 從服務模型的角度來看,dubbo採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方 provider ...
初識分布式服務框架dubbo
dubbo是乙個分布式服務框架,以及soa治理方案。其功能主要包括 高效能nio通訊及多協議整合,服務動態定址與路由,軟負載均衡與容錯,依賴分析與降級等。dubbo底層是tcp協議的netty nio spring boot底層是http協議 dubbo的七大標籤 config 配置層,對外配置介面...