vlambda博客
学习文章列表

【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

●如何查看索引是否生效?

●JVM的7种垃圾回收器有什么区别?





【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

面试官上线啦

【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
每日一面
专注Java面试题解答,每日收集各大厂真题。Springcloud Alibabaa、Dubbo、Service Mesh生态技术,Apache、Jboss、Opensymphony等著名开源组织孵化进展,es、redis、kaffk、算法
15篇原创内容
Official Account


关于前文
    前面分享了很多底层知识, 这几天我们换个口味, 搞点架构。也就是说这道面试题是架构师的面试题, 不过大家也不要觉得不符合现在的职能岗位, 没有那个架构师是天生的, 他们都有第一次选型的经历。如果你已经是架构师+, 老规矩我会说点你不知道的, 那么我们就一起来看看怎么选型注册中心吧!




注册中心



    注册中心是分布式架构中的基础服务之一, 在微服务架构流行之前,注册中心就已经开始出现在分布式架构的系统中。

    注册中心最核心的能力就是充当微服务之间的"交通枢纽",二字其实并不恰当, 也是初学者最容易犯错的地方。其实说它是分布式系统的"大脑"更为贴切: 因为服务调用并不直接经过注册中心, 而具体调用哪个服务却是由注册中心提供数据支持的。

    这个数据支持在不少注册中心产品中都叫注册表。




【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

选型注册中心必须考虑的因素有以下几个



【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
CAP理论

    首先支持的是CP、还是AP。其实所有注册中心都有一个缺陷, 那就是CAP不能兼得。当然如果按理论讲这锅不该注册中心背。

C:::一致性: Consistency

    一致性指的是所有节点在同一时间的数据完全一致。这里的数据大都指的是注册表数据。

A:::可用性: Availability

    可用性指服务一直可用,而且是正常响应时间。

P:::分区容错性: Partition tolerance

    分区容错性指在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。

    事实上CAP理论远不是寥寥百字可以讲的通透, 但本文意不在此, 暂不展开, 了解上述基本知识暂且够用。

【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?




【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
平台支持

    其次支持的平台也是很重要的选型因素。

    这平台包含: 1. 通讯协议, 它涉及通讯性能甚至交互限制、安全等级等; 2. 开发语言, 这将限制注册中心的使用范围; 3. 产品集成, 它虽然不绝对限制注册中心的使用范围, 但没有提供集成的平台若使用将极大提高成本。





【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
能力范围

    这个就好理解了, 能力范围指的是其具备的能力有哪些; 

    有的注册中心仅提供基础的注册表能力, 有的除了注册/发现基础能力外, 还提供: 健康检查、负载均衡、雪崩保护、数据中心、监听支持等, 当然对于团队来讲我认为是否提供管理后台配置中心值得一提, 毕竟有管理后台的注册中心更 容易在团队中普及、有配置中心的注册中心也能给系统节省一套中间件。




【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
生态环境

    除了以上因素, 还有生态环境也很重要: 一个团队必定不会全是技术大牛, 那么普通开发在开发过程中遇到问题就必须借助其生态环境的支持进行解决。

    那么生态环境: 1. 开源方是谁很重要, 比如说阿里巴巴, 要是确定这个开源方它撑不过明年, 且没有将产品捐赠出去, 那还坚持用它就是作死了。2.活跃度: 需要有足够多的开发者/企业使用, 这好理解: 有人用就有人提问题, 有人踩坑才能有人拉你出坑。3. 维护期: 停止维护了的产品除非你自己愿意维护, 否则尽量避免吧。比如阿里巴巴就不怕SpringCloud停止维护, 他自己维护起来了, 这大家都知道叫: SpringCloudAlibaba, 其实很多大公司都有如此做法, 只是没开源, 或者知名度不够。




【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

知道了这些, 在技术选型这点上, 那就只需要足够广的知识面就可以了, 而这点我会在下面尽量给大家整理的全面一点



注册中心选型数据支撑表

【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

注: 以上评价类数据均基于其作用在注册中心领域的评价


【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

    具备了选型因素知识, 以及各大竞品优缺点, 那么回答这个问题应该就能讲出个一二三了, 如果还差实施经验, 那么下期预告: Nacos2.0部署及优化


【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
顺便提一下, 我们节假日想休息...


【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?
 初级技术架构师核心要素
专业深度

经验和技术水平

主要需要解决专业性的技术问题, 包括但不限于: 技术攻关、技术创新、源码优化

知识广度

方案和实施能力

主要需要提供企业级业务解决方案, 能够自己实施最好

泛化
分析
管理




【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?

以上要素经过5大资深面试官精心排序, 小厂可能只要求专业深度, 越大厂要求越多, 且行且珍惜。



【注册中心】如果你来架构分布式系统你会选用什么注册中心, 为什么?


转发,点赞,在看,安排一下?