rpcx 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
rpcx 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
rpcx 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
rpcx 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
rpcx 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2017-01-31

软件简介

rpcx是一个类似阿里巴巴 Dubbo 和微博 Motan 的分布式的RPC服务框架,基于Golang net/rpc实现。

吞吐率

超低的延迟Latency

与gRPC比较,完胜gRPC, 更不用说其它的"老"的RPC框架了。

谈起分布式的RPC框架,比较出名的是阿里巴巴的dubbo,包括由当当网维护的dubbox。 不知道dubbo在阿里的内部竞争中败给了HSF,还是阿里有意将其闭源了,官方的代码使用的spring还停留在2.5.6.SEC03的版本,dubbox的spring也只升级到3.2.9.RELEASE。 不管怎样,dubbo还是在电商企业得到广泛的应用,京东也有部分在使用dubbo开发。

本项目rpcx的目标就是实现一个Go生态圈的Dubbo,为Go生态圈提供一个分布式的、多插件的、带有服务治理功能的产品级的RPC框架。

Go生态圈已经有一些RPC库,如官方的net/rpcgrpc-gogorilla-rpc等,为什么还要开发rpcx呢?

原因在于尽管这些框架都是为Go实现的RPC库,但是它们的功能比较单一,只是实现了点对点(End-to-End)的通讯框架。缺乏服务治理的功能,比如服务注册和发现、 负载均衡、容灾、服务监控等功能。因此我基于Go net/rpc框架实现了一个类似Dubbo的分布式框架。

和rpcx比较类似的Go RPC框架是go-micro,但是rpcx提供了更丰富的功能,基于TCP的通讯协议性能更好。

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (7)

加载中
打分: 力荐
非常棒,可否能提供给一个java客户端啊
2017/06/21 20:21
回复
举报
打分: 力荐
hi,各位go语言爱好者 Beego axtaxie谢大和好雨云社区一起推出了beego开发者大赛,使用Beego框架进行开发,作品种类、大小、形式不限,可以尽情发挥你天马行空的想象力,还有各种礼品等你来拿,期待大家踊跃参赛,https://t.goodrain.com/t/beego/297
2017/04/20 10:44
回复
举报
这个看起来很不错,和ZeroC对比如何?
2017/04/18 14:05
回复
举报
打分: 力荐
很好、加油!!继续坚持
2017/03/02 10:20
回复
举报
大家都在用什么分布式服务
2017/02/25 17:11
回复
举报
看起来很NB,但是为什么比gRPC更有优势?
2017/02/02 22:44
回复
举报
666666 #rpcx#
2017/02/02 21:21
回复
举报
打分: 力荐
关注中
2017/02/02 08:39
回复
举报
更多评论
暂无内容
发表于开发技能专区
2020/06/03 03:24

rpcx

官方网站 https://rpcx.io/ 官方文档 https://doc.rpcx.io/ 本文同步分享在 博客“羊羽”(other)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

0
0
2018/05/14 11:08

rpcx项目大纲

注册中心模块 消费者模块 生产者模块 监控模块

0
0
发表于服务端专区
2018/05/20 20:35

RPCX服务框架架构设计

架构设计图 具体实现图 rpcx java语言版 rpcx-go go语言版:

0
0
2020/06/09 10:54

Go RPC 开发指南----rpcx

https://doc.rpcx.io/

0
0
发表于开发技能专区
2020/04/17 23:48

二次开发rpcx-gateway支持非golang梳理

### rpcx-gateway的调用是是流程源码梳理 ![](https://oscimg.oschina.net/oscnet/up-1349ba7882b7929ab7e2342b4f3bd8b146a.png) **功能实现** - API define handle 让网关支持自定义路由, 可以根据自定义的理由,网关直接调用相应的服务,直接是二层服务的架构,减少客户端(消费者)这一层程序 ```golang // 关键代码 router.POST("/echo", g.EchoHandle) // 消费echo服务 func (g *Gateway) EchoHandle(w http.ResponseWrit...

0
0
发表于云计算专区
2020/12/26 15:40

rpc-plus-gateway和rpcx源码数据流分析

gateway服务流程 监听http服务 接收请求进来之后,创建rpc客户端 rpc客户端请求相应的服务端,取得返回结果 把返回结果加工之后,返回给http客户端的请求 详细链接: [点击跳转到文档](https://www.yuque.com/docs/share/a1cada0e-c77a-4235-adfe-e36cbb910b0c?#%20%E3%80%8Arpc-plus-gateway%E5%92%8Crpcx%E6%BA%90%E7%A0%81%E6%95%B0%E6%8D%AE%E6%B5%81%E5%88%86%E6%9E%90%E3%80%8B "点击跳转到文档")...

0
0
发表于开发技能专区
2020/05/08 15:28

rpcx客户端调用服务端超时的技术细节

### 0x1 **微服务**服务之间的调用超时设置是很重要的,有时候某个服务因为某些原因响应缓慢,或不可用的时候,这时为了保证调用方的服务正常,超时设置就很有必要。我们来看看rpcx的调用服务超时的技术细节是如何的。 ### 0x2 客户端代码 ```go func main() { d := client.NewConsulDiscovery(*basePath, "Echo", []string{*consulAddr}, nil) option := client.DefaultOption // 设置了响应服务端的超时时间为5秒 option.Rea...

0
0
发表于AI & 大数据专区
2020/05/19 19:00

让rpcx支持python细节分析之服务调用

0x1 这段时间在线上系统上正式用上了rpcx作为微服务框架,逐渐代替之前使用的go-micro,主要是考虑到简洁性(go-micro要写proto),性能,配套(rpcx有一个服务治理的UI),fork了个项目二次开发,加入了一些需要的功能特性 网关: https://github.com/halokid/rpcx-gateway 框架: https://github.com/halokid/rpcx 0x2 关于支持python的技术细节 目前python假如rpcx当中,由于时间人手问题,想快速切换原有的服务到rpcx框架,...

0
0
2019/03/13 17:54

几种RPC的对比

Tars: Tars 是由腾讯出品的强大高性能RPC开发框架,配套一体化的运营管理,通过伸缩调度,实现运维半托管服务,目前支持C++,JAVA,PHP,Nodejs,Golang等语言。Tars最强大的地方在于在分布式的环境中的优势,以及多语言的支持,现在很多的RPC框架并不支持PHP语言,Tars很好的支持了PHP的RPC框架。腾讯内部也一直都在使用,主要使用的是C++的框架,新推出的是基于GOlang的RPC框架。本人尝试去搭建Tars基于GOlang的RPC服务,首先...

0
1
发表了博客
2019/01/03 13:51

常见RPC框架汇总资料

## dubbo Alibaba 开源给apache 的开源框架 - [dubbo](https://dubbo.incubator.apache.org) ## spring cloud 未完待续 ## thrift 跨语言的rpc框架,facebook贡献给apache - [https://thrift.apache.org/](https://thrift.apache.org/) ## motan: 微博内部使用的rpc框架,底层支持java,生态圈往service mesh发展以支持多语言 - [https://github.com/weibocom/motan](https://github.com/weibocom/motan) - [https://blog.csdn....

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
7 评论
195 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部