范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

gRPC服务开发和接口测试初探Go

  之前写过了Grpc服务开发和接口测试初探【Java】,中间耽搁了一些时间,Go版本的gRPC测试开发实践才有时间学习使用。其中也是由于自己Go语言不够熟悉导致的。之前有段时间想暂时放弃Go语言的学习,导致了Go的生疏,原因是从Groovy到Java性能。 前置
  回归正题,Go语言版本的gRPC实践相对Java来说是比较简单的,但是总体的工具链是比较复杂的,可能是因为Go生态目前相比Java还是比较匮乏吧。下面我先简述一下大致的步骤: 安装Go语言环境和IDE:如GoLand 安装protoc-gen-go,或者安装gofast,据称后者性能更高且更复杂 安装gRPC,这里有坑,可能是网络,大家自行解决 生成Demo代码,命令和参数取决于使用哪种工具
  以上步骤亲自操作可能会遇到一些小问题,我本人搜到的教程什么的也是乱七八糟,踩了一些坑。我没有整理出一个亲自实践之后的可行的教程,原因有二: 我这可行的,肯定不是放之四海皆准 解决问题也是学习提升的一部分,不能越俎代庖 proto
  Go语言的gRPC的 proto 编写跟Java大致一致,只有一个报名的参数不太一样。下面是我的Hello.proto 内容:syntax = "proto3";  option go_package="./;proto";  service HelloService {   rpc ExecuteHi(HelloRequest) returns (HelloResponse) {}; }  message HelloRequest {   string name = 1;   int32 age = 2; }  message HelloResponse {   string msg = 1; }
  这里主要 go_package 网上搜到的配置方式有些不一样,我没有全都尝试,大家在搜索的资料时候,尽量先看看syntax 这个参数的值,以及文章教程写作的时间,如果距离现在太久了,我建议直接关掉。搜索引擎有过滤功能,可以过滤掉过时的教程。编码
  这里Go语言gRPC的一点优势,就是在一个项目中即可实现,Java需要先弄一个SDK这样。Go语言的gRPC的代码可以通过生成代码命令中的参数实现指定路径。我是放在了和 proto 文件的同级目录。服务端
  服务端代码也是比较格式化的内容,如下:  type Ser struct { }  func (s *Ser) ExecuteHi(ctx context.Context, in *pb.HelloRequest) (*pb.HelloResponse, error) {  return &pb.HelloResponse{Msg: "Hello " + in.Name}, nil }  func TestGrpcService(t *testing.T) {  // 监听127.0.0.1:12345地址  lis, err := net.Listen("tcp", "127.0.0.1:12345")  if err != nil {   log.Fatalf("failed to listen: %v", err)  }   // 实例化grpc服务端  s := grpc.NewServer()   pb.RegisterHelloServiceServer(s, &Ser{})   // 往grpc服务端注册反射服务  reflection.Register(s)   // 启动grpc服务  if err := s.Serve(lis); err != nil {   log.Fatalf("failed to serve: %v", err)  } }
  其中  pb.RegisterHelloServiceServer(s, &Ser{}) 如果报错,请检查自己安装的工具protoc-gen-go 或者protoc-gen-gofast 版本,一般提取报错message 搜索也能得到解决办法。客户端
  下面是客户端的代码,由于学艺不精,其中大部分参数的含义目前我也不是很清楚,特别是基于 stream 的请求响应的方式使用。后面我先把Java的学完,再回过头来看Go的,按照这个顺序学习和分享。// TestGrpcClient // @Description: gRPC客户端Demo // @param t func TestGrpcClient(t *testing.T) {  conn, _ := grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock())  defer conn.Close()  c := pb.NewHelloServiceClient(conn)  ctx, cancel := context.WithTimeout(context.Background(), time.Second)  defer cancel()  r, _ := c.ExecuteHi(ctx, &pb.HelloRequest{   Name: "FunTester",   Age:  23,  })  fmt.Printf("msg: %s ", r.Msg)  } 控制台
  服务端输出:
  忘记打日志了。没有输出
  客户端输出: === RUN   TestGrpcClient msg: Hello FunTester --- PASS: TestGrpcClient (0.00s) PASS
  Go语言的gRPC测试开发实践已经完事儿,大概率上我不会在工作中使用Go作为主力gRPC测试语言,后面测试实践内容还是会以Java为主。 Have Fun ~ Tester !

为什么说HarmonyOS鸿蒙对中国软件业是一次历史性的跨越?为了国人信息不被美国监控,国家应该要求国人必须用鸿蒙系统,特别是军人,公务员,国企事业单位人员用鸿蒙系统的手机!同时建议要求国产手机必须都适配鸿蒙系统,支持国产系统!一是我们原有网支付宝小程序得到首页C位,阿里持续扶持自家小程序生态相信微信小程序大家都十分的熟悉。自从微信于2017年首创了小程序概念以后,头部互联网公司,比如头条系支付宝系和百度系等等都看到了小程序所拥有的赋能潜力,都开始打造自己的小程序生态。底层技术国产化,鸿蒙登机打通物联网生态壁垒小到128K内存的手环,大到4G以上的大型终端,HarmonyOS(鸿蒙)为海量物联网设备架起了一条条隐形高速公路,可成为所有智能设备的统一控制中心。伴随着6月2日华为的正式发布,想在网上买张纯大流量卡,最好不限速的4G网络卡,有买过的吗?我也想,只是被骗过太多次,绝望了!我现在用的就是,16元40G,19元50G,25元100G,49元200G,全程4G5G网络不限速,纯流量卡不能拨打电话纯流量卡就只能是物联卡了,iPhone12ProMagSafe会干扰心脏起搏器和除颤器IT之家6月4日消息外媒报道,美国心脏协会杂志昨天发表了一份新的研究报告,证实苹果iPhone12pro系列的MagSafe技术会干扰心脏起搏器和除颤器。苹果iPhone12系列配这场发布会,让魅族前副总裁李楠由黑转粉,从吐槽到直呼敬佩鸿蒙系统的火爆在人们的预料之中,出乎意料的是还火了一位魅族前副总裁,他会不会和罗永浩一样,去直播带货?或许他有这个潜力,也有这个过需求!鸿蒙系统的发布会,让全球人民期待已久,不管是既生瑜何生亮?时隔两月,一加9与小米11口碑对比关注智能手机行业的朋友可能还记得,3月份一加9正式发布之后与小米11之间发生了很多口水之争,因为两款手机无论是定位还是价格,以及整体表现可以称用既生瑜何生亮来形容。时隔两个月,口水怎样防止微信个人隐私泄露?将这2个功能关闭就行,看完涨知识随着科技的不断发展,智能手机已经成为了人们最离不开的工具之一。回想曾经,我们处于功能机时代之际,手机的功能也仅仅只是可以发短信打电话。伴随着时间的流逝,如今我们已经身处于智能机时代第35讲。js超级玛丽小游戏2。js面向对象的进一步说明1直接获取CSS的内容举几个例子先来测试下先定义一个css文件p2width500pxheight200pxbackgroundcolorgreenleft50pxtop200px2022年,红米RedmiK40推荐购买吗?k40系列一个是瞎眼屏一个就毁在天玑1200上了,都是半年后掉电如流水的货,续航就不要想了,发热大户,唯一优秀的就是逆鳞款背壳设计,那叫个好看。如果要买还是骁龙778,各方面都兼顾欧克科技收首发反馈意见北京商报讯(记者董亮丁宁)证监会官网显示,欧克科技股份有限公司(以下简称欧克科技)深市主板IPO近日拿到了证监会首发反馈意见。招股书显示,欧克科技主要从事生活用纸智能装备的研发生产
小巧时尚畅听无阻南卡LitePro真无线耳机前言蓝牙耳机算是消费级别的电子产品,因为价格便宜和日常使用的普及性,越来越受大家的喜欢,不管是日常出行还是上下班通勤,人手一个蓝牙耳机早已经是大家屡见不鲜的事情了,可以负责的说,蓝2022款宝马X3到店全系搭载2。0T8AT,到底该选哪一款配置呢?作为一款豪华中型SUV,宝马X3无论是从科技配置,以及驾乘舒适性来说,都不弱于奔驰GLC和奥迪Q5,再加上运动化的外观设计,更符合当下年轻消费者的青睐。日前,据编者了解到,北京地区长安逸动PLUS对比别克英朗谁才是10万家轿最值得买的?对于当下的消费者来说,10万元能够选择的车型相当丰富,不少消费者仍然将轿车作为自己的首选。不管是自主还是合资品牌都拿出了自己的看家本领,推出更符合消费者需求的车型。今天,我们就带来小钢炮真的要来了宝马M135i零百加速4。8秒,搭载2。0T四驱日前,据外媒报道,宝马汽车正式发布了M135i的新车官图。据悉,新车沿用了普通1系的外观设计,仅在细节方面有所不同。新车将搭载2。0T发动机,匹配四驱系统,0100kmh加速时间为扮猪吃虎的小钢炮本田全新思域Si将于10月19日亮相,搭载1。5T引擎近日,据相关媒体报道,本田全新思域Si将于19日亮相。据悉,新车将填补普通版车型和即将推出的CTR之间的空白。相比量产版车型,全新思域Si在上格栅上Si标识,下格栅内部造型,以及五RAV4荣放威兰达要靠边站了!全新本田CRV或明年亮相,尺寸更大日前,外媒曝光了一组全新本田CRV的新车渲染图。据悉,新车采用了家族最新的外观和内饰设计,车身尺寸也将有所增加,新车或将于2022年正式亮相。相比现款车型,新车的外观变化明显。前脸本田皓影锐混动e上市售24。78万起,纯电续航85km10月18日,本色前行超能生活皓影(BREEZE)锐混动e上市发布会上,皓影(BREEZE)锐混动e释放本色生活魅力强电上市,共推出3个版本,广汽本田商城指导价24。78万元27。外观内饰不同以往全新宝马7系或明年亮相,6。6TV12发动机被摒弃近日,外媒曝光了一组全新宝马7系新车的渲染图和相关讯息。据悉,该车有望于2022年下半年亮相,竞争对手锁定奔驰S级奥迪A8L等同级别产品。同时,纯电版车型可能会被命名为i7。新车前王思聪喊话,车主怒怼!劳斯莱斯被过气网红坑的有多惨?文腾三毛车图腾出品,未经许可,谢绝转载一直以来,劳斯莱斯的贵,世界闻名。劳斯莱斯旗舰车型幻影,目前公布的标配车型指导价为790920万元。据说车头那个小金人,标配银标10万,金标1预售价59。9769。77万元上汽奥迪A7L推入门2。0T车型该卖多少钱?近日,车图腾从相关渠道获悉,上汽奥迪A7L将推出2。0T车型。对比现有的3。0TV6版本,新车推出后将进一步拉低A7L的售价门槛,从而达到提升竞争力,覆盖更广泛用户群体的目的。奥迪丰田赛那本田奥德赛和别克GL8谁才是合资MPV的首选?对于不少消费者而言,很少有一款车型能够满足多样化的用车场景。尤其是随着多孩家庭以及大家庭出行的增多,MPV成为了不少消费者的首选。今天,我们就带来丰田赛那别克GL8和起亚嘉华,看看