微服务是一种架构模式,将一个复杂的、臃肿的单体应用根据业务拆分成一个个可独立部署的服务,服务与服务之间采用轻量级的通信机制进行交互(通常是基于HTTP的RESTFULL API)来完成一个复杂的业务。
换句话说,在微服务出来之前,一个应用一个war包、一个tomcat、一个mysql数据库解决,并发量高的情况升级硬件或者多部署几个服务,服务端负载均衡,达到高可用。这种架构模式的缺点显而易见!
单体特点
优点:部署简单、技术单一、用人成本低;
缺点:系统错误隔离性差、系统可扩展性差;
微服务特点:
优点:项目复杂度降低,一个团队负责一个模块的服务,业务简单;
扩展灵活,并发承受能力强;
缺点:部署复杂,运维成本提高,对运维的技术维度要求更广。