Golang Go语言 pbgo:基于 Protobuf 的 rpc/rest 迷你框架
Golang Go语言 pbgo:基于 Protobuf 的 rpc/rest 迷你框架
哈哈,歪个楼,最近同撸了个基于 protobuf 的 rpc 轮子 github.com/let-z-go/pbrpc
更多关于Golang Go语言 pbgo:基于 Protobuf 的 rpc/rest 迷你框架的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
官方的 grpc 不好么
同道中人啊 :)
protobuf 语言很强大,非常适合各种定制
grpc 没有 rest 接口。开源社区虽然有个 grpc-gateway,但是需要开 2 个服务,rest 服务后台还需要请求 grpc 服务,有点重复了(不知道它们为何没有提供直接转 rest 的方法)。
对应小场景,感觉 grpc 有点重了。
还有很多公司的 sdk 其实就是 rest 接口,这种场景非常适合 Protobuf 定义接口,生成代码。
pbgo 本身其实算个小玩具,是为了准备《 Go 语言高级编程》 rpc 章最后一节的的素材。
最终希望大家能定制自己的 Protobuf 插件。
https://github.com/chai2010/advanced-go-programming-book/tree/master/ch4-rpc
说到 rpc 的话,还是觉得 hprose-golang 简单易用
借道问个啥网络框架好? cellnet ?文档不好。。看不懂啊。
pbgo是一个基于Protobuf的RPC/REST迷你框架,它利用Protobuf定义接口规范,并通过pbgo提供的插件自动生成RPC和REST相关的代码。这使得开发者能够更高效地构建和维护基于Protobuf的RPC和REST服务。
在pbgo中,Protobuf的扩展语法被用来为REST接口增加元信息。通过定义.proto文件,开发者可以指定RPC和REST的映射关系,例如将某个RPC方法映射到特定的REST路径上。随后,使用pbgo插件运行protoc命令,即可自动生成对应的RPC和REST处理代码。
生成的REST服务代码可以轻松地与标准库中的http包配合使用,创建HTTP服务器并处理REST请求。同时,pbgo也支持将REST请求转发到后端的RPC服务,实现了RPC和REST的无缝集成。
此外,pbgo框架还提供了其他有用的功能,例如自动生成Swagger格式的接口描述文件,这有助于开发者在网页中提供REST接口的文档和测试功能。
总的来说,pbgo是一个功能强大且易于使用的基于Protobuf的RPC/REST迷你框架,它能够帮助开发者更高效地构建和维护微服务架构中的RPC和REST服务。如果你正在寻找一个能够简化Protobuf-based RPC和REST服务开发的框架,那么pbgo无疑是一个值得尝试的选择。