微服务分配以及为多租户应用程序使用kubernetes命名空间

我们正在尝试为多租户应用程序选择用于分配微服务的架构。我们想使用kubernates并查看两种情况:

第一种情况:

+看起来更高效
+易于管理
-难以实现

微服务分配以及为多租户应用程序使用kubernetes命名空间

第二种情况:

+更多封装的
-看起来效率较低

微服务分配以及为多租户应用程序使用kubernetes命名空间

qingtouwohao2 回答:微服务分配以及为多租户应用程序使用kubernetes命名空间

使用第二种情况每个租户使用单独的命名空间。

不同的配置

您已经为每个租户设计了一个具有单独数据库的解决方案。您可以为租户运行相同的容器映像,但是租户应使用不同的配置,例如他们有不同的数据库地址。参见Twelve factor - externalize configuration

  

我们必须始终为每个租户创建一个新服务的容器。虽然如果负载很低,我们可以为所有租户使用一个通用容器

您可以使用Kubernetes 声明性部署清单为每个租户轻松创建相同的服务。您还可以仅分配每个租户所需的资源,例如副本数量变化或不同的CPU或内存资源。

将错误信息路由到中央服务

  

我们有一个用于检测错误的入口点

您应始终路由可观察性信息,例如日志,指标和事件发送到群集的中央服务。

隔离租户

此外,如果您为租户有单独的命名空间,则可以使用Network Policies

来进一步隔离它们。
本文链接:https://www.f2er.com/3119086.html

大家都在问