基于gRPC go实现消息发布订阅使用gRPC go实现 基于Topic的高效消息订阅发布模型 姓名 张凯 中国电子云 目 录 gRPC go 介绍 01 gRPC四种通信模式及落地场景 02 根据proto生成go桩代码 03 订阅者动态注册 04 发布者消息推送 05 现场案例演示 06 gRPC go介绍 gRPC是什么? 01. 副标题 开篇思考几个问题 01. 副标题 gRPC介绍 gRPC介绍 01. 副标题 gRPC介绍 01. 副标题 gRPC是框架,七层协议 gRPC go是实现,每个语言都有自己的实现 protobuf介绍 01. 副标题 protobuf示例 01. 副标题 gRPC四种通信模式 gRPC四种通信模式 01. 副标题 gRPC四种通信模式 01. 副标题 gRPC的落地场景 基于通信模式如何落地? 01. 副标题 --go-grpc_out=. --go_out=. pubsub.proto protoc: 这是 Protocol Buffers 编译器的执行命令。 --go-grpc_out=.: 这个选项指定了输出 gRPC 相关的 Go 语言代码的目标目录,. 表示当前目录。protoc-gen-go- grpc 插件将会处理 .proto 文件中的服务定义并生成 gRPC 服务器和客户端的接口代码。0 码力 | 31 页 | 2.42 MB | 1 年前3
石墨文档Go在K8S上微服务的实践-彭友顺• 调试gRPC • 调试信息 • 错误定位 问题:每种开源组件的配置、调用方式、debug方式、记录日志方式都不一样 微服务的开发阶段 问题:gRPC未设置连接错误,阻塞模式报错不正确 Redis、MySQL连接数配置未设置?超时未设置? 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 资源信息 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 配置版本,发布,回滚,可以更加方便 微服务的开发阶段 统一采用gRPC协议和protobuf编解码 CI check 阶段 • 主要做 pb 的 format、lint、breaking 检查。 CI build get 客户端、服务端的gRPC和错误码的代码 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 微服务的开发阶段 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位0 码力 | 41 页 | 3.20 MB | 1 年前3
go web 框架 严清年年底组建 Go 团队,重构后端服务体 系,为此造了了⼀一些轮⼦子,如 Gear 框架 基于 kubernetes 和 SOA,部分已上线,如 TCM 消息推送服 务直接提供 HTTP/2 和 gRPC 接⼝口 • 前端架构师 ➞ 后端架构师 ⇢ 技术负责⼈人 技术学习⽆无⽌止境,逼迫个⼈人成⻓长,推进团队成⻓长 Why I Don’t Use Go Web Frameworks authService)) gRPC ⽣生态也玩起了了中间件模式。。。 import "github.com/grpc-ecosystem/go-grpc-middleware" myServer := grpc.NewServer( grpc.StreamInterceptor(grpc_middleware.ChainStreamServer( grpc_ctxtags. StreamServerInterceptor(), grpc_opentracing.StreamServerInterceptor(), grpc_prometheus.StreamServerInterceptor, grpc_zap.StreamServerInterceptor(zapLogger), grpc_auth.StreamServerIn0 码力 | 23 页 | 333.12 KB | 1 年前3
Practices of Go Microservices on Post-Kubernetes-Wei ZhengBackground in Shimo Language • Go • Node • Rust Background in Shimo Framework • Gin • Echo • gRPC • … Background in Shimo Platform • All in Kubernetes • Ingress Controller • Stateless Deployment Documention All comments should use // and not /* */. ... IDL Tool Chain - Style Guide IDL Tool Chain - gRPC Debugging • How to debugging service with dependencies? • Use VPN to connect develop kubernetes Chain - gRPC Local Debugging How do we connect service in k8s cluster before :( IDL Tool Chain - gRPC Local Debugging Now we connect service in k8s cluster like this :) IDL Tool Chain - gRPC Remote0 码力 | 59 页 | 5.66 MB | 1 年前3
百度超级链 XuperChain 3.7 中文文档递 给合约进程,合约进程一方面监听在unix socket上等待xchain调用自己运 行合约代码,另一方面通过xchain的unix socket创建一个指向xchain syscall 服务的grpc客户端来进行系统调用。 合约socket 在WASM虚拟机里面情况有所不同,WASM虚拟机是以library的方式链接 到xchain二进制里面,所以虚拟机和xchain在一个进程空间,通信是在 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景,节 点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点的动 态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配 置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID 9 10 11 12 13 14 15 opts := make([]grpc.DialOption, 0) opts = append(opts, grpc.WithInsecure()) opts = append(opts, grpc.WithMaxMsgSize(64<<20-1)) conn, _ := grpc.Dial("127.0.0.1:37101", opts...) cli0 码力 | 270 页 | 24.86 MB | 1 年前3
百度超级链 XuperChain 3.12-a中文文档rpc_flow_in 当前RPC接口下行流量 byte 以链为粒度 p2p_flow_out 当前p2p网络上行流量 byte 以链为粒度 p2p_flow_in 当前p2p网络下行流量 byte 以链为粒度 grpc接口默认监控项系列 以链为粒度 超级链监控系统搭建 搭建网络 搭建网络,节点xchain.yaml配置中打开prometheus 端口,如下所示: tcpServer: # prometheus监控指标端口 任。 FAQ 为什么测试环境现在不开放全节点P2P账本同步? 目前超级链仍然处于高速迭代期,为了保证bug能够得到 即时修复更新,我们暂时未开放外部P2P节点加入测试环 境的功能,但用户通过GRPC接口已经能体验到测试环境 的大部分功能。 当然,我们会在测试环境运行一段时间 后,开放P2P节点加入乃至开放外部节点成为超级节点, 具体时间目前还没有确定,请大家继续关注。 测试环境中的测试资源可以转给别的个人账号吗? 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景, 节点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点 的动态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain 3.12-c 中文文档rpc_flow_in 当前RPC接口下行流量 byte 以链为粒度 p2p_flow_out 当前p2p网络上行流量 byte 以链为粒度 p2p_flow_in 当前p2p网络下行流量 byte 以链为粒度 grpc接口默认监控项系列 以链为粒度 超级链监控系统搭建 搭建网络 搭建网络,节点xchain.yaml配置中打开prometheus 端口,如下所示: tcpServer: # prometheus监控指标端口 任。 FAQ 为什么测试环境现在不开放全节点P2P账本同步? 目前超级链仍然处于高速迭代期,为了保证bug能够得到 即时修复更新,我们暂时未开放外部P2P节点加入测试环 境的功能,但用户通过GRPC接口已经能体验到测试环境 的大部分功能。 当然,我们会在测试环境运行一段时间 后,开放P2P节点加入乃至开放外部节点成为超级节点, 具体时间目前还没有确定,请大家继续关注。 测试环境中的测试资源可以转给别的个人账号吗? 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景, 节点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点 的动态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain 3.12 中文文档rpc_flow_in 当前RPC接口下行流量 byte 以链为粒度 p2p_flow_out 当前p2p网络上行流量 byte 以链为粒度 p2p_flow_in 当前p2p网络下行流量 byte 以链为粒度 grpc接口默认监控项系列 以链为粒度 超级链监控系统搭建 搭建网络 搭建网络,节点xchain.yaml配置中打开prometheus 端口,如下所示: tcpServer: # prometheus监控指标端口 任。 FAQ 为什么测试环境现在不开放全节点P2P账本同步? 目前超级链仍然处于高速迭代期,为了保证bug能够得到 即时修复更新,我们暂时未开放外部P2P节点加入测试环 境的功能,但用户通过GRPC接口已经能体验到测试环境 的大部分功能。 当然,我们会在测试环境运行一段时间 后,开放P2P节点加入乃至开放外部节点成为超级节点, 具体时间目前还没有确定,请大家继续关注。 测试环境中的测试资源可以转给别的个人账号吗? 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景, 节点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点 的动态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain 3.12-b 中文文档rpc_flow_in 当前RPC接口下行流量 byte 以链为粒度 p2p_flow_out 当前p2p网络上行流量 byte 以链为粒度 p2p_flow_in 当前p2p网络下行流量 byte 以链为粒度 grpc接口默认监控项系列 以链为粒度 超级链监控系统搭建 搭建网络 搭建网络,节点xchain.yaml配置中打开prometheus 端口,如下所示: tcpServer: # prometheus监控指标端口 任。 FAQ 为什么测试环境现在不开放全节点P2P账本同步? 目前超级链仍然处于高速迭代期,为了保证bug能够得到 即时修复更新,我们暂时未开放外部P2P节点加入测试环 境的功能,但用户通过GRPC接口已经能体验到测试环境 的大部分功能。 当然,我们会在测试环境运行一段时间 后,开放P2P节点加入乃至开放外部节点成为超级节点, 具体时间目前还没有确定,请大家继续关注。 测试环境中的测试资源可以转给别的个人账号吗? 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景, 节点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点 的动态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID0 码力 | 336 页 | 12.62 MB | 1 年前3
百度超级链 XuperChain latest 中文文档递 给合约进程,合约进程一方面监听在unix socket上等待xchain调用自己运 行合约代码,另一方面通过xchain的unix socket创建一个指向xchain syscall 服务的grpc客户端来进行系统调用。 合约socket 在WASM虚拟机里面情况有所不同,WASM虚拟机是以library的方式链接 到xchain二进制里面,所以虚拟机和xchain在一个进程空间,通信是在 超级链p2p网络 超级链的p2p网络是可插拔的,目前支持libp2p模式和基于GRRC模式,libp2p 使用KAD进行节点的路由管理,支持NAT穿透,主要用于公开网络的场景,节 点规模可以达到万级;基于GRPC模式的p2p网络支持路由的自定义、节点的动 态加入退出等功能,主要用于联盟链场景。 通过xchian.yaml中p2p module配 置,选择p2p网络的模式。 超级链定义了自己的协议类型 XuperProtocolID rpc_flow_in 当前RPC接口下行流量 byte 以链为粒度 p2p_flow_out 当前p2p网络上行流量 byte 以链为粒度 p2p_flow_in 当前p2p网络下行流量 byte 以链为粒度 grpc接口默认监控项系列 以链为粒度 12.2. 超级链监控系统搭建 12.2.1. 搭建网络 搭建网络,节点xchain.yaml配置中打开prometheus 端口,如下所示: tcpServer:0 码力 | 316 页 | 24.51 MB | 1 年前3
共 158 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













