单体架构:一个归档包(war ,jar)包含了应用所有功能的应用程序。
实现关键技术:采用SSH 或 SSM搭建
单体架构的优势
便于开发:只需借助IDE的开发、调试功能即可完成
易于测试:只需要通过单元测试或浏览器即可完成测试
易于部署:打包成单一可执行jar包,执行jar包即可完成部署
单体架构的不足
复杂性高,交付效率低,伸缩性差,可靠性差,阻碍技术创新
soa架构
实现关键技术:Nginx、zookeeper、Dobbo、消息中间件(Kafka、rockerMQ、ActiveMQ、RabbitMQ)
SOA 是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。
服务基于简单的“问/答”模型——我问你问题,你给我答案,那么对于“我”来说,“你”就是“服务”。但是答案反馈有同步和异步之分,同步就是我问你问题并在线等待你答复,而异步就是我问完你问题就去忙其他事情了,你有了答案之后再通知我。
微服务架构
实现关键技术:springboot、springcloud、WebFlux
把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议