谈谈架构

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架构
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,376评论 11 349
  • Linux服务器集群系统各概念辨析 计算机集群 WEB的负载均衡、集群、高可用解决方案 计算机集群 计算机集群简称...
    Zhang21阅读 3,312评论 0 18
  • 网站的可用性强调的是对最终用户的使用价值。它牵动着人们的神经,直接影响着公司的形象和利益,许多互联网公司都将网站的...
    deniro阅读 3,694评论 0 18
  • 问题导读: 1.如何构建高并发电商平台架构 2.哈希、B树、倒排、bitmap的作用是什么? 3.作为软件工程师,...
    MaLiang阅读 5,150评论 1 70
  • 经常要用ssh登录远程服务器,每次都输入用户名和密码比较麻烦。可以设置一下ssh免密码和ssh服务器别名。 ssh...
    jenny42阅读 2,808评论 0 0