zoukankan      html  css  js  c++  java
  • 集群和分布式

    分布式与集群
    分布式:一个任务分给多几个机器去做,减少单个任务的执行时间。
    集群:提高单位时间内执行任务数。
    例如:一个任务由10个子任务组成。
    分布式方案:提供10台服务器,每台服务器只处理一个子任务
    集群方案:同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作。

    传统的系统架构就是经典的三层结构,就一个项目跑在一个tomcat中,但是随着用户数量的增加,一个服务器一个tomcat肯定是不靠谱的,如果乡村教师马云在杭州一个小地方,搞了一台服务器,一个tomcat,跑天猫的代码,然后让我们去访问,那我们估计是不可能看到网站首页的,一直处于宕机状态。哈哈!

    这时候可以使用集群的架构,就是说现在马云狠着买了5台服务器,每台服务器都跑天猫的代码,然后又搞了一个Nginx做负载均衡,这时候我们的请求由五台服务器完成的,第一次请求是第一台服务器响应,第二次请求是由第二台服务器响应,这样可以应对的并发量就是之前的5倍,马云很开心,美滋滋。

    总结:多台服务器跑的都是一套完整的代码,这就叫集群。

    随着淘宝的做大,功能也日益完善,加了很多的功能,在把一个项目都让一套tomcat跑,tomcat说它也很累,能不能少跑点代码,这时候分布式系统架构就产生了,我们把天猫这个大项目按功能划分为很多的模块,比如说单独一个系统处理订单,一个处理用户登录,一个处理后台等等,然后每一子系统都单独跑在一个tomcat中,和起来就是一个完整的天猫项目,这样对每一个tomcat就相对轻松一点。(如果某个子系统的压力还是很多,可以考虑对这个子系统再做集群)

    总结:多台服务器合起来跑的才是一套完整代码,这就叫分布式。

    SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

    这样做的好处就是,系统之间的调用很方便,A系统要用到B系统,直接调用B系统的服务层就可以了。

     
    总结:在分布式这种横向拆分的基础上又做了纵向拆分。就变成SOA架构。
     
    参考:
    https://baijiahao.baidu.com/s?id=1591166460325767857&wfr=spider&for=pc
    https://blog.csdn.net/qq_18815817/article/details/78981225
  • 相关阅读:
    Head First设计模式-单例模式
    mahout算法源码分析之Itembased Collaborative Filtering(四)共生矩阵乘法
    “非常PHP学习网”(www.veryphp.cn)一期上线
    IOS深入学习(19)之View object
    POJ 1005(累加)
    Plan04.学习与提升
    一个python
    【tcl脚本】改变输出字符格式
    为什么寄存器比内存快?
    我觉得epoll和select最大的区别
  • 原文地址:https://www.cnblogs.com/kxm87/p/9437062.html
Copyright © 2011-2022 走看看