分布式入门

in 网站建设
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

转载至https://www.cnblogs.com/zhy-1992/p/9233789.html

二、背景说明

优点:高性能、高并发、高可用、安全性

例如像淘宝这类的网站,要解决的重点问题就是海量商品搜索、下单、支付等问题; 像腾讯这类的网站,要解决的是数亿级别用户的实时消息传输;而像百度这类的公司所要解决的又是海量数据的搜索。

下面我们来简单模拟一个架构演变过程。

​假如我们系统具备以下功能:
用户模块:用户注册和管理。
商品模块:商品展示和管理。
交易模块:创建交易及支付结算。

三、阶段一:单应用架构​

image.png

四、阶段二:应用服务器和数据库服务器分离(增加机器)

image.png

五、阶段三:应用服务器集群(访问量增加,增加应用服务器)

image.png

问题:

image.png

解决方案:

六、阶段四:数据库压力变大,数据库读写分离(查询和增删改分离)

image.png

问题:

ps: 数据同步,如a->b转账,a转账100,-100,此时数据库挂掉,数据库锁机制应该回流给a资金

七、升级阶段五:搜索引擎缓解读库的压力(数据库索引relate with搜索引擎)

image.png

八、升级阶段六:引入缓存(内存)机制缓解数据库的压力(内存的读写比硬盘快得多)

image.png

九、阶段七:数据库的水平/垂直拆分

垂直拆分:不同业务数据分库

image.png

水平拆分:业务数据量太大,同一个表分表
image.png

十、阶段八:应用的拆分

应用拆分:按照领域模型将我们的用户、商品、交易拆分成多个子系统。
image.png

问题:
这样拆分以后,可能会有一些相同的代码,比如用户操作,在商品和交易都需要查询,所以会导致每个系统都会有用户查询访问相关操作。

解决方案:通过走服务化路线的方式来解决

image.png

问题:
服务拆分以后,各个服务之间如何进行远程通信呢?
解决方案:
通过 RPC 技术,比较典型的有:dubbo、webservice、hessian、http、RMI 等等

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看