#service #reactor #tree #supervisor #shared #isolated #dynamic

capitan-lib

CAPITAN | 监督树库 Capitan 允许您通过反应器和服务创建和配置服务及监督树

12 个版本

0.3.0 2021 年 4 月 20 日
0.2.1 2021 年 3 月 31 日
0.1.8 2021 年 3 月 30 日

#5 in #isolated

每月 31 次下载

MIT 许可证

15KB
353 代码行

CAPITAN

服务库

Capitan 允许您通过反应器和服务创建和配置服务及监督树。

在使用 capitan 构建监督树之前,您需要了解一些概念,因为 capitan 对监督树的理解与 Erlang 不同。

概念

  • 反应器
    • 隔离
    • 共享
    • 动态
  • 服务
    • 隔离
    • 共享
    • 动态

服务

服务是实现服务特质的结构。服务可以是隔离的或共享的,也可以是动态的。

  • 隔离

    • 隔离服务提供对自身的可变引用,因此它们不能从外部安全访问。它们适用于操作单例或不需要任何交互的服务。
  • 共享

    • 共享服务提供对自身的引用。它们适用于需要外部交互的服务,如监控服务。
  • 动态

    • 动态服务可以是隔离的或共享服务,动态服务和普通服务之间的区别在于动态服务可以在动态反应器上运行。普通反应器必须运行相同的精确服务,因此在同一反应器上运行不同的服务需要该反应器是动态的。

反应器

反应器是包含和运行服务的结构。

  • 隔离

    • 隔离反应器运行隔离服务。它们不提供对它们的服务的外部访问。
  • 共享

    • 共享反应器运行共享服务。它们提供对它们内部服务的外部访问。
  • 动态

    • 动态反应器运行动态服务。它们可以是动态共享服务或隔离共享服务,但不能同时是两者。

依赖关系

~3–12MB
~117K SLoC