• [转]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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    echarts onClick执行之前都要取消绑定一次
    echarts 打包完之后体积太大解决方案。
    saga处理多个loading最少0.5s
    SVN命令详解
    netfilter/iptables原理
    交换两个变量的值,不使用第三个变量的四种法方
    linux常用命令整理
    vi技巧
    linux进程管理的常用命令
    gcc常用命令
  • 原文地址:https://www.cnblogs.com/oxspirt/p/15261564.html
Copyright © 2020-2023  润新知