【问题标题】:Is there a name for this architectural pattern?这种架构模式有名称吗?
【发布时间】:2010-11-21 22:21:03
【问题描述】:
假设您的网站包含:
- 为各种用户请求提供服务的网络服务器
- 用于持久性的数据库
-
独立的服务器异步执行后台工作 - 准备数据库上的数据,根据更改更新数据等 - 无论主服务器中发生什么。
您可以轻松地将其转换为另一个世界并讨论线程,例如,让一个线程为正在运行的主线程异步准备数据。
这个模式有名字吗?如果它是一个模式的话?
这种处理数据的方法在性能方面有什么优缺点吗?
让我澄清一下,我专门询问的是第二个 Web 服务器进行后台处理,而不是整个架构。
【问题讨论】:
标签:
performance
architecture
scalability
【解决方案1】:
一切都有规律。如果你看到它超过两次,那就是一种模式。
您有三个客户端-服务器示例。
您已经拥有浏览器-Web 服务器。
您的网络服务器扮演了 DB 客户端 的角色,与 DB 服务器 对话。
您的网络服务器扮演着应用服务器客户端与应用服务器对话的角色。
有时人们喜欢称之为N-Tier,因为有三层Browser-Web Server-DB Server,外加一个额外的应用服务器层。 p>
有些人将其扩展为 Services Bus 概念。您的 Web 服务器使用 DB 服务器和应用程序服务器。
异步后端和后端服务器是我听说过描述您的应用服务器架构的名称。
【解决方案2】:
我没有给你的模式名称(不是说没有),但你这里有一个优化,以防止你的主线程对请求响应缓慢。它不必计算数据,只需提供数据即可。
这类似于 UI 编码。你不需要在你的 UI 线程上做任何工作,你只是画画。其他线程应该负责解决其他所有问题,因此您的 UI 是响应式的。
【解决方案3】:
我不知道它是否是正式的模式名称,但这看起来几乎就像大型机时代的批处理。