什么是微服务?
通常来说微服务是一种架构模式或者架构风格,它将传统的一站式应用,拆分成了单独的一个个服务,彻底解耦,每个服务只负责一件事情。服务之间可以通过轻量级的通信机制(HTTP)进行通信,可以互相调用,可以单独的启用和销毁,根据业务选择合适的工具、编程语言,可以拥有自己的数据库。
微服务的优缺点
【优点】:
单一职责原则。
每个服务足够内聚,足够小,代码易理解,一个服务专一只干一件事。
微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
微服务能使用不同语言开发。
易集成。
微服务只是业务逻辑代码,不会和HTML,CSS或者其他界面混合。
每个微服务都有自己的存储能力,可以有自己的数据库,也可统一。
【缺点】:
服务间通信成本
多服务运维难度增加
数据一致性
性能监控
微服务的技术栈
SpringBoot专注于快速、方便的开发单个个体微服务,SpringCloud关注全家的服务治理框架。
SpringCloud:
参考书:
https://springcloud.cc/spring-cloud-netflix.html
中文API文档: https://springcloud.cc/spring-cloud-dalston.html
SpringCloud中国社区 http://springcloud.cn/
SpringCloud中文网 https://springcloud.cc