grpc
文章平均质量分 53
a...Z
golang php rust
展开
-
proto指定json_tag
int64 businessId = 1 [json_name = "se.business_id"]; string payAtStart = 2 [json_name = "so.pay_at"]; string payAtEnd = 3 [json_name = "so.pay_at1"]; int64 qscId = 4 [json_name = "se.qsc_id"]; repeated string staffKey = 5 [json_name = "se.s原创 2021-08-02 17:38:03 · 1716 阅读 · 0 评论 -
grpc-6-拦截器的使用
拦截器在 gRPC 中,大类可分为两种 RPC 方法,与拦截器的对应关系是:普通方法:一元拦截器(grpc.UnaryInterceptor)流方法:流拦截器(grpc.StreamInterceptor)一元拦截器type UnaryServerInterceptor func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (resp interface{}, err er原创 2021-06-16 19:59:43 · 414 阅读 · 0 评论 -
grpc的TLS认证使用
Tls证书认证安装证书私钥openssl ecparam -genkey -name secp384r1 -out server.keyopenssl genrsa:生成RSA私钥,命令的最后一个参数,将指定生成密钥的位数,如果没有指定,默认512openssl ecparam:生成ECC私钥,命令为椭圆曲线密钥参数生成及操作,本文中ECC曲线选择的是secp384r1自签名公钥openssl req -new -x509 -sha256 -key server.key -out ser原创 2021-06-02 19:29:06 · 569 阅读 · 0 评论 -
grpc流式使用和注意事项
stream server client流式grpcServer-side streaming RPC:服务器端流式 RPCClient-side streaming RPC:客户端流式 RPCBidirectional streaming RPC:双向流式 RPC1、protosyntax = "proto3";package stream;service StreamService { rpc Eat(EatRequest) returns (stream EatRespons原创 2021-06-02 19:26:20 · 1388 阅读 · 1 评论 -
grpc从0开始-1-protobuf的认识及使用
更多好文关注 golang技术实验室结束了http的章节,下面我们一起来看看微服务离不开的grpc是怎么实现负载均衡、接口认证、trace追踪、失败重试、健康检查、映射服务等等,让我们一起成为面试有资可谈1、什么是RPCRPC 代指远程过程调用(Remote Procedure Call),它的调用包含了传输协议和编码(对象序列号)协议等等。允许运行于一台计算机的程序调用另一台计算机的子程序,而开发人员无需额外地为这个交互作用编程2、ProtobufProtocol Buffers 是一种与语言、原创 2021-05-25 19:08:39 · 368 阅读 · 1 评论 -
grpcurl的使用
1、编写proto2、启动服务/** * @Author: zhangsan * @Description: * @File: main * @Version: 1.0.0 * @Date: 2021/5/10 下午5:04 */package mainimport ( "google.golang.org/grpc" "google.golang.org/grpc/reflection" "log" "net" servers "test/grpcurl/server"原创 2021-05-10 17:59:21 · 1357 阅读 · 1 评论 -
grpc的健康检查和重试
grpc 的重试和负载均衡https://www.freesion.com/article/2173673173/https://juejin.cn/post/6844903977545367565?share_token=44E333A1-980F-4E3C-B158-546B65B5A676&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_ios&utm_campaign=client_share&wxs原创 2021-04-25 16:18:45 · 330 阅读 · 0 评论 -
protobuf
qianfengbeego gin iris protobuf资料链接github.com/rubyhan1314net/rpc 服务端package mainimport ( "net/rpc" "net/http" "net" "math")type MathUtil struct{}func (m * MathUtil) CalculateCircleArea(req float64,resp *float64) error { *resp = math.Pi原创 2020-07-19 21:11:36 · 236 阅读 · 0 评论 -
go grpc
package rpcimport "net/rpc"rpc包提供了通过网络或其他I/O连接对一个对象的导出方法的访问。服务端注册一个对象,使它作为一个服务被暴露,服务的名字是该对象的类型名。注册之后,对象的导出方法就可以被远程访问。服务端可以注册多个不同类型的对象(服务),但注册具有相同类型的多个对象是错误的。只有满足如下标准的方法才能用于远程访问,其余方法会被忽略:- 方法是导出的- 方法有两个参数,都是导出类型或内建类型- 方法的第二个参数是指针- 方法只有一个error接口类型的返回原创 2020-07-19 21:09:15 · 237 阅读 · 0 评论