好好爱自己!

[转]Go-micro 服务端、客户端简单示例

 

 

 

原文:https://www.jianshu.com/p/21fbd8a34f25

---------------

介绍micro

Micro is a microservice toolkit. Its purpose is to simplify distributed systems development.github地址
Go Micro is a pluggable RPC framework for microservices. It is part of the Micro toolkit. github地址

使用go-micro简易搭建一个服务端

  1. 安装并运行consul,consul是一个服务发现软件。micro依赖于服务发现机制
    安装:
    Consul is the default registry/discovery for go-micro apps. It's however pluggable.https://www.consul.io/intro/getting-started/install.html
    运行:
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul
  1. 下载我的示例rep
    gomicrotest
    注意:有一些go的依赖需要git下来,然后需要需要安装protobuf,具体使用方法google

  2. 启动 micro web
    micro 自带了一个控制台 ,可以查看所有服务和接口
    http://localhost:8082/

micro web
  1. 启动server
    进入目录 server/test
go run main.go

启动成功后 在micro web http://localhost:8082/query 能选择服务的接口 mymicro -- TestUser.GetUser
直接点击 execute 可以看到 输出 证明服务正常

  1. 启动client
    进入目录 client
go run main.go

可以看到 输出内容 证明client连接正常

  1. postman 测试
    可以在 micro web页面 打开检查 然后在network下面拿到 刚刚的rpc 连接 然后 copy as curl
    如下:
curl 'http://localhost:8082/rpc' -H 'Pragma: no-cache' -H 'Origin: http://localhost:8082' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' -H 'Content-type: application/json' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Referer: http://localhost:8082/query' -H 'Connection: keep-alive' --data-binary '{"service":"mymicro","method":"TestUser.GetUser","request":{}}' --compressed

postman 下 用post方法 设置下面参数进行访问
地址:http://localhost:8082/rpc
headers:Content-type: application/json
body:{"service":"mymicro","method":"TestUser.GetUser","request":{}}



作者:cowkeys
链接:https://www.jianshu.com/p/21fbd8a34f25
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @   立志做一个好的程序员  阅读(312)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2017-09-13 【转】php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
2016-09-13 angularJS 系列(三)- 自定义 Service

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示