學習來源:千鋒https://www.funtl.com
微服務架構一般用於分佈式系統開發,其中涉及四大問題:高可用、高併發、高性能、網絡不可靠。
當前兩種主流的解決方案:
1)Spring Boot + Spring Cloud
特點是:來自Spring 全家桶,組件多,功能完備,採用http通信方式;
2)Spring Boot + Dubbo + Zookeeper
特點是:組件少,採用RPC通信框架。
微服務架構需要解決的問題:
1. 客戶端如何訪問較多的服務
採用API網關。
2.服務與服務之間如何通信
同步通信:
HTTP(Apache Http Client)
RPC(Dubbo只支持java、Apache Thrift、gRPC)
異步通信:
消息隊列(kafka、RabbitMQ、RocketMQ)
3.這麼多服務如何管理
服務治理:
服務註冊與發現
基於客戶端的服務註冊與發現:Apache Zookeeper;
基於服務端的服務註冊與發現:Netflix Eureka。
4.服務掛了,怎麼辦
重試機制
服務熔斷
服務降級
服務限流