-
微服務
微服務是一種架構模式,一種分布式的架構風格。
顧名思義,micro service,將一個龐大的單體應用拆分成若干個“微小”的服務,服務間通過進程通訊完成原本在單體應用中的調用。
其中必要的六個基本技術為:
1、服務注冊與發現;
2、進程間通信;
3、負載均衡;
4、分布式配置中心;
5、服務保護(熔斷器、降級);
6、網關路由。
-
基於k8s、springcloud的服務注冊與發現對比
- k8s服務注冊、發現系統:etcd (內部采用raft協議作為一致性算法),對於微服務來說第三方注冊
https://www.jianshu.com/p/478ba38a938e
k8s服務發現的實現:kube-dns
- springcloud框架開發的微服務,使用eureka組件做為服務注冊中心。
在應用中增加注冊中心,入侵性強。
springCloud:
springCloud組件:
1. 服務注冊中心Eureka:實現服務注冊,服務發現,服務的路由分發基礎能力。
2. 服務網關Zuul: 所有外部需要訪問和請求的服務全部通過Zuul進行轉發,類似API服務網關。
3. 斷路器Hystrix:負責監控服務之間的調用情況,連續多次失敗進行熔斷保護。
4. 服務鏈監控Zipkin:實現服務日志監控和服務鏈監控。
k8s kube-dns
https://www.jianshu.com/p/8fb1b1265ec8
https://www.cnblogs.com/iiiiher/p/7821851.html
參考:
https://blog.csdn.net/qq_32971807/article/details/56489609#commentBox
http://blog.sina.com.cn/s/blog_493a84550102ypv8.html
http://blog.sina.com.cn/s/blog_493a84550102xgx6.html