微服务的扩展、分片与复制
1. 复制微服务的优势
复制微服务可以让服务在多个地点运行,不仅能让开发者并行开发,还能在生产环境带来诸多优势:
- 分布性 :服务分布在不同地理位置,更接近客户,减少各地的延迟。通常会在不同大陆部署服务以避免跨洲延迟,若服务使用广泛,可能每个大陆甚至每个国家都需要多个实例。
- 容错性 :当特定实例出现故障或使用高峰时,可将客户路由到使用较少的实例。
- 零停机 :若服务有足够的副本,即使部分基础设施受外部事件影响,服务仍可正常使用。升级服务时,可逐步升级实例,同时将客户路由到其他实例,实现全局服务的虚拟在线。
2. 扩展网络的关键步骤
扩展服务不仅仅是创建实例,还需要完成以下两个重要步骤:
2.1 让实例协同工作
实例无需相互通信,但一个实例必须能够处理另一个实例上传的请求,例如处理另一个实例上传的图像。这样能确保某个实例离线时,其他实例可以接管其客户。
2.2 让实例可访问
需要将客户指向最近且正常运行的实例,这意味着要监控实例并将客户分配到在线实例。服务通常通过 DNS 地址访问,需要控制地址名称解析,最好按地理位置进行,将客户指向最佳实例。可以直接指向实例,也可以使用代理监控附近的实例,并根据策略代理流量。常见的策略有:
- 按实例繁忙程度分配 :代理监控实例的繁忙程度,将新请求导向较空闲的实例。
- 轮询分配 :按顺
超级会员免费看
订阅专栏 解锁全文
2182

被折叠的 条评论
为什么被折叠?



