java技术--单体架构

1.传统架构分布式

  (1)系统之间仅仅是把表现层、业务层、持久层分离开,可以实现解耦合,但是这是在同一台服务器上运行整个系统
  (2)客户端可以有多个,他们都将访问同一个终端处理器
  (3)传统架构的分布式仅仅是对业务实现的底层分层,是典型的三层架构
  (4)传统架构的分布式实质仍是一个单体架构

2.单体架构简介:又叫一体化架构

  (1)在软件设计中,经常提及和使用经典的3层模型,即表示层、业务逻辑层和数据访问层
       <1>表示层:用于直接和用户交互,也称为交互层,通常是网页、UI等
       <2>业务逻辑层:即业务逻辑处理层,用户输入的信息要经过业务逻辑层的处理后,才能展现给用户
       <3>数据访问层:用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作
  (2)虽然在软件设计中划分了经典的3层模型,但是对业务场景没有划分
  (3)一个典型的单体应用就是将所有的业务场景的表示层、业务逻辑层和数据访问层放在一个工程中  
  (4)经过编译、打包,部署在一台服务器上(Tomcat,Jetty)  
  (5)典型的J2EE工程单体架构:
       <1>将表示层的JSP、业务逻辑层的Service、Controller和数据访问层的Dao,打成war包
       <2>部署在Tomcat、Jetty或者其他Servlet容器中运行  
       <3>应用只需要一台服务器就能够部署所有的资源(应用程序、数据库、文件资源等)
  (6)单体应用 :一个归档包(例如war格式)包含了应用所有功能的应用程序
  (7)单体应用架构:架构单体应用的方法论
  (8)用于简化增删改查工作量的数据访问框架(ORM) 是关键

3.单体架构特点:

 (1)所有的功能集成在一个项目工程中
 (2)所有的功能打一个war包部署到服务器
 (3)通过部署应用集群和数据库集群来提高系统的性能
 (4)单体架构只包含一个单一应用(例如:只有报表服务)
 (5)服务层、表现层藕合在一起,同时开发

4.单体架构优缺点:

  (1)优点:
         <1>项目架构简单,前期开发成本低,周期短,小型项目的首选
         <2>易于开发,易于测试,整体应用也易于部署
 (2)缺点:
         <1>全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护
         <2>系统性能扩展只能通过扩展集群结点,成本高、有瓶颈
         <3>技术栈受限
         <4>前后端藕合度高

你可能感兴趣的:(架构专栏,java技术--单体架构)