我们使用服务织物集群部署无状态的微服务。其中一个微服务的设计为单例。这意味着它被设计为仅部署在单个节点上。
但这是否意味着,当我们扩大或缩小的VM比例集合(横向扩展),该服务将下降?抑或是服务织物集群照顾它?
主要有两个概念,千万记住有关服务的架构服务,主要包括但不限于状态的服务。分区和复本。
分区定义用于将数据分成数据组的方法中,它们是作为defined:
当您使用辛格尔顿有状态的服务,它假定是管理作为一个单一组的数据,不使用实际数据分区。
复制品定义拷贝的分区将具有簇周围的数量,以防止在主副本故障数据丢失。
综上所述,
如果使用的是辛格尔顿分区,不应该是一个问题,如果副本的数量至少为3。
这意味着,一旦一个节点被更新,托管该节点上的副本将被移动到另一个节点,如果该副本被移动是主副本,它会被降级到二级,仲将被提升为初级,然后将降级复制品将关闭并复制到另一个节点。
需要第三个副本的情况下,在升级过程中复制失败,那么第三提升为主要。