一、 单体架构
单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合 在一个应用中的架构方式。
1 单体架构特点
1打包成一个独立的单元(导成一个唯一的 jar 包或者是 war 包)
2会一个进程的方式来运行
单体架构到优、缺点
优点:
1.易于管理
2.部署简单
缺点:
1.测试成本高:所有当功能都在一个项目中,一个地方发生改变,其他当功能也要测试
2.可伸缩性差:如果我们想对系统做水平扩展,单体架构对项目是没办法做到对
3.可靠性差:如果么个模块出现bug,会导致整个系统不可用
4.系统迭代困难:分支多,迭代困难
5.跨语言差:单体用对同一对技术jar
6.团队协作难:整个系统庞大,每个成员就要学习大量对代码
二、 微服务架构
1 什么是微服务
微服务是一种架构风格。一个大型的复杂软件应用,由一个或多个微服务组成。系统中 的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任 务并很好的完成该任务。
2 架构风格
项目的一种设计模式。
常见对架构风格:
1.客户端服务端的:比喻说我们要运行的程序,我们必须启动它的服务端
2.基于组件模型的架构:比喻说EJB
3.分层架构:建立包,每一包代表不同的模型,比喻说MVC
4.面向服务架构:SOA
3 微服务特点
1.系统是由多个服务构成
2.每个服务可以单独独立部署
3,每个服务直接是松耦合的,服务内部是高内聚的,外部是低耦 合的。高内聚就是每个服务只关注完成一个功能。
4 微服务优缺点
优点:
1.解决单体架构测试难的问题,