单机:所有的业务全部写在一个项目中,部署服务到一台服务器上。
作用:所有的请求业务都由这台服务器处理
集群:多台服务器部署相同应用构成一个集群
作用:通过负载均衡设备共同对外提供服务
分布式:不同模块部署在不同服务器上
作用:分布式解决网站高并发带来问题
SOA:业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力,通过服务的组合和编排来实现上层的业务流程
作用:简化维护,降低整体风险,伸缩灵活
微服务:架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行SOA到微服务架构的演进过程
作用:各服务可独立应用,组合服务也可系统应用
举个例子,假设需要开发一个在线商城。按照微服务的思想,我们需要按照功能模块拆分成多个独立的服务,如:用户服务、产品服务、订单服务、后台管理服务、数据分析服务等等。
这一个个服务都是一个个独立的项目,可以独立运行。如果服务之间有依赖关系,那么通过RPC方式调用。
-
分布式:一个业务分拆多个子业务,部署在不同的服务器上
-
集群:同一个业务,部署在多个服务器上
什么是集群
集群技术特点:
- 通过多台计算机完成同一个工作,达到更高的效率。
- 两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起作用。
在维基百科上说得也挺明白的了,我来举个例子吧。
小周在公司写Java程序,但公司业务在发展,一个Java开发者可能忙不过来,小周有的时候也得请个假呀。
于是请了3y过去一起做Java开发。平时小周和3y就写Java程序,但3y可能有事要回学校一趟。
没事,公司还有小周做Java开发呢,公司开发还能继续运作。
3y跟小周都是做Java开发。
3y来了,小周的工作可以分担一些。
3y请假了,还有小周在呢。
我写了一个910便利网发布到服务器去了,现在越来越多的人访问了,访问有点慢,怎么办???
很简单,(只有充钱才能变强),加配置吧(加cpu,加内存)。升级完配置之后,访问人数越来越多,
于是发现又不禁用啦,在这台机器上加配置已经解决不了了,怎么办???很简单,(只有充钱才能变强),
我再买一台服务器,将910便利网也发布到新买的这台服务器上去。
特点: 这两台服务器都是运行同一个系统--->910便利网
好处:
- 本来只有一台机器处理访问,现在有两台机器处理访问了,分担了压力。
- 如果其中一台忘记缴费了,暂时用不了了。没关系,还有另一台可以用呢。
集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事)
什么是分布式
以下内容来源维基百科:
分布式系统是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。
我也来举个例子来说明一下吧:
现在公司有小周和3y一起做Java开发,做Java开发一般jQuery,AJAX都能写一点,所以这些活都由我们来干。
可是呢,3y对前端不是很熟,有的时候调试半天都调不出来。老板认为3y是真的菜!
于是让小周专门来处理前端的事情。这样3y就高兴了,可以专心写自己的Java,前端就专门交由小周负责了。
于是,小周和3y就变成了协作开发。
3y对前端不熟(能写出来),但在调试的时候可能会花费很多时间
小周来专门做前端的事,3y可以专心写自己的Java程序了。
都是为了项目正常运行以及迭代。
我的910便利网已经部署到两台服务器去了,但是越来越多的人去访问。现在也逐渐承受不住啦。
那现在怎么办啊??那继续充钱变强??作为一个理智的我,肯定得想想是哪里有问题。
现在910便利网的模块有好几个,全都丢在同一个Tomcat里边。
其实有些模块的访问是很低的(比如后台管理),那我可不可以这样做:将每个模块抽取独立出来,
访问量大的模块用好的服务器装着,没啥人访问的模块用差的服务器装着。
这样的好处是:
一、资源合理利用了(没人访问的模块用性能差的服务器,访问量大的模块单独提升性能就好了)。
二、耦合度降低了:每个模块独立出来,各干各的事(专业的人做专业的事),便于扩展
特点:
- 将910便利网的功能拆分,模块之间独立,在使用的时候再将这些独立的模块组合起来就是一个系统了。
好处:
- 模块之间独立,各做各的事,便于扩展,复用性高
- 高吞吐量。某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑(将这个任务拆分成10个小任务),可能2个小时就跑完了
分布式:一个业务分拆多个子业务,部署在不同的服务器上(不同的服务器,运行不同的代码,为了同一个目的)
集群/分布式
其实我认为分布式/微服务/SOA这三个概念是差不多的,了解了其中的一个,然后将自己的理解往上面套就好了。没必要细分每个的具体概念~~
链接:https://blog.csdn.net/heatdeath/article/details/79038795
链接:https://www.jianshu.com/p/d4fb16fafc2e
链接:https://www.cnblogs.com/mileres/p/9838618.html