系统架构
1、单库单应用模式(单体架构)
最简单的系统,把系统中所有的功能、模块耦合在一个应用中的架构方式。一个数据库,一个业务处理层,一个后台管理系统
单体架构特点:打包成一个独立的单元(导成一个唯一的jar包或者是war包),会一个进程的方式来运行。
优点:结构简单、开发速度快、实现简单,可用于产品的第一版等有原型验证需求、用户少的设计。
缺点:性能差、基本没有高可用、扩展性差,不适用于大规模部署、应用等生产环境
2、MVC架构
MVC是模型(Model)、视图(View)、控制器(Controller)3个单词的缩写 。
Model是指数据模型,是对客观事物的抽象 ,包括属性和方法
View是指视图,也就是呈现给用户的一个界面,是model的具体表现形式,也是收集用户输入的地方
Contorller指的是控制器,主要负责与model和view打交道,是MVC中沟通的桥梁。
优点:有利于开发的分工,有利于组件的重用
缺点:增加了系统结构和实现的复杂性。视图与控制器间的过于紧密的连接。视图对模型数据的低效率访问
3、面向服务架构(SOA)(分布式)
面向服务的架构(SOA)是一个组件模型,它将应用程序拆分成不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。不同服务调用接口就使用到rpc远程调用。
面向服务架构特点:系统是由多个服务构成,每个服务可以单独独立部署,每个服务之间是松耦合的。服务内部是高内聚的,外部是低耦合的。高内聚就是每个服务只关注完成一个功能。
优点: 测试容易,可伸缩性强,可靠性强,跨语言程度会更加灵活,团队协作容易,系统迭代容易
缺点
4、微服务架构