一、暴露調用信息
1.通過RPC方案調用接口首先需要服務端將調用的信息暴露給服務端,一般暴露的信息有三部分:接口信息、模型信息、異常。
2.暴露接口的通常做法是接口和實現分離,服務端將接口、模型、異常、等統一放置於一個模塊,實現置於另一個模塊。調用方過Maven(nexus)私服進行引用。
3.大型分佈式項目可以通過自動化構建和協作來完成
流程描述
1.服務提供者由項目開發人員編寫Client接口
2.push至遠程倉庫
3.Jenkins構建制定版本
4.Jenkins Deployed 至私服倉庫nexus
5.服務消費者項目開發人員基於maven從私服倉庫下載
二、解決辦法和原則
1.接口要做到向下兼容:接口參數儘量以對象的形式進行封裝。Model屬性只增不刪,如果需要作廢,可以添加@Deprecated標識
2.如果出現了不可兼容的變更,則必須通知調用方整改,並制定上線計劃
三、儘量不要用Map、Object來傳參
1.對於調用方來說,其完全不知道參數裏面的成員屬性。接口模型不清晰