微服务注册中心对比

CAP理论:

在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡

  • C A 满足的情况下,P不能满足的原因:

    数据同步(C)需要时间,也要正常的时间内响应(A),那么机器数量就要少,所以P就不满足

  • CP 满足的情况下,A不能满足的原因:

    数据同步(C)需要时间, 机器数量也多(P),但是同步数据需要时间,所以不能再正常时间内响应,所以A就不满足

  • AP 满足的情况下,C不能满足的原因:

    机器数量也多(P),正常的时间内响应(A),那么数据就不能及时同步到其他节点,所以C不满足

总有例外,比如阿里 Nacos

注册中心产品整体的差异总览

Nacos Eureka Consul CoreDNS Zookeeper
一致性协议 CP+AP AP CP CP
健康检查 TCP/HTTP/MYSQL/Client Beat Client Beat TCP/HTTP/gRPC/Cmd Keep Alive
负载均衡策略 权重/ metadata/Selector Ribbon Fabio RoundRobin
雪崩保护
自动注销实例 支持 支持 不支持 不支持 支持
访问协议 HTTP/DNS HTTP HTTP/DNS DNS TCP
监听支持 支持 支持 支持 不支持 支持
多数据中心 支持 支持 支持 不支持 不支持
跨注册中心同步 支持 不支持 支持 不支持 不支持
SpringCloud集成 支持 支持 支持 不支持 不支持
Dubbo集成 支持 不支持 不支持 不支持 支持
K8S集成 支持 不支持 支持 支持 不支持

Java 开发越来越离不开阿里

分析参考链接:主流微服务注册中心浅析和对比

本文地址: https://github.com/maxzhao-it/blog/post/52272/