Sidecar

Micro Sidecar是用于构建高度可用和容错微服务的服务网格。

它与Netflix的Prana,Buoyant的RPC Proxy Linkerd或Lyft的Envoy类似。

Micro Sidecar采用go-micro,具有相同的默认设置和可插拔性。

可以在examples/sidecar找到许多语言的用法示例。

API

该sidecar具有以下HTTP API。

特征

sidecar具有go-micro的所有功能。这是最相关的。

  • 服务发现

  • 消息总线

  • RPC和代理处理程序

  • 负载平衡,重试,超时

  • 健康检测

  • 统计界面

  • 可通过go-micro插入

入门

安装

依赖

Sidecar使用go-micro,这意味着它有一个默认依赖关系,用于服务发现的Consul。

运行

默认情况下,在端口8081上运行Micro Sidecar。

启动Sidecar

如果要在启动时自动注册应用程序,请指定应用程序服务名和地址。

通过ACME使能加密

通过使用ACME提供安全服务

可以指定一个主机白名单

提供TLS安全

Sidecar支持使用TLS证书安全地提供服务

自动健康检查

用“-healthcheck_url=”启动微型边车以启用健康检查器

它执行以下操作:

  • 自动服务注册

  • 定期HTTP健康检查

  • 通过非200响应取消注册

注册

注册服务

取消注册

查询服务

Handlers

RPC

使用json或protobuf查询微服务。对后端的请求将使用go-micro RPC客户端进行。

使用/[service]/[method]

所调用服务的默认名称空间是go.micro.srv

使用/rpc端口

Proxy

与api和web服务器一样,sidecar可以提供完整的http代理。

在命令行上启用代理处理程序。

URL路径中的第一个元素将与名称空间一起用作要路由到的服务。

请求映射

URL路径映射与Micro API相同

URL的映射如下:

Path

Service

Method

/foo/bar

go.micro.srv.foo

Foo.Bar

/foo/bar/baz

go.micro.srv.foo

Bar.Baz

/foo/bar/baz/cat

go.micro.srv.foo.bar

Baz.Cat

版本化的API URL可以很容易地映射到服务名称:

Path

Service

Method

/foo/bar

go.micro.srv.foo

Foo.Bar

/v1/foo/bar

go.micro.srv.v1.foo

Foo.Bar

/v1/foo/bar/baz

go.micro.srv.v1.foo

Bar.Baz

/v2/foo/bar

go.micro.srv.v2.foo

Foo.Bar

/v2/foo/bar/baz

go.micro.srv.v2.foo

Bar.Baz

事件

发布

订阅

CLI代理

该sidecar还充当CLI访问远程环境的代理。

统计仪表板

通过--enable_stats标志启用统计信息显示板。它将暴露在/stats上。

Last updated

Was this helpful?