对比
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