微服务架构介绍
单体架构
单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。
单体架构特点
- 打包成一个独立的单元(导成一个唯一的jar包或者是war包)
- 会以一个进程的方式来运行
单体架构的优点、缺点
优点:
- 项目易于管理
- 部署简单
缺点:
- 测试成本高
- 可伸缩性差
- 可靠性差
- 系统迭代困难
- 跨语言程度差
- 团队协作难
微服务架构
什么是微服务
微服务是一种架构风格。一个大型的复杂软件应用,由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好的完成该任务。
架构风格
就是项目的一种设计模式。
常见的架构风格有哪些呢?
- 基于客户端与服务端的
- 基于组件模型的架构(EJB)
- 分层架构(MVC)
- 面向服务架构(SOA)
微服务特点
- 系统是由多个服务构成
- 每个服务可以单独独立部署
- 每个服务之间是松耦合的,服务内部是高内聚的饿,外部是低耦合的。高内聚就是每个服务只关注完成一个功能。
微服务的优点、缺点
优点:
- 测试容易
- 可伸缩性强
- 可靠性强
- 跨语言程度会更加灵活
- 团队协作容易
- 系统迭代容易
缺点:
- 接口需要兼容多版本
- 运维成本过高,部署数量较多
- 分布式系统的复杂性
- 分布式事务