Azure应用服务计划中用于前端和后端通信的负载平衡设置

zynd9foi  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(97)

我有一个在Azure应用服务计划上运行的应用程序,该计划由两个简单的部分组成:
在插槽上托管的前端。托管在插槽上的后端。前端通过HTTP与后端通信,后端的端点在前端的配置中被硬编码。
我想扩展这个应用程序,但我不确定实现这个目标的最佳方法。
我一直在阅读有关Azure应用服务计划横向扩展选项的信息,但我不确定它是否适合我当前的设置。据我所知:
我可以创建一个横向扩展规则,当应用服务计划的CPU达到某个阈值(例如XX%)时触发。达到阈值后,Azure将启动应用服务计划的另一个示例。现在,假设用户导航到mycustomdomainname.com。幕后发生了什么?我目前的配置涉及一个具有一个前端和一个后端的应用服务计划,前端有一个与之关联的自定义域名。我的问题如下:

  • 新启动的App Service Plan示例如何知道使用哪个域名?
  • 考虑到我不需要多个前端示例,我是否需要从原始应用服务计划中删除前端以避免重复前端?
  • 我是否可以在应用程序服务计划中指定应横向扩展的应用程序?(据我所知,App Service Plan中的所有应用程序都是一起扩展的。
  • 新示例启动并运行后,Azure如何引导已连接的用户从前端联系正确的后端API(A或B)?另外,我如何配置我的前端来使用通用API URL,该URL在多个后端示例上进行负载平衡?

我也愿意接受关于架构的其他建议。我是否应该考虑在Azure中创建一个专用的负载均衡器来处理从前端到后端的请求分发?如果是这样的话,App服务计划是正确的方法吗?
提前感谢您的帮助!

km0tfn4u

km0tfn4u1#

新启动的App Service Plan示例如何知道使用哪个域名?
自动缩放对域名一无所知。它监视应用服务计划的统计信息,您可以将其视为服务器群集。该群集中的每个VM运行同一计划中的所有应用程序。如果达到扩展规则条件,则自动扩展器将基于此向群集添加/从群集中移除VM。如果添加了虚拟机,则计划中的所有应用程序都将设置为在其上运行。
考虑到我不需要多个前端示例,我是否需要从原始应用服务计划中删除前端以避免重复前端?
如果扩展需求不同,则制定单独的计划可能是个好主意。自动缩放以相同的方式影响一个计划中的所有应用程序。
我是否可以在应用程序服务计划中指定应横向扩展的应用程序?(据我所知,App Service Plan中的所有应用程序都是一起扩展的。
否。所有应用程序都在每个VM上运行。
新示例启动并运行后,Azure如何引导已连接的用户从前端联系正确的后端API(A或B)?另外,我如何配置我的前端来使用通用API URL,该URL在多个后端示例上进行负载平衡?
这已经为你做了。App Service包括位于所有VM前面的负载均衡器。这是连接到URL时连接到的内容。自动缩放器将让负载均衡器知道VM的更改,因此当添加一个VM时,未来的请求可以路由到那里。
小边注:如果您在App Service配置中启用了“ARR affinity”,则在第一个响应中发送的cookie,用于设置VM在同一客户端的后续请求中连接到该VM。除非您要迁移依赖于内存中会话数据的遗留应用程序,否则不建议启用此选项。检查是否禁用了此选项,以确保请求在示例之间均匀路由。

相关问题