1. API 处理器

前言: 用于定义 api 路由和处理程序的包

2. 概述

Go API 是一个可插拔的 API 框架, 由服务发现驱动, 可帮助构建强大的公共 API 网关.

Go API 库提供 api 网关路由功能. 微服务体系结构将应用程序逻辑分离到单独的服务中. api 网关提供单个入口点, 以将这些服务合并到统一 api 中. Go API 使用在服务发现元数据中定义的路由来生成路由规则并服务 http 请求.

Go API

micro api 基于 GO API.

2.1. 处理器

处理程序是用于处理请求的 http 处理程序. 它使用 http.Handler 模式更方便.

  • api - 处理任何 HTTP 请求. 通过 RPC 完全控制 http 请求/响应.
  • broker - 实现 go-micro 代理接口的 http 处理程序
  • cloudevents - 处理云事件并发布到消息总线.
  • event - 处理任何 HTTP 请求并发布到消息总线.
  • http - 处理任何 HTTP 请求, 并作为反向代理转发.
  • registry - 实现 go-micro 注册表接口的 http 处理程序
  • rpc - 处理 json 和原式 POST 请求. 转发为 RPC.
  • web - 包含 web 套接字支持的 HTTP 处理程序.

2.2. API 处理程序

API 处理程序是默认处理程序. 它提供任何 HTTP 请求, 并作为具有特定格式的 RPC 请求转发.

  • Content-Type:任何
  • Body: 任何
  • Forward Format: api.Request/api.Response
  • Path: /[service]/[method]
  • Resolver: 路径用于解析服务和方法的路径

2.3. 代理处理程序

代理处理程序是一个 http 处理程序, 它服务于 go-micro 代理接口

  • Content-Type: 任何
  • Body: 任何
  • Forward Format: HTTP
  • PATH: /
  • Resolver: 指定为查询参数的主题

发布请求并将发布

2.4. 云事件处理程序

CloudEvents 处理程序使用在消息总线上提供 HTTP 并将请求作为 CloudEvents 消息转发的go-micro/client.Publish 发布方法.

  • Content-Type:任何
  • Body: 任何
  • Forward Format: 请求格式转为 云事件 消息
  • Path: /[topic]
  • Resolver: 用于解析主题路径

2.5. 事件处理程序

事件处理程序使用在消息总线上提供 HTTP 并将请求作为消息转发的 go-micro/client.Publish 发布方法.

  • Content-Type: Any
  • Body: Any
  • Forward Format: 请求格式为 go-api/proto.Event
  • Path:/[topic]/[event]
  • Resolver: 用于解析主题和事件名称路径

2.6. HTTP 处理程序

http 处理程序是具有内置服务发现的 http 反向代理.

  • Content-Type: 任何
  • Body: 任何
  • Forward Format: HTTP 反向代理
  • Path: /[service]
  • Resolver: 用于解析服务名称路径

2.7. 注册表处理程序

注册表处理程序是一个 http 处理程序, 它为 go-micro 注册表接口提供服务

  • Content-Type: 任何
  • Body: JSON
  • Forward Format: HTTP
  • Path: /
  • Resolver: 用于获取服务, 注册或注销的 GET, POST, DELETE 方法

2.8. RPC 处理程序

RPC 处理程序为 json 或 protobuf HTTP POST 请求提供服务, 并作为 RPC 请求转发.

  • Content-Type: application/jsonapplication/protobuf
  • Body: JSON 或 Protobuf
  • Forward Format: 基于内容的 json-rpc 或 proto-rpc
  • Path: /[service]/[method]
  • Resolver: 用于解析服务和方法路径

2.9. Web 处理程序

Web 处理程序是一个 http 反向代理, 内置服务发现和 web 套接字支持.

  • Content-Type: 任何
  • Body: 任何
  • Forward Format: HTTP 反向代理, 包括 web 套接字
  • Path: /[service]
  • Resolver: 用于解析服务名称路径

results matching ""

    No results matching ""