首页 > Windows开发 > 详细

22.使用Micro为我们的rpc服务创建http api网关

时间:2020-01-03 00:04:30      阅读:277      评论:0      收藏:0      [点我收藏+]

技术分享图片

使用Postman去点对点调用我们之前写的service,header中设置Content-type是application/json,发送如下图的json数据即可。json指定了jsonrpc,指定了调用的endpoint

技术分享图片

启动grpc server

package main

import (
    "github.com/micro/go-micro"
    "github.com/micro/go-micro/registry"
    "github.com/micro/go-micro/registry/etcd"
    "github.com/micro/go-plugins/registry/consul"
    "micro/Services"
    "micro/ServicesImpl"
)

func main() {
    consulReg := consul.NewRegistry(registry.Addrs("localhost:8500"))
    etcdReg := etcd.NewRegistry(registry.Addrs("106.12.72.181:23791"))
    myservice := micro.NewService(
        micro.Name("api.xiahualou.com.test"), //这里在namespace的基础上多加了一个test,在下面会讲解到这个.test的作用
        micro.Address(":8001"),
        micro.Registry(etcdReg),
        micro.Registry(consulReg),
    )
    Services.RegisterTestServiceHandler(myservice.Server(), new(ServicesImpl.TestService))
    myservice.Run()
}

为服务设置网关之后,就可以使用简单的http请求 只发送json获取数据了,新版本的micro已經不支持consul了,etcd怎么操作具体需要百度

set MICRO_REGISTRY=consul #新版本micro工具已经不支持consul
set MICRO_REGISTRY_ADDRESS=106.12.72.181:23791
set MICRO_API_NAMESPACE=api.xiahualou.com #这里是命名空间 我们注册的sevice是api.xiahualou.com.test
set MICRO_API_HANDLER=rpc #支持api event http rpc
micro api # 启动网关

网关默认关口是8080,这里访问的路径就是localhost:8080/test/TestService/call,网关会接收到请求并转发给rpc server技术分享图片





22.使用Micro为我们的rpc服务创建http api网关

原文:https://www.cnblogs.com/hualou/p/12142284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!