关于 Orion 的可扩展性,它可能涉及两个维度:
实体数量的可扩展性。在这种情况下,稀缺资源是数据库,因此您需要扩展 MongoDB 层。扩展 MongoDB 的通常过程是使用分片,请查看 MongoDB 官方文档。
管理此类实体的操作请求的可扩展性。在这种情况下,您可以使用额外的 Orion 节点(每个节点在单独的 VM 中运行,加上在它们前面运行负载平衡器软件的额外 VM 以在 Orion 节点之间分配负载)。Orion 是一个无状态进程,可以在这样的水平扩展配置中运行,只要:1)您不使用 ONTIMEINTERVAL 订阅(请参阅本文中的详细信息) (请参阅下面的 UPDATE2 注释),2)您必须配置-subCacheIval
CLI 参数一个足够小的值来确保最终的一致性(基本上,-subCacheIval
参数的值是可以从具有实体模式的订阅传递的最长时间,直到它被合并到所有 Orion 节点中)。
在任何情况下,您都需要额外的虚拟机。您不需要额外的 IP,只要系统只需要一个公共 IP(分配给负载均衡器的 IP)并且所有其他通信都可以在内部完成。@flopez 在另一篇文章中已经回答了云配额信息。
关于通过 Cygnus 在 Cosmos 中的数据持久性,与创建 Orion 进程场的方式相同,您可以添加更多 Cygnus 进程来负责接收来自 Orion 场的通知。只需为所有实体定义一个映射策略,定义订阅哪些实体将被通知到哪个 Cygnus 进程 A,哪些其他到 Cygnus 进程 B 等。问题在于这些 Cygnus 农场和全球实例之间的连接性Cosmos(位于 Internet 中)。假设这些 cygnus 场运行在具有私有地址的 VM 之上,您必须在另一个 VM 中安装某种代理才能访问 Cosmos。
关于 HDFS 配额,是的,默认为 5 GB,但可以根据需要更改。值得一提的是,新的HDFS集群将在短期内发布,具有更高的存储容量。
更新:此单独的问答帖子中提供了有关订阅更新通知案例的更详细的工作流程说明。
UPDATE2:在 Orion 1.0.0(2016 年 3 月)中删除了 ONTIMEINTERVAL 订阅。