第六届字节跳动青训营第十三课 | 青训营

46 阅读3分钟

关于核心服务治理功能

服务发布:

即指让一个服务升级运行新的代码的过程。 简单点来说,*假设我现在服务运行的是我昨天写的代码,我今天写了一个新的功能,那么我就需要进行一个升级,升级这个代码的过程就叫服务发布。*如果是在自己的电脑上运行代码,那么可能不太能体会到服务发布,比如在idea上写完run一下就完成了服务发布。

服务发布的难点:

服务不可用:服务b现在要更新代码需要跟服务a报告 服务抖动:每一个实体都有流量,第二个实例说现在要升级,如果一下子就咔擦断开,那么第二个实例的流量就会短暂的不可用。那么也是会造成一个系统故障 服务回滚:假设前面不可用和抖动都解决了,升级完还有bug,第一反应肯定不是回退,如果在修复bug的时间内那么服务也是不可用的。

流量治理

流量治理是指在分布式系统中对网络流量进行管理和控制的一种方法。它包括通过调整路由、限制数据传输速度、负载均衡等手段,以达到优化系统性能、保证系统稳定性、提高用户体验等目标。 *终端用户把请求发过来达到一个负载均衡,各种服务一起给它提供一个完整的业面浏览或者视频观看,但是中间这些过程关系是存在流量的,但是这个流量不是一股脑地全部往一个地方放,它会进行一个分流,就像河流一样。在微服务的架构下,我们对这种流量其实可以实现一个精细化的控制。

负载均衡*

负载均衡负责分配请求在每个下游实例上的分布。一个服务有多个实例,那么直观来说,这个实例它接收到的请求或者它的负载其实是希望它大致一样的。如何让它的负载均衡,其实是在上游有一个LB主件,用它去控制每一个下游的实例。常见的LB策略有Round Robin、Random、Ring Hash 、Least Request

稳定性治理

是微服务架构里很关键的一个服务治理。这也是企业和学校之间很大的一个gap。在进入企业之前,我们先明确一下,我们的线上服务总是会出问题的,这跟程序的正确性无关。即使写的代码没有任何bug,但部署在内部环境上还是会出问题,比如会遇到的问题有网络攻击、流量突增、机房断电、光纤被挖、机器故障、网络故障、机房空调故障等。 通过学习这门课程,我们可以了解到核心服务治理功能提供了管理和控制分布式系统中网络流量的关键技术和方法。如何在微服务架构下,基于不同维度进行流量控制,包括地区、集群、实例和请求等。这些功能使得我们能够更好地优化系统性能、保证系统稳定性,并提高用户体验。总而言之,核心服务治理功能是构建高效、可靠和灵活的分布式系统不可或缺的一环。