一.分布式简介
什么是分布式系统?
分布式系统就是一组部署在同一网络下通过网络通信和协调的组件,对外形同一个系统.
举一个例子来说:假如原来咱们做了一个电商系统,里面包含了权限模块,员工模块,收银模块,商品模块等等,一个项目里面包含了一堆模块,通过一台服务器部署,模块之间相互调用.
那现在咱们将这个电商系统拆分为:权限系统,员工系统,收银系统,商品系统 等等,分别部署在四台机器上.
然后用户一个请求过来,咱们要完成和这个请求:员工系统通过网络去调用权限系统,接着调用商品系统,最后调用收银系统,为了完成这一件事 分别调用了四个系统.
最后这四个系统全部响应完成后,才认为这个请求已经完成.用户体验起来就好像调用了一个系统,这就是所谓的分布式系统 当然我也画了一张图来感受一下上述的过程:
二.分布式架构-微服务出现的意义
有的同学估计就会觉得一台服务跑的好好的,一个简单的需要何必搞的这么麻烦 一个系统就可以解决,为甚还要去搞什么分布式架构?
当然 这位同学说的也没有错 一些简单的项目可以直接走垂直架构.但是现在都是21世纪了 随着互联网的发展,贵公司的业务也在不断发展例如:注册用户增加,各种层出不同的渠道访问,app 微信,抖音,小红书等等,随着用户量的增大,各种新的业务,新的需求也就不断涌入了 量变引起了质变,之前的单体垂直项目修改起来就特别麻烦.
首先单体项目会变得特别的臃肿,今天增加一个业务,明天就新增一个模块,经常会有各种代码合并冲突需要解决,非常的耗时间,代码冗余非常的大,异常处理起来也非常麻烦 业内简称si代码.如果你进入这样的公司,恭喜这位同学,你的异常处理能力将变得异常强大.
其次是随