微服務的基礎建設:
Dubbo | SpringCloud | K8s | |
服務發現與LB | ZK/Nacos+Client | Eureka+Ribbon | Service |
API網關 | NA | Zuul | Ingress |
配置管理 | Diamond/Nacos | SpringCloud Config | ConfigMaps/Secrets |
容錯限流 | Sentinel | Hystrix | HealithCheck/Probe/ServiceMesh |
日誌監控 | ELK | ELK | EFK |
Metrics監控 | Dubbo Admin/Monitor | Actuator/MicroMeter + Prometheus | Heapster+Prometheus |
調用鏈監控 | NA | SpringCloud Sleuth/Zipkin | Jaeger/Zipkin |
應用打包 | Jar/War | Uber Jar/War |
Docker Image/Helm |
服務框架 | Dubbo RPC | Spring(Boot) REST | 框架無關 |
發佈和調度 | NA | NA | Scheduler |
自動伸縮和自愈 | NA | NA | Scheduler/AutoScaler |
進程隔離 | NA | NA | Docker/Pod |
環境管理 | NA | NA | Namespace/Auththorization |
資源配額 | NA | NA | CPU/Mem Limit,Namespace Quotas |
流量治理 | ZK + Client | NA | ServiceMesh |
Dubbo | SpringCloud | K8s | |
---|---|---|---|
亮點 |
阿里背書 成熟穩定 RPC 高性能 流量治理 |
Neflix/Pivotal 背書 社區活躍 開發體驗好 抽象組件化好 |
谷歌背書 平臺抽象 全面覆蓋微服務關注點(發佈) 語言棧無關 社區活躍 |
不足 |
技術較老 耦合性搞 JVM only 國外社區小 |
JVM only 運行耗資源 |
偏DevOps和運維 重量複雜 技術門檻高 |