首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务应用程序的架构设计

问微服务应用程序的架构设计
EN

Server Fault用户
提问于 2020-02-03 10:53:43
回答 1查看 231关注 0票数 1

我不知道这是否是一个就基础设施架构提出问题的正确论坛。但希望如此发布这个问题:

我的一个客户有一个web应用程序,它是用最新的微服务技术开发的。库伯奈特是底层。最重要的是,他们正在使用CDN、API托管等等。现在,从公共云(azure或AWS)的角度来看,我怎么才能在这里创建下面的架构呢?关于他们使用的服务,我有几个问题。为了简单起见,我将从Azure POV中进行讨论。决定使用Azure中的以下组件:

Azure CDN,Azure应用网关,Azure FrontDoor。

我对这些服务的呼叫流程感到困惑。从客户端(如web浏览器),当有对应用程序的请求时,理想情况下,静态内容需要由Azure CDN和其他动态内容通过检查容器或服务器来响应。因此,这就是我对调用流的假设:

浏览器-> Azure前门->应用网关-> API管理微服务->其他微服务-> Azure CDN ->浏览器

这是正确的吗?如果没有,你能引导我理解更好的架构吗?任何帮助都会很感激的。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-02-03 11:19:39

好的,首先,您有几个不同的服务在那里做同样的事情,所以您想要评估是否需要它们。

  • Azure CDN和前门都提供相同的本地存在点和缓存,因此您只需要一个或另一个
  • Azure前门和Application都提供了第7层负载平衡和Web应用程序防火墙,因此您可能不需要两者兼而有之。App确实有一些额外的功能,如vNet附件和K8s Ingress,因此两者都可能有一个论据

无论你选择前门还是CDN,他们都想站在你的前排。理想情况下,您希望通信量到达FD/CDN,得到缓存的响应,这是请求的结束。

如果您不能从Cache服务,那么现在您需要将您的流量输入到Kubernetes,所以您的堆栈资源的前端(CDN或前门)现在将转发到向外部世界公开您的Kubernetes集群。这可能是App,如果您决定需要它,外部负载均衡器,或Azure API管理器,如果您使用它来公开API的。

前门是一项不附加vNet的全球服务。您的Kubernetes集群是vNet附加的,因此您需要一种将您的Kubernetes资源公开给前门的方法。这可以通过App来完成,但是它会增加额外的开销,您也可以用一个Azure负载均衡器设置你的Kubernetes入口和一个公共IP,然后进行前门对话。

如果您摆脱了App,那么您将需要运行在集群中的另一个入口控制器,如NGinx、Traefik等。或者,您可以保留App,但是我会使用CDN而不是前门。

前门和CDN使用相同的端点,因此提供相同的缓存。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1001535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档