管理进化

分布式技术有哪些


分布式技术有以下7种:1服务治理;2.架构软件管理;3.DevOps;4.自动化运维;5.资源调度管理;6.整体架构监控;7.流量控制。分布式技术最为核心的要属分布式服务框架,有了分布式服务框架,我们只需关注各自的业务,而无需去关注那些复杂的服务之间调用的过程。

1.服务治理

服务拆分、服务调用、服务发现、服务依赖、服务的关键度定义……服务治理的最大意义是需要把服务间的依赖关系、服务调用链,以及关键的服务给梳理出来,并对这些服务进行性能和可用性方面的管理。、

2.架构软件管理

服务之间有依赖,而且有兼容性问题,所以,整体服务所形成的架构需要有架构版本管理、整体架构的生命周期管理,以及对服务的编排、聚合、事务处理等服务调度功能。

3.DevOps

分布式系统可以更为快速地更新服务,但是对于服务的测试和部署都会是挑战。所以,还需要 DevOps 的全流程,其中包括环境构建、持续集成、持续部署等。

4.自动化运维

有了 DevOps 后,我们就可以对服务进行自动伸缩、故障迁移、配置管理、状态管理等一系列的自动化运维技术了。

5.资源调度管理

应用层的自动化运维需要基础层的调度支持,也就是云计算 IaaS 层的计算、存储、网络等资源调度、隔离和管理。

6.整体架构监控

如果没有一个好的监控系统,那么自动化运维和资源调度管理只可能成为一个泡影,因为监控系统是你的眼睛。没有眼睛,没有数据,就无法进行高效的运维。所以说,监控是非常重要的部分。这里的监控需要对三层系统(应用层、中间件层、基础层)进行监控。

7.流量控制

最后是我们的流量控制,负载均衡、服务路由、熔断、降级、限流等和流量相关的调度都会在这里,包括灰度发布之类的功能也在这里。

与传统的单体架构相比,分布式系统具有以下优势:

增大了系统的容量。我们的业务量越来越大,就需要多台机器来应对这种大规模的应用场景。因此我们可以使用分布式的架构,来垂直或是水平的拆分业务;

加强了系统的可用性。我们的业务越来越关键,需要提供整个系统架构的可用性,这样就不能存在单点故障。所以,通过分布式架构来冗余系统,提高系统的可用性;

使系统模块化,可以提高模块的重用度,同时系统的扩展性也更高了;

提高了开发和发布速度,因为软件服务模块被拆分,开发和发布都可以并行。

智齿客服