【问题标题】: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】:

      我不知道它是否是正式的模式名称,但这看起来几乎就像大型机时代的批处理。

      【讨论】:

        猜你喜欢
        • 2012-04-19
        • 1970-01-01
        • 2011-05-08
        • 2010-09-09
        • 1970-01-01
        • 2011-04-23
        • 2019-10-02
        • 1970-01-01
        相关资源
        最近更新 更多