美团大规模微服务通信框架及治理体系OCTO核心组件开源

发布时间:2020-08-11 03:24:32 作者:美团技术团队
来源:ITPUB博客 阅读:173

微服务通信框架及治理平台OCTO作为美团基础架构设施的重要组成部分,目前已广泛应用于公司技术线,稳定承载上万应用、日均支撑千亿级的调用。业务基于OCTO提供的标准化技术方案,能够轻松实现服务注册/发现、负载均衡、容错处理、降级熔断、灰度发布、调用数据可视化等服务治理功能。

现在我们将OCTO的核心组件OCTO-RPC、OCTO-NS、OCTO-Portal开源,欢迎大家使用和共建。

背景

OCTO项目始于2014年底,当时美团正处在新业务拓展期,服务数量不断增长,服务间调用拓扑日益复杂,逐渐暴露出了一些典型的问题:

针对这些痛点问题,提升研发效率和质量,降低运营成本,对于支撑业务快速稳定发展显得尤为重要。因此,基础架构团队研发了公司级统一的分布式微服务通信框架及治理平台——OCTO。OCTO是英文单词章鱼(Octopus)的缩写,章鱼众多的触手表征OCTO平台能触达治理海量的服务,涵盖服务治理领域的各个部分,因此取名。自平台推出以来,在全公司各业务线被广泛进行使用,显著提升了全公司的技术研发效率与运营质量,稳定支撑着美团业务的高速发展。

有别于传统的开源服务治理组件,OCTO提供了体系化的服务治理方案,从通信框架到注册中心、从文件配置到埋点告警、从灰度链路到数据报表,立体化的提升微服务运营能力、赋能业务。此外,奉行“策略下沉”的设计思想,OCTO剥离传统通信框架具备的服务治理策略功能,下沉到代理组件实现,有效提升通信框架的稳定性、降低业务系统额外开销。历经海量调用验证的OCTO,依托低耦合、模块化、单元化系统架构,能够有效满足各类复杂业务场景需求,实现异地多活等容灾目标。

功能特性

针对暴露出的问题,OCTO围绕包括定义、开发、测试、部署、运维、优化、下线在内的服务的全生命周期,打造了一系列组件和系统,方便研发同学专注于自身业务逻辑开发的同时,又能享受完善的服务治理功能。例如,我们在开发阶段提供了高性能、高可用、功能模块化的通信框架供业务便捷使用;在测试阶段提供了SET化、泳道、服务分组等各种灰度策略供业务无损试错;在运维阶段提供机器级、框架级、业务级等层级分明的监控告警供业务快速定位问题;在优化阶段提供了详尽的服务指标供业务自定义分析改进。

OCTO主要功能特性包括但不限于:

OCTO整体架构

美团大规模微服务通信框架及治理体系OCTO核心组件开源

OCTO开源组件

OCTO首批开源的核心组件包括:分布式服务通信框架(OCTO-RPC)、服务注册中心(OCTO-NS)、服务治理平台(OCTO-Portal)。未来,我们还将持续开源更多的组件与功能。

分布式服务通信框架(OCTO-RPC)

分布式服务通信框架是OCTO的重要组成部分,具备高性能、高可用、易扩展、易接入等特点,已覆盖美团90%以上的服务(Java/C++),支撑每天千亿级别的调用量。目前Java和C++版本已经开源,更多技术实现详见:OCTO-RPC

服务注册中心(OCTO-NS)

服务注册中心基于服务描述信息,实现服务注册/发现、配置管理、路由分组、负载均衡、健康检测等功能,搭配服务治理平台能够更便捷地进行服务节点数据的可视化运营。目前开源出来的子模块包括SDK(Java/C++)、基础代理SGAgent、命名服务缓存NSC、健康检查服务Scanner。更多技术实现详见: OCTO-NS

服务治理平台(OCTO-Portal)

服务治理的一站式平台,为服务关注方提供服务节点管理、性能数据分析、全链路跟踪诊断等服务治理核心能力。更多技术实现详见: OCTO-Portal

美团大规模微服务通信框架及治理体系OCTO核心组件开源

关于开源

在过去四年中,OCTO是美团在架构中间件领域研发的一个重要技术项目,在复杂多元业务、大规模并发调用的场景下已被充分验证。目前OCTO支撑了美团大规模微服务每天千亿级的调用,接口调用成功率达到了99.999%,是全公司SOA、服务治理的核心基础。我们期望通过将其开源,不断反馈给社区、贡献给行业。同时,我们希望在行业优秀工程师的帮助下,OCTO平台能得到更快地升级更新迭代。欢迎大家多提宝贵意见和建议。

未来规划

为了进一步支撑美团业务飞速发展的需求,同时对标业界先进的服务治理理念与实践,未来一段时间内,OCTO将在以下几方面规划演进:

  1. 命名服务AP化:弱化强一致性,聚焦异常状态下注册中心的可用性。

  2. 框架反应式编程:RPC框架提供反应式编程支持,帮助业务构建高性能异步无阻塞的服务。

  3. Service Mesh:将现有命名服务等功能与控制面/数据面结合,以服务网格的思路进一步演进OCTO服务治理体系。

作者简介

舒超、张翔,美团OCTO服务治理团队研发成员。
About 团队
OCTO服务治理团队负责整个公司的服务治理底层设施建设,包括命名服务、配置服务、RPC通信框架、ServiceMesh/Serverless演进等。 语言栈包括Java、C++、Node.js、Scala、Golang等,工作内容覆盖前后端各项技术,承载外卖,酒旅等集团各业务线的日均千亿级别的调用需求,是美团核心研发组织
推荐阅读:
  1. cc美团 滑动删除(SwipeListView)
  2. cc美团商家界面加上SlidePage开源项目

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

octo 体系 大规模

上一篇:应用程序加密软件Cisdem AppCrypt mac

下一篇:云计算学习大纲,有哪些入门的云计算书籍值得阅读?

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》