micro服务发现

本文阅读 3 分钟
首页 golang 正文
题目来源:腾讯

答案:ORVR

API
micro api提供了以下HTTP API

/[service]/[method] # HTTP paths are dynamically mapped to services
- /rpc # Explicitly call a backend service by name and method

见下面的例子HandlerHandler是管理请求路由的HTTP处理程序。

默认Handler使用注册表中的端口元数据来确定服务路由。如果未找到所匹配的路由,它将回退到API处理程序。您可以使用go-api配置注册路由。该API有三种可配置的请求Handler。

API Handler:/[service]/[method]

请求/响应:api.Request/api.Response

该路径用于解析服务和方法请求

通过API服务处理,API服务采用请求api.Request和响应api.Response类型

请求/响应的定义可以在go-api/proto中找到

请求/响应主体的内容类型可以是任何东西

路由不可用的默认回退处理程序通过--handler=api设置

RPC Handler:/[service]/[method]

请求/响应:json/protobuf

使用go-micro客户端将请求主体转发为RPC请求的默认处理程序的替代方案

允许使用具体的Go类型定义API处理程序。

在不需要完全控制标题或请求/响应的情况下很有用

可以用来运行单层后端服务,而不是其他API服务

支持的内容类型application/json和application/protobuf

通过--handler=rpc设置

反向代理:/[service]

请求/响应:http

该请求经过反向代理到服务的路径的第一个处理

这允许REST在API后面实现

通过--handler=proxy设置

Event Handler:/[topic]/[event]

异步处理程序向消息代理发布请求作为事件

请求被格式化为[go-api/proto.Event

通过--handler=event进行设置或者,使用/rpc端口直接与任何服务通话 - 期望参数:service,method,request,可选接受address,以指定特定主机。

curl -d 'service=go.micro.srv.greeter' \-d 'method=Say.Hello' \-d 'request={"name": "Bob"}' \http://localhost:8080/rpc
github.com/micro/examples/api中查找工作示例。
参考文章 https://www.kancloud.cn/linimbus/go-micro/529040
本文来自投稿,不代表本站立场,如若转载,请注明出处:
了解中间件吗?有什么好处?
« 上一篇 09-17
Go 高并发的特点
下一篇 » 09-17

发表评论

发表评论