微服務(wù)間如何通訊住涉?
從通訊模式角度考慮
- 一對一還是一對多峻黍?
- 一對一
- 同步:請求響應(yīng)模式旬渠,最常見
- 異步:通知/請求異步響應(yīng)
- 一對多
- 異步:發(fā)布訂閱/發(fā)布異步響應(yīng)
從通訊協(xié)議角度考慮
- REST API
- RPC
- MQ
如何選擇RPC框架
- I/O甲献、 線程調(diào)度模型
- 序列化方式
- json,xml,二進(jìn)制
- 多語言支持
- 服務(wù)治理
流行的RPC框架
- dubbo,dubbox, motan, grpc, thrigt
微服務(wù)如何發(fā)現(xiàn)彼此?
傳統(tǒng)服務(wù)vs微服務(wù)
-
傳統(tǒng)服務(wù)發(fā)現(xiàn)
如何發(fā)現(xiàn)立磁?
-
客戶端發(fā)現(xiàn)
-
服務(wù)端發(fā)現(xiàn)
微服務(wù)怎樣部署藤巢?更新?擴(kuò)容息罗?
什么是服務(wù)編排
- 服務(wù)部署掂咒,更新,擴(kuò)容
流行的服務(wù)編排工具
- Mesos迈喉, Docker Swarm , Kubernetes
SpringBoot與微服務(wù)
SpringBoot的使命
- 化繁為簡
SpringBoot核心功能
- 獨(dú)立運(yùn)行 java -jar xxx.jar
- 內(nèi)嵌web服務(wù)器
- 簡化配置
- 準(zhǔn)生產(chǎn)的應(yīng)用監(jiān)控
SpringBoot與微服務(wù)的關(guān)系
- java的潤滑劑
SpringCloud與微服務(wù)
SpringCloud的使命
- 簡化java的分布式系統(tǒng)
深入理解
- 一系列框架
- 簡化java的分布式系統(tǒng)
- SpringBoot封裝
SpringBoot vs SpringCloud
- SpringBoot意在簡化绍刮,是一種開發(fā)、配置風(fēng)格
- SpringCloud意在簡化分布式挨摸,是功能的集合孩革,風(fēng)格的統(tǒng)一
SpringCloud vs 微服務(wù)
- java的微服務(wù)
- 側(cè)重功能,側(cè)重開發(fā)
SpringCloud核心組件
-
Netflix Eureka(客戶端發(fā)現(xiàn))
-
Netflix Ribbon
-
Netflix Hystrix(多路器)
-
Netflix Zuul(服務(wù)路由)
-
Spring Cloud Config
-
dubbo
-
grpc
學(xué)到了什么得运?
- 微服務(wù)通信
- RPC框架
- 服務(wù)發(fā)現(xiàn)膝蜈,部署, 更新熔掺,擴(kuò)容
- 服務(wù)編排
- SpringCloud+SpringBoot