从Eureka到Polaris,好未来AI中台注册中心是如何实现0代码迁移的

好未来AI中台在业务规模激增后,从Eureka迁移到PolarisMesh,实现0代码迁移,解决了Eureka的稳定性和维护成本问题。Polaris的高性能、多语言支持和低迁移成本成为关键因素。通过服务端数据同步方案,成功实现了业务无感迁移,并带来了并发注册服务数和吞吐量的大幅提升。
摘要由CSDN通过智能技术生成

导语:2021年,好未来的AI 中台业务规模激增,日调用量超6亿,总调用量上千亿。业务的快速发展给中台的现有技术架构带来一定的冲击。好未来AI中台是微服务架构,完成一个业务请求涉及多个服务之间相互调用,可以说注册中心的稳定性会直接决定业务调用的成功率。在技术升级过程中,腾讯云和好未来工程师在注册中心模块上,实现了零代码修改从Eureka迁移至北极星PolarisMesh的最佳实践,树立了国内企业在服务发现、服务治理领域的一个新标杆。

背景

作为国家新一代人工智能开放创新平台在教育行业的代表,好未来深耕教育场景,目前已积累15大类共计170余种AI能力,覆盖视觉、语音、自然语言处理等多个方向。

2021年好未来 AI 中台业务规模激增,日调用量超6亿,总调用量上千亿。相比2020年增长约9倍,并呈现持续增长趋势。业务规模井喷式增长,给平台带来的稳定性技术挑战也越发强烈,对现有技术架构也提出了更高的要求。

第一代架构:使用K8S作为注册中心

AI中台是基于K8S构建的服务层,早期是单集群架构,服务之间的调用是基于K8S域名寻址到Cluster IP进行调用。

为了解决单K8S集群所带来的IaaS资源不足、没有灾备容灾、升级困难等问题,AI中台的服务层需要改造并支持跨集群部署。为了实现服务层跨集群,系统需要做以下改造:

  1. 需要切换注册中心:K8S域名无法跨集群,服务要做跨集群调用需要依赖全局注册中心。
  2. 需要支持多语言技术栈:因历史遗留问题,AI中台的技术栈不统一,存在Java、Go、C++等多语言开发的服务。

第二代架构:使用Eureka作为注册中心

第二代AI中台改造使用完全的微服务架构,由于AI中台大部分的应用都是Java应用,因此选型使用了业界最常用的Spring Cloud Netflix框架来作为微服务的底座。由于Spring Cloud Neflix默认对接了Eureka注册中心,因此AI中台也选用了Eureka作为全局注册中心。

  1. 采用Eureka作为独立的注册中心:直接使用POD IP进行寻址,解决原K8S ClusterIP无法跨集群的问题。
  2. 除Java语言外,其他语言服务使用第三方或自研的Eureka客户端。

改造并使用Eureka作为注册中心后,在现网运营过程中,遇到了以下问题:

稳定性问题

好未来有4000左右的服务数,平均每个服务3节点。将service(cluster ip)注册改为pod ip注册后,客户端注册量由4000+增长至超过10000+。

AI中台Eureka服务采用的是多节点集群部署,节点间通过请求复制的方式维持节点间数据的一致性。在正常情况下,每秒复制的请求数=(节点数*续约请求数)/续约间隔。按照5秒的续约间隔,每个节点大约

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值