美文网首页
谈谈架构

谈谈架构

作者: QGUOFENG | 来源:发表于2017-09-03 00:35 被阅读0次

    java web开发中,传统的系统架构通常为三层架构:web层,service层,dao层。

    web层负责页面数据的展示

    service层负责业务逻辑的处理

    dao层负责对数据库的操作

    传统架构

    对于传统的企业项目,企业内部等一些不需要高并发的项目而言,该模式还是适用的。

    相对于电商行业,处理高并发是一个需要面临的问题。对于tomcat而言,能支持300的并发已经是很高的一个值,tomcat默认配置并发量为150,最高1000(反正我是不信),硬件配置对其有一定的影响。有人说,没事,我就用硬件堆。确实能用硬件解决的问题就不要用软件来解决。

    随着并发的增加,也就意味着需要做tomcat的集群。由于设置了session复制,随着tomcat集群节点的增加,除了成本的增加,站点的服务能力并没有明显的增加,站点的服务能力甚至会下降。这时候硬件战术失去了效用。

    这是后我们就需要思考一下怎么解决这个问题?

    当tomcat集群节点增加,理论上并发处理的能力应该会提高而不会下降,而出现下降的原因是由于多个节点之间采用的session复制,这才导致了这个问题。那么如何解决呢?

    解决的办法就是将session复制抽离为一个独立的模块---单点登录系统。我们还可以想到,除了站点的首页,以及其他一些个别的页面有相对较高的并发量,其他页面的并发量不是那么高,这时我们可以根据功能模块,将这个项目分割为不同的独立的功能模块,根据每个功能模块并发量的不同配置不同的tomcat集群。--------这就是分布式。

    所谓的分布式,就是讲一个项目分割成不同的功能模块,使用接口通信,降低模块之间的耦合度

    分布式

    但是该方式存在一个问题:如果模块1和模块2处理同一件事务,就会造成代码的冗余。

    于是soa就出来了。

    SOA:Service Oriented Architecture 面向服务的架构。
    简单的说就是把项目拆分为服务层和表现层。
    服务层:提供业务逻辑,对外提供服务
    表现层:处理和页面的交互,调用服务层的业务逻辑

    soa架构

    相关文章

      网友评论

          本文标题:谈谈架构

          本文链接:https://www.haomeiwen.com/subject/hdqdjxtx.html