
198
|
第
14
章
的工作量来支持,领域专家应该对此进行仔细研究。无论哪种情况,目标都是拥有一个事
件代理集群管理工具,整个组织都可以使用这个工具轻松地创建和伸缩事件代理。
14.13.2
计算资源的程序化创建
你通常需要创建一组独立于所有其他资源的计算资源。并不总是需要创建全新的容器管理
服务,因为现有的通常可以服务于多个命名空间。与事件代理一样,云计算提供商通常会
提供托管服务(比如谷歌和亚马逊的托管
Kubernetes
解决方案)
,可以按需为你提供这些
功能。
适用于事件代理的技术和法律要求同样适用于计算资源。通过跨数据中心分布处理来避免
区域故障,如果数据无法离开本国,则在本地处理数据,并通过动态地将计算繁重的工作
负载转移到更便宜的服务提供商来节省资金。
通常你可以使用相同的持续集成和持续交付工具来执行这一任务,但是需要一个选择机制
来确定在哪里部署微服务。此外,你还需要确保所需的事件数据可供计算资源使用,通常
是通过同一区域或可用区域内的协同定位。跨区域通信一直是可行的,但其成本比较高且
比较慢。
14.13.3
跨集群事件数据复制
在集群之间复制事件数据对于将事件驱动型微服务扩展到单个集群之外非常重要,示例场
景包括灾难恢复、常规跨集群通信和以编程方式生成的测试环境。
如何在集群之间复制数据的细节因事件代理和复制工具实现而异。当选择一个复制工具实
现时,要考虑以下几点。
•
是否能自动复制新添加的事件流?
•
如何处理删除或修改的事件流的复制?
•
数据是精确复制(有相同的偏移量、分区和时间戳)还是近似复制? ...