首页>JAVA>正文

经典的垂直应用框架-MVC框架介绍

时间:2018-08-02 10:42:29   来源:上海尚学堂   阅读:

一、MVC垂直架构


MVC垂直架构逻辑架构图示例如下图1所示:

二、MVC架构通常分为三层

1)最前端是视图展示层(view),主要用于前端 Portal展示,使用的开发工具为JSP、JavaScript、HTML+CSS等。视图是用户看到并与之交互的界面,视图向用户显示相关的业务数据,并能接收用户的输入。视图层并不执行实际的业务逻辑,也不改变数据模型。它能接收模型发出的数据更新请求,从而对用户界面进行同步更新。

2)中间为调度控制层(Control),主要用于前端Web请求的分发,调度后台的业务逻辑执行,可以通过继承 Strut的 Action实现。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。

3)第三层为应用模型层( Model),模型是应用程序的主体部分,模型代表了业务数据和业务执行逻辑。当数据发生变化时,它要负责通知视图部分。一个模型可以同时为多个视图提供数据,由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。


三、MVC与ORM框架

标准的MVC模式并不包含数据访问层,但是在实际开发过程中,通常需要专门的数据库连接池和统一的数据库访问接口对接数据库。于是ORM框架逐渐流行起来, iBatis、Hibernate等ORM框架屏蔽了底层的数据库连接池和数据源实现,同时提供了诸如Naming-SQL、面向对象的数据查询接口等JDBC上层封装,极大地降低了使用原生JDBC驱动开发的成本,提升了开发效率。

通常基于MVC架构开发的应用代码会统一打成一个war包,部署在Tomcat等web容器中。不同的应用功能之间通过本地AP进行调用,基本不存在跨进程的远程服务调用。

四、业务组网

业务的组网也非常简单,在小规模应用场景下,通常只需要做热双机即可,服务端监听浮动IP,通过 Watch Dog监测应用进程,判断应用进程宕机或者僵死之后,将应用切换到备机中,然后尝试重新拉起主机。

双机部署方案逻辑组网示意图如下图2所示:



在高并发、大流量的应用场景中,需要做集群,通常的组网方案是前端通过F5等负载均衡器做七层负载均衡(或者使用SLB等软负载),后端做对等集群部署,它的逻辑组网如下图3所示:


当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速地响应多变的市场需求。同时将公共能力API抽取出来,作为独立的公共服务供其他调用者消费,以实现服务的共享和重用,降低开发和运维成本。应用拆分之后会按照模块独立部署,接口调用由本地AP演进成跨进程的远程方法调用,此时RPC框架应运而生。

下次我们再继续介绍RPC框架。本文摘自李林峰著《分布式服务架构原理与实战》。

返回本栏目了解上海尚学堂Java培训更多技术文章。联系客服小姐姐可以获取java培训资料,或者预定上海尚学堂Java培训免费试听名额。
分享:0

电话咨询

客服热线服务时间

周一至周五 9:00-21:00

周六至周日 9:00-18:00

咨询电话

021-67690939
15201841284

微信扫一扫