分布式原理与算法--概述
分布式技术地图 按照业务的架构层次栈,我自底向上按照资源、通信、数据与计算的维度,梳理出了 4 个技术层次:分布式资源池化、分布式通信、分布式数据存储与管理、分布式计算 符合了架构设计的规律,在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务. 因为在分布式架构下需要去解决:协同、调度、追踪高可用,还有部署的问题.那么就可以从横向的技术层次,提炼出分布式协同、分布式调度、分布式追踪与高可用、分布式部署 4 个纵向技术线. 分布式的发展 1单兵模式:单机模式 比如: 所有的模块都在一台机器上,请求处理和数据部署都可能在一台机器上 好处:功能、代码和数据集中,便于维护、管理和执行 缺点:硬件系能提升是有限的,不可能无限的提高cpu等硬件性能.性价比也需要考虑. 除此之外,还会有单点失效的问题,一台机崩溃,所有的服务都不能用 2游击队模式:数据并行或数据分布式 在单兵模式下,进行数据的拆分,执行的步骤: 一 将应用与数据分离,分别部署到不同的服务器上 二 把数据按照系统进行拆分 拆分以后系统就开始变的稍微复杂一些,需要相应的解决一些问题: 1要考虑负载均衡的问题,让每台机器的处理都比较均衡 2请求量大了,数据库的io就变成了瓶颈,那么就要进行数据库的读写分离,同时要考虑读写数据库的数据同步问题就要 3某些系统的数据库会成为热点服务器