1. 什么是微服务架构?
通常而言,微服务架构是一种架构模式或者说是一种架构风格。
将应用服务按功能拆分成一组相互协作的服务。每个服务负责一组特定、相关的功能。
每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。
服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API) 。
2.微服务优点
1、通过分解巨大单体式应用为多个服务方法解决了复杂性问题,每个微服务相对较小
2、每个单体应用不局限于固定的技术栈,开发者可以自由选择开发技术,提供API服务。
3、每个微服务独立的开发,部署
4、单一职责功能,每个服务都很简单,只关注于一个业务功能
5、易于规模化开发,多个开发团队可以并行开发,每个团队负责一项服务
6、改善故障隔离。一个服务宕机不会影响其他的服务
3.微服务缺点:
- 1.开发者需要应对创建分布式系统所产生的额外的复杂因素
l 目前的IDE主要面对的是单体工程程序,无法显示支持分布式应用的开发
l 测试工作更加困难
l 需要采用服务间的通讯机制
l 很难在不采用分布式事务的情况下跨服务实现功能
l 跨服务实现要求功能要求团队之间的紧密协作
-
2.部署复杂,(可尝试使用docker布置)
-
3.内存占用量更高
4.内部服务之间的通信方式有两种:
1、基于HTTP协议的同步机制(REST、RPC);
2、基于消息队列的异步消息处理机制(AMQP-based message broker)。