https://blog.csdn.net/yuhaiyang_1/article/details/80862914
一、演变史
1.初始阶段 单体架构,就是所有的软件和应用部署在同一个服务器上面
2.阶段二 应用服务器和数据库的分离
3.阶段三 在数据库没有达到饱和是,应用服务器集群(产生问题 ①用户请求谁来转发?②session 如何处理)
4.阶段四 数据库的读写分离
5.阶段五 搜索引擎的使用
6.阶段六 引入缓存机制
7.阶段七 数据库的分库分表
8.阶段八 应用的拆分(各个服务之间如何通信,通过RPC技术 ,比如 webservice hessian http RMI)
几个场景:
1.火车站售票,一致性保证(不能出现两个人同一张票的问题)
2. 银行转账 (多长时间内到账,但是要准确,一定要到账)
3. 购买商品的时候,检查商品库存的问题(只有下单的时候,才真正检测库存)
分布是要解决的一个问题就是数据的复制,所以会诞生(强一致性、弱一致性、最终一致性)
分布式环境初期遇到的问题:
①通讯问题 各个节点之间的通讯,每一次请求都承担网络不可用的风险,单机内存访问的延时在纳秒数量级(通常是10ns),
而正常的一次网络通信的延迟在0.1~1ms左右 (相当于内存访问延 时的105倍)
②网络异常
③ 节点故障