由红宝石守卫组成的自组装织
= Nanite: Ruby 守护进程的自组装网络架构
映射器是系统的控制节点。可以有任意数量的映射器,这些映射器通常运行在您的 merb 或 rails 应用程序中,运行在薄弱的 Web 服务器上(需要 eventmachine),但您也可以从 shell 中运行命令行映射器。
每个 Nanite 代理每 @ping_time 秒向映射器交换机发送一次 ping。所有映射器都订阅了这个交换机,它们都会收到包含您状态更新的 ping。如果映射器在 @ping_time 超时时间内未从某个代理接收到 ping,则映射器将从任何调度中移除该代理。当代理重新上线或工作量减少时,它将重新向映射器交换机发布自身信息,从而将自身重新添加到调度中。这样就形成了一个非常可靠的工作进程集群和前端映射器进程集群。
在您的 Nanites 中,可以有任意数量的 Actor 类。 这些 Actor 类类似于 Rails 或 Merb 中的控制器,这是您实现自定义功能的地方。 Actor 类的格式如下:
每个代理在每次 ping 映射器集群时都会广播其状态。默认广播的状态是浮点形式的负载平均值。此值用于基于负载最轻的服务器进行默认请求分发。
暂无开放 Issues,或尚未同步最近议题。