Web Services API网关与Web服务器

bogh5gae  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(131)

这个问题是在最近的系统设计面试中被问到的。我在解释区别时被绊倒了。在我的设计中,我这样创建,客户端-->负载均衡器-->工作节点服务器和数据库(处理业务逻辑和数据存储的服务器)。
面试官问你对Web服务器了解多少?如果是/否,你会在这里添加它们吗?我只是告诉他们,在使用第4层负载平衡器和API网关后,我们将不需要Web服务器。但由于我不清楚,无法提供其背后的原理。请提供一些关于我们设计中实际使用Web服务器的见解。
如果你能帮忙的话,我将不胜感激。

zfciruhq

zfciruhq1#

那我们来澄清一些术语吧。
负载均衡器没有任何“智能”。它是一个愚蠢的服务,唯一的目的是重新路由请求。它可以做一些其他的事情,但这是核心。
另一方面,API网关具有业务逻辑知识。它通常用于执行对底层服务的调用并聚合结果。它充当中央编排点,隐藏后端复杂性。它还可以用于根据客户端类型(例如桌面,移动的等)执行不同的逻辑。
现在,问题是 * 可能 * 你有多少个worker服务示例。这取决于请求的数量和工作的类型。例如,如果工作可以使用队列卸载到后台,你可能可以使用更少的worker,因为你不必立即返回一个答案给调用者。这里最好的操作,因为你正在做一个面试,就是自己问更多澄清问题,比如

  • 申请的种类是什么?
  • 我们要为什么样的交通服务?
  • 会有高峰吗?(就像电子商务的黑色星期五)
  • 我们是否对基础设施有限制?(例如,供应商锁定)
vybvopom

vybvopom2#

除了@大卫Guida所说的,Web服务器帮助处理请求流量和负载平衡。Web服务器是一个应用程序,可以帮助您进行SSL卸载,网络监控和许多其他用例。您可以使用DNS负载平衡流量(基于IP的负载平衡),但不建议这样做。有些情况下,DNS处理困难。例如,使用DNS进行逻辑健康检查和在节点之间移动流量更加困难。

相关问题