将分布式架构需要解决的问题按照顺序列举为如下几步
问题分类 | 具体内容 |
---|---|
应用服务拆分 | 分布式是用分散的服务和资源代替集中的服务和资源,所以先根据业务进行应用服务拆分。 |
分布式调用、协同与计算 | - 由于服务分布在不同的服务器和网络节点上,所以要解决分布式调用的问题。 - 服务能够互相感知和调用以后,需要共同完成一些任务,因此需要解决分布式协同问题。 - 在协同工作时,会遇到大规模计算的情况,需要考虑使用多种分布式计算的算法来应对。 |
分布式存储、资源管理与调度 | - 任何服务的成果都需要保存下来,这就要考虑存储问题。和服务一样,存储的分布式也可以提高存储的性能和可用性,因此需要考虑分布式存储的问题。 - 所有的服务与存储都可以看作资源,因此需要考虑分布式资源管理和调度。 |
服务的高性能与高可用、与监控 | - 设计分布式架构的目的是实现高性能和可用性。为了达到这个目的,一起来看看高性能与可用性的最佳实践,例如缓存的应用、请求限流、服务降级等。 - 系统上线以后需要对性能指标进行有效的监控才能保证系统稳定运行,此时指标与监控就是我们需要关注的问题。 |
1. 应用服务拆分
分布式架构的第一步是应用服务的拆分。合理的拆分方式能够确保系统的高可用性和可扩展