• Stars
    star
    648
  • Rank 69,480 (Top 2 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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的一些看法以及建议:

More Repositories

1

mpvue

基于 Vue.js 的小程序开发框架,从底层支持 Vue.js 语法和构建工具体系。
JavaScript
20,419
star
2

walle

Android Signature V2 Scheme签名下的新一代渠道包打包神器
Java
6,770
star
3

Leaf

Distributed ID Generate Service
Java
6,438
star
4

Logan

Logan is a lightweight case logging system based on mobile platform.
C
5,709
star
5

SQLAdvisor

输入SQL,输出索引优化建议
C
5,551
star
6

Robust

Robust is an Android HotFix solution with high compatibility and high stability. Robust can fix bugs immediately without a reboot.
Java
4,420
star
7

Zebra

美团点评集团统一使用的MySQL数据库访问层的中间件。主要提供对业务开发透明、读写分库、分库分表能力,并提供了端到端SQL监控的集成方案。
Java
2,746
star
8

DBProxy

C
2,226
star
9

beeshell

React Native 组件库
TypeScript
1,797
star
10

lyrebird

移动应用插件化测试工作台
Python
1,163
star
11

MyFlash

flashback mysql data to any point
C
1,102
star
12

Shield

A declarative, efficient, and flexible Native framework for building user interfaces.
Java
940
star
13

koa-restql

Build real RESTful APIs without writing one line of code.
JavaScript
447
star
14

octo-ns

OCTO-NS是美团OCTO服务治理体系服务注册发现功能的套件, 包括SDK(Java/C++)、本地服务治理代理(SgAgent), 服务缓存(NSC), 云端健康检查(Scanner)等基础组件,目前已经在全公司大规模使用
C++
327
star
15

asap

ASAP: A Chinese Review Dataset Towards Aspect Category Sentiment Analysis and Rating Prediction
311
star
16

vision-ui

视觉UI分析工具
Python
251
star
17

octo-portal

OCTO-Portal 是OCTO服务治理体系的管理端,为服务权重修改,性能数据分析等服务治理功能提供人性化的一站式管理平台
JavaScript
173
star
18

lyrebird-android

本程序是一个Lyrebird的插件,用于支持获取Android设备信息。
Python
125
star
19

vision-ml

A R-CNN machine learning model for handling Pop-up window in mobile Apps.
Python
71
star
20

lyrebird-ios

本程序是Lyrebird插件,您可以在插件中快速查看已连接iOS设备的详细设备信息,截取屏幕快照,以及查看已连接设备的应用信息。
Python
71
star
21

cat-go

Go
50
star
22

lyrebird-tracking

Tracking 是基于Lyrebird的插件,提供服务请求的数据分析及验证的功能
Python
25
star
23

lyrebird-api-coverage

API-Coverage是基于Lyrebird的插件,为客户端提供API维度测试覆盖评估方法。
Python
23
star
24

mos-mss

mtyun MSS(Meituan Storage Service) sdk for Node.js
JavaScript
19
star
25

lyrebird-java-client

lyrebird-java-client 是Lyrebird的一个 Java SDK,通过调用Lyrebird本身提供的API实现在Java项目中控制 Lyrebird Services
Java
15
star
26

lyrebird-bugit

lyrebird-bugit是Lyrebird的一个插件,目前应用于提交Bug场景
Vue
14
star
27

cat-python

Python
6
star
28

cat-node-js

CMake
5
star
29

cat-c-client

C
1
star
30

groupmeal-java-sdk

Java
1
star