octo-rpc

by Meituan-Dianping

Meituan-Dianping / octo-rpc

OCTO-RPC 是支持Java和C++的企业级通信框架,在RPC服务之上扩展了丰富的服务治理功能,为美团各业务线提供高效、统一的通信服务。

466 Stars 134 Forks Last release: Not found Apache License 2.0 16 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

OCTO-RPC 服务通信框架

背景

      随着分布式技术和微服务思想流行,技术公司逐步将服务拆分为独立运行的小模块,提高系统整体的健壮性,加快特性的演进速度。微服务通过定义完善的接口进行交互,解耦系统、敏捷迭代、方便服务治理。RPC是目前微服务最广泛的通信方式。然而,众多团队各自研发具备服务治理功能的RPC通信框架,一方面增加开发成本,消耗人力重复造轮子;另一方面不同序列化协议的RPC服务,无法互相通信,影响可用性。因此,通用的RPC通信框架能大大提升公司技术团队的研发效率,便于服务治理。

目前美团内部的Mtransport就是一套统一的服务通信框架,为近万个美团应用提供高效的通信服务。

美团致力于将Mtransport定位成一组高性能、高可用的企业级RPC通信框架,现将已在公司广泛使用,成熟稳定的Mtransport进行开源,开源后总名称为OCTO-RPC,其中第一批包括Dorado(Java)、Whale(C++)两个语言版本,希望与业内同样有通信框架需求的团队同仁,在OCTO-RPC基础上一起打造一款企业级优良的RPC通信框架产品。

介绍

对服务开发者, MTransport 屏蔽了底层网络通信细节,从而更专注于业务自身逻辑实现。支持不同语言版本的代码实现, 保持通信协议的一致性,支持服务注册、服务发现、异步通信、负载均衡等丰富的服务治理功能。

avatar

详见 Dorado(Java)
详见 Whale(C\C++)

未来规划

  • 支持更多序列化协议
  • 完善限流、熔断等降级措施
  • 服务端异步
  • 协程,并行计算,流式编程

希望和各位同行共同打造一款企业级高可用、高可靠的微服务RPC通信基础框架产品,欢迎大家共建。

Copyright and License

Apache 2.0 License.

联系我们

我们需要知道你对OCTO-RPC的一些看法以及建议:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.