《左耳听风》 学习笔记 day8

63 阅读3分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习架构😊

在分布式系统中,服务部署和升级变得复杂,因为一个服务有多个实例。为了解决这个问题,我们可以采用不同的服务部署模式。停机部署是最简单粗暴的方式,它会停机并部署新版本,适用于新老版本互不兼容的情况。但是它需要挂公告,并对用户造成影响。蓝绿部署是在生产线上部署相同数量的新服务并切换流量,可以避免停机,但需要使用双倍资源。滚动部署可以保证高可用性,并且对用户的影响较小,通过逐步替换旧版本的实例来更新服务。灰度部署可以控制风险并及时发现问题,将一部分用户切到新版本上来测试。AB测试是比较不同版本差异的方式,可以帮助开发人员更好地了解用户需求和行为。在选择服务部署模式时,需要根据不同的场景和需求选择合适的方式。

通常情况下,滚动部署会在多个实例之间进行滚动更新,每次只更新一个实例或者一小部分实例,直到所有实例都完成更新为止。这种部署方式可以保证服务的高可用性,并且对用户的影响较小。此外,滚动部署还可以通过监控实时反馈,发现和解决问题。

灰度部署是一种在实际用户中测试新版本的方式。与蓝绿部署不同,灰度部署只会将一小部分用户流量切换到新版本上。如果新版本运行良好,则可以继续扩大升级范围;否则可以将流量切换回旧版本。这种方式可以帮助开发人员及时发现问题并解决问题,也能够控制风险,减少影响。

AB测试是一种用于比较不同版本之间差异的方式。在AB测试中,会同时发布两个或多个不同版本的服务,并收集用户数据和反馈信息,从而评估不同版本之间的差异和优劣。该方法可以帮助开发人员更好地了解用户需求和行为,同时可以优化和改进产品和服务。

总之,在选择服务部署模式时,需要根据不同的场景和需求选择合适的方式。停机部署适用于不兼容的数据表设计等情况,但是会造成较大影响;蓝绿部署可以避免停机,但是需要使用双倍资源;滚动部署可以保证高可用性并且对用户的影响较小;灰度部署可以控制风险并及时发现问题;AB测试可以帮助开发人员了解用户需求和行为,从而优化和改进产品和服务。

此文章为3月Day26学习笔记,内容来源于极客时间《左耳听风》 这门课真的非常好,推荐大家看看