的的JavaEE的架构
1.传统三层架构(all in one项目)
传统三层架构大致可以分为表现层,业务层和持久层(数据访问层)。其中表现层负责接受请求和转发请求。业务层负责处理请求(注:事务管理,日志记录等AOP类型的操作均封装在这一层)持久层主要负责数据库与实体之间的操作。
支柱典型的MVC三层架构:模型层,视图层,控制层。
用SpringMVC中的MVC指的是什么:当一个请求到达服务器时,由中央控制器的DispatcherServlet(控制层)查找要访问的控制器,然后控制器 - >调用服务 - >调用道,之后将获取的数据返回到JSP页面(视图层)。
即:严格来说在用用用SpringMVC中控制器是DispacterServlet,模型层是控制器(即该模型层又可以看成一个MVC架构),视图层是JSP页面。
另外,利用框架可以简化各层的开发:表现层使用用用用SpringMVC或者Struts2的中的,持久层使用的MyBatis的的或休眠,使用弹簧管理表现层,业务层和持久层三层之间的关系。
2.集群架构(属于水平拓展)
由于传统的三层架构中存在许多问题,比如业务层中的不同模块占用系统资源相差太大,导致占用系统资源,可以使用集群解决问题。(相当于备份多个文件,多台服务器反问的是同一个项目资源,集群架构的目的也是为了系统资源的高可用性。)
在集群架构中存在一个重要的角色就是反向代理服务器,他的任务是实现负载均衡,接收用户请求,转发到目标服务器,其中反向代理服务器可以使用的nginx的的实现(简单来说也就是一个实现负载均衡的算法)。
说明:
(1)集群架构相当于把同一个项目部署到多个服务器上(相当于复制备份),然后通过负载均衡服务器的nginx的的将请求分别均衡的派发到不同的的Tomcat的的服务器上,实际上不同服务器上运行的是同一个网络项目。
(2)大部分能企业通过nginx的的的实现负载均衡算法。
软件层面负载均衡项目:nginx的的,阿帕奇的httpd的的;
硬件负载均衡器:F5。
</