對比
Nacos | Eureka | Consul | Zookeeper | CoreDNS | |
---|---|---|---|---|---|
CAP定理 | CP/AP | AP | CP | CP | - |
健康檢查 | TCP/HTTP/MySQL/Client Beat | Client Beat | TCP/HTTP/gRPC/Cmd | Keep Alive | - |
負載均衡 | 權重/DSL/metadata/CMDB | Ribbon | Fabio | - | Round Robin |
雪崩保護 | 支持 | 支持 | 不支持 | 不支持 | 不支持 |
自動註銷實例 | 支持 | 支持 | 不支持 | 支持 | 不支持 |
訪問協議 | HTTP/DNS/UDP | HTTP | HTTP/DNS | TCP | DNS |
監聽支持 | 支持 | 支持 | 支持 | 支持 | 不支持 |
多數據中心 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
跨註冊中心 | 支持 | 不支持 | 支持 | 不支持 | 不支持 |
SpringCloud集成 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
Dubbo集成 | 支持 | 不支持 | 不支持 | 支持 | 不支持 |
kubernetes集成 | 支持 | 不支持 | 支持 | 不支持 | 支持 |
補充
一致性(Consistency) :等同於所有節點訪問同一份最新的數據副本
可用性(Availability):每次請求都能獲取到非錯的響應——但是不保證獲取的數據爲最新數據
分區容錯性(Partition tolerance):以實際效果而言,分區相當於對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味着發生了分區的情況,必須就當前操作在C和A之間做出選擇
參考資料
https://nacos.io/zh-cn/docs/what-is-nacos.html
https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.2.2.RELEASE/reference/html
https://github.com/hashicorp/consul