一般情况下测试 gRPC 服务,都是通过客户端来直接请求服务端。如果客户端还没准备好的话,也可以使用 BloomRPC 这样的 GUI 客户端。如果环境不支持安装这种 GUI 客户端的话,那么有没有一种工具,类似于 curl 这样的,直接通过终端,在命令行发起请求呢?答案肯定是有的,就是本文要介绍的 grpcurl。gRPC Server首先来写一个简单的 gRPC Server:hellowor
转载
2024-07-21 16:50:17
64阅读
简介Jaeger 是Uber推出的一款开源分布式追踪系统,兼容OpenTracing API。分布式追踪系统用于记录请求范围内的信息。例如,一次远程方法调用的执行过程和耗时。是我们排查系统问题和系统性能的利器。 分布式追踪系统种类繁多,但是核心步骤有三个:代码埋点,数据存储和查询展示。 以上几句描述都是我copy的,所以大家想要对Jaeger有更加深入的了解,可以参阅这篇文章Jaeger 分布式追
转载
2024-05-04 19:20:05
68阅读
jaeger是基于opentracing的一个追踪器,兼容opentracing标准。这项技术可以帮助开发者掌握分布式系统内的函数调用情况,分析函数性能、网络状况等等。先列出相关参考文献:https://github.com/yurishkuro/opentracing-tutorial opentracing语言教学https://opentracing.io/docs/transla
转载
2024-02-23 19:54:50
124阅读
一、gRPC是什么?gRPC,其实就是RPC框架的一种,前面带了一个g,代表是RPC中的大哥,龙头老大的意思,另外g也有global的意思,意思是全球化比较fashion,是一个高性能、开源和通用的 RPC 框架,面向服务端和移动端,基于 HTTP/2 设计。RPC框架是什么?RPC 框架说白了就是让你可以像调用本地方法一样调用远程服务提供的方法,而不需要关心底层的通信细节。简单地说就让远程服务调
转载
2024-06-21 16:37:37
262阅读
grpc框架参考资料:官方文档教学GRPC是Google公司基于Protobuf开发的跨语言的、高性能的、通用的开源RPC框架。GRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多个服务,对于移动设备更加友好。在 gRPC里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。与许多 RPC系统类似, gRPC也是基于以
转载
2024-05-08 19:33:55
122阅读
今后一段时间要研究下go generate,在官网博客上看了Rob Pike写的generating code,花了一些时间翻译了下。有几个句子翻译的是否正确有待考量,欢迎指正。生成代码通用计算的一个特性--图灵完备--是一个计算机程序可以编写一个计算机程序。这是一个强大的想法,尽管经常出现,但还不足够完美。例如,它是编译器定义的重要组成部分。它也是go test命令的工作原理:它扫描要测试的软件
本文通过一个简单的示例,了解如何在Go中使用gRPC。1、前期准备前提运行 $ go version查看go语言版本,gRPC要求go 语言最低版本为1.5安装gRPC使用命令行安装 * 使用以下命令安装gRPC: $ go get google.golang.org/grpc安装proto3 1)安装用于生成gRPC服务代码的protoc编译器。最简单的方法是从这里下载protoc-<
转载
2024-03-20 07:04:00
22阅读
一、什么是gRPC1.1 gRPC介绍gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间的高效连接。另外,在分布式系统中,gRPC框架也有有广泛应用,实现移动社会,浏览器等和服务器的连接。1.2 gRPC官方网站gRPC官方网站:https://grpc.io/。1.3 gRPC源码g
转载
2024-06-18 20:43:27
61阅读
目录1、什么是 RPC 2、为什么要用 RPC 3、常用的 RPC 框架4、RPC 的调用流程1、什么是 RPCRPC(Remote Procedure Call Protocol)远程过程调用协议,目标就是让远程服务调用更加简单、透明。RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP)、序列化方式(XML/Json/ 二进制)和通信细节,服务调用者可以像调用本地接口一
转载
2024-04-18 18:58:17
31阅读
现在非常流行微服务,而 RPC 框架是微服务中不可或缺的一环,gRPC 是其中一个非常出色的 RPC 框架,所以借此机会来记录一下 gRPC 在 Go 语言中的安装使用以及运用。PS.刚弄好 WSL 开发环境不久,所以这次都是在 WSL 环境下进行的。gRPC 是什么RPCRPC 是远程过程调用(Remote Procedure Call)的缩写形式。SAP 系统 RPC 调用的原理其实很简单,有
转载
2024-07-24 20:34:02
57阅读
What you are wasting today is tomorrow for those who died yesterday; what you hate now is the future you can not go back.你所浪费的今天是昨天死去的人奢望的明天; 你所厌恶的现在是未来的你回不去的曾经。
gRPC 简介:gRPC 是一款高性能、开源的 RPC 框架,产
转载
2024-08-09 13:43:10
46阅读
准备工作: 1. 安装protobuf 编译环境 https://github.com/protocolbuffers/protobuf/releases 2. 安装go语言的protobuf代码转换工具protoc-gen-go go get -u github.com/golang/protob ...
转载
2021-11-03 17:19:00
647阅读
2评论
gRPC-go 入门(1):Hello World摘要在这篇文章中,主要是跟你介绍一下gRPC这个东西。然后,我会创建一个简单的练习项目,作为gRPC的Hello World项目。在这个项目中,只有很简单的一个RPC函数,用于说明gRPC的工作方式。此外,我也会跟你分享一下我初次接触gRPC所遇到的一些坑,主要是在protocol buffer的proto-gen-go插件上面。简单介绍在这一节的
proto文件是用来预先定义的消息格式。数据包会按照proto文件所定义的消息格式完成
原创
2022-11-01 23:25:43
127阅读
1.下载protoc https://github.com/protocolbuffers/protobuf/releases,解压出 protc.exe 放到到GOROOT目录下 2.下载 protoc-gen-go 文件 go install github.com/golang/protobuf
原创
2022-07-22 14:56:50
127阅读
文章目录7.CPU阶段一:取指令阶段阶段二:解码阶段阶段三:执行阶段8.指令和程序9.高级CPU设计——流水线与缓存课程引出——专用ALU缓存流水线多核处理器10.早期编程方式课程引出——11.编程语言发展史课程引出——机器码汇编语言汇编器编译器编程语言12.编程原理——抽象和封装 7.CPUCPU也叫中央处理器,下面我们要用ALU(输入二进制,会执行计算)、两种内存(寄存器(很小一块内存,能存
使用官方的RPC库,需要自己编码服务的注册等操作,从而增加了许多重复性的操作。所以,gRPC便出现在视野中。什么是gRPCgRPC介绍gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间的高效连接。另外,在分布式系统中,gRPC框架也有有广泛应用,实现移动社会,浏览器等和服务器的连接。其
转载
2024-04-30 12:36:32
329阅读
运维那些事之调用链工具JaegerJaeger简介Jaeger 是Uber推出的一款开源分布式追踪系统,兼容OpenTracing API。UI相较于Zipkin的更加直观和丰富,还有一个则是sdk比较丰富,go语言编写,上传采用的是udp传输,效率高速度快。相比Pinpoint的缺点,当然是UI差距了,基本上现在流行的追踪系统UI上都远远逊于它。jaeger的开发语言是`golang`jaege
转载
2024-03-29 14:36:53
238阅读
参考文档:Jaeger: open source, end-to-end distributed tracing目录安装:略名词解释初始化jaeger tracer常用方法HTTP应用http请求建议统一封装RPC服务间传递下面是封装的服务gorm接入jaeger安装:略名词解释trace:一个完整请求的链路span:一个请求链路中的各个节点一个trace由一个或多个span组成初始化jaeger
转载
2024-07-01 12:39:06
394阅读
本篇概览经过《Jaeger开发入门(java版)》的实战,相信您已经能将自己的应用接入Jaeger,并用来跟踪定位问题了,本文将介绍Jaeger一个小巧而强大的辅助功能,用少量改动大幅度提升定位问题的便利性:将业务日志与Jaeger的trace关联在正式开始前,咱们先来看一个具体的问题:一次web请求可能有多条业务日志(log4j或者logback配置的那种),这和您写代码执行log.info的次
转载
2024-02-26 15:57:28
145阅读