【问题标题】:Looking for Name of Common Server Pattern寻找通用服务器模式的名称
【发布时间】:2015-12-31 20:57:37
【问题描述】:

我在确定是否存在以下常见模式的名称时遇到了一些问题:

一个事物至少具有以下生命周期:

  • 上线
  • 无限期接受请求
  • 接收到停止接受新请求的信号,但完成处理所有当前正在处理的请求
  • 离线

我的意思是这与具有终端生命周期的东西相反,例如:

  • 上线
  • 针对一个请求做一些工作
  • 下线

在我看来,这种模式最具体的例子是受负载平衡器约束的 Web 服务器,但我很难找到有关该主题的一般文献。

【问题讨论】:

  • 我想到了守护进程这个词,但它与系统进程、unix 等有太多特定的关联——而不是我所描述的生命周期。
  • 如果是新模式,就命名为 Kevin。
  • 为已删除的评论干杯:员工与承包商,很好。

标签: design-patterns


【解决方案1】:

你只是在描述Client/Server model

在网络环境中确实不存在“活着”和“不活着”之间的区别,因为无论如何服务器都必须一直“活着”。否则,它将无法接受客户的请求。 (如网络服务器)负载均衡器的干预更多是对基础架构模式的描述,而不是服务器的。因为服务器不“要求”被关闭。只有在被告知时,它才会“接受”。

我最近刚刚发表了一篇关于可根据需要快速启动进程的系统的论文(我们的论文研究了一种更好的系统和算法来平衡进程的负载)。但是,尽管我们根据系统的决定(基于完成时间)快速启动/停止它们,但各个进程仍将是客户端/服务器模型。


如果您想要有关模式领域的一般文献...

您可以使用一些主要资源:

即“四人帮”设计模式书。 (以作者数量命名:4)https://en.wikipedia.org/wiki/Design_Patterns_(book) 这是有关该主题的第一本书籍之一。

Books on Pattern-Oriented Software Architecture(完全免责声明,其中一位作者是我的博士生导师)这些书的每一卷都涵盖了不同的学科领域。第 2 卷特别涵盖了与您所谈论的内容直接相关的并发/网络对象(服务器等)。他还教授了在 Android 平台上教授的 Coursera MOOC on POSA, specifically Concurrency(但课程适用于非手持设备。设置 Android VM 或“拥有”设备比“服务器”更容易)

如果您想最近了解最新研究:OOPSLASPLASH 举行:

飞溅:

关于系统、编程、语言和语言的 ACM SIGPLAN 会议 应用程序:人类软件 (SPLASH)

OOPSLA:

OOPSLA 的范围包括编程语言的所有方面和 广义上的软件工程。

欢迎提交涉及软件开发任何方面的论文, 包括需求、建模、原型设计、设计、实施、 生成、分析、验证、测试、评估、维护、 软件系统的重用、替换和报废。

【讨论】:

    猜你喜欢
    • 2011-01-13
    • 2013-07-12
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多