掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇


掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
联席作者:谢璐 谢庆芳 伊安娜 任浩军郑重鸣谢:Nacos - 彦林,Spring Cloud Alibaba - 小马哥、洛夜,Nacos 社区 - 张龙(pader)、春少(chuntaojun)
相关文章推荐:
  • 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地上篇
  • 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地中篇
前言
在高速发展的时候,公司规模越来越大,老师人数越来越多,这时候公司不能铺太多人去做运营与服务,必须提高每个人效,这就需要技术驱动 。因此掌门教育转变成一家技术驱动型的公司,如果被迫成为一家靠资金驱动的公司就活不下去了 。
-- 张翼(掌门教育创始人兼CEO)
掌门教育自2014年正式转型在线教育以来,秉承“让教育共享智能,让学习高效快乐”的宗旨和愿景,经历云计算、大数据、人工智能、 AR / VR / MR 以及现今最火的 5G ,一直坚持用科技赋能教育 。掌门教育的业务近几年得到了快速发展,特别是今年的疫情,使在线教育成为了新的风口,也给掌门教育新的机遇 。
随着业务规模进一步扩大,流量进一步暴增,微服务数目进一步增长 , 使老的微服务体系所采用的注册中心 Eureka 不堪重负,同时 Spring Cloud 体系已经演进到第二代,第一代的 Eureka 注册中心已经不大适合现在的业务逻辑和规模,同时它目前被 Spring Cloud 官方置于维护模式,将不再向前发展 。如何选择一个更为优秀和适用的注册中心,这个课题就摆在了掌门人的面前 。经过对 Alibaba Nacos 、HashiCorp Consul等开源注册中心做了深入的调研和比较 , 最终选定 Alibaba Nacos 做微服务体系 Solar 中的新注册中心 。
背景故事
基础架构部选择新的注册中心,测试组需要配合对业界成熟的注册中心产品做分析和比较 。由于掌门教育采用的是比较纯净的 Spring Cloud 技术栈 , 所以我们需要围绕它的注册中心,从测试角度,进行功能和性能上研究 。
Spring Cloud 技术栈官方支持 Netflix Eureka,HashiCorp Consul ,Zookeeper 三个注册中心,它们可以相互间实现无缝迁移,Alibaba Nacos 是新加盟 Spring Cloud 技术栈的新成员 。测试组的同学们对上述四个注册中心做了一一研究和分析,鉴于时间紧迫,除了 Eureka 和 Nacos 之外 , 其它两个中间件未做深入的功能测试和性能测试 。下面提供来自阿里巴巴 Nacos 官方某次业界宣讲的资料截图以供大家参考:
  • Eureka 介绍

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
  • Zookeeper 介绍

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
  • Consul 介绍

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
  • 上述三个注册中心比较

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
本文将围绕 Alibaba Nacos 着重针对其功能测试和性能测试两方面进行剖析和介绍 。
【掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇】Nacos 测试篇
Nacos 性能测试
① Nacos Server 性能测试
开发部署了 UAT 的 Nacos,测试亲自压测 。
  • 核心脚本
def registry(ip): fo = open("service_name.txt", "r") str = fo.read() service_name_list = str.split(";") service_name = service_name_list[random.randint(0,len(service_name_list) - 1)] fo.close() client = nacos.NacosClient(nacos_host, namespace='') print(client.add_naming_instance(service_name,ip,333,"default",1.0,{'preserved.ip.delete.timeout':86400000},True,True)) while True: print(client.send_heartbeat(service_name,ip,333,"default",1.0,"{}")) time.sleep(5)
  • 压测数据

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
  • 压测结果图

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
Nacos Server 是3台 1C4G 集群,同时承受1499个服务和12715个实例注册,而且 CPU 和内存长期保持在一个合适的范围内 , 果真 Nacos 性能是相当 OK 的 。
Nacos 功能测试
① Nacos Server 接口测试
掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

文章插图
更多更详 API 请参见 Nacos 官方文档: Open API 指南


推荐阅读