服務框架
服務框架:解決應用服務化問題java
服務化框架設計與實現:數據庫
服務框架倆重要問題:json
- 自身部署問題
- 方案一:服務框架做爲應用依賴jar 包一塊兒打包
- 方案二:服務框架做爲容器一部分
- 方案三:服務框架做爲容器來部署應用
- 自身的jar 包和應用的jar 包衝突問題
- 服務框架和應用各自獨立的ClassLoader,這樣jar 包被隔離
- 路由規則集中管理,將不一樣的接口路由到不一樣的服務器
- java 自己的序列化
- 能夠考慮使用json、xml、二進制流序列化
網絡通訊實現選擇服務器
- IO線程專門負責和socket 打交道
- 請求線程把數據放入數據隊列後,產生通訊對象放入通訊隊列,而且在隊列上等待
- 通訊對象在超時前有返回對象會喚醒請求線程
- 定時任務負責處理超時請求
支持多種異步服務調用方式網絡
- callback 方式異步調用
- 請求發送後繼續執行本身的程序,設置回調
- 可靠方式異步調用
- 須要保證異步請求在遠端被執行,通常經過消息中間件保證
一個請求調用多個遠程服務負載均衡
服務提供端框架
- 服務端工做包括
- 對本地服務的註冊管理
- 根據進來的請求定位服務並執行
服務升級異步
- 接口中增長方法
- 接口中某些方法修改調用參數列表
- 應對方式:
- 對使用原來方法代碼都進行修改,而後和服務端一塊兒發佈
- 經過版本號解決
- 設計方法上考慮方法的擴展性
- 有了服務框架,集中式系統很容易變成分佈式框架
服務治理socket
ESB 和服務框架區別分佈式
- 服務框架是點對點模型;ESB是總線模型
- 服務框架基本上面對的都是同構的系統,不須要考慮整合
總結:::
歡迎關注本站公眾號,獲取更多信息