微服务学习
一、概念
A、微服务:使用微服务架构设计的一种应用,把一个大的应用按业务拆成许多独立的组件化的小的应用,每一个小的应用就是一个微服务。
B、微服务架构:微服务架构是一种设计方法
C、微服务框架:将复杂的系统使用组件化的方式进行拆分,并使用轻量级通讯方式进行整合的一种设计方法。
二、单体式架构
A、缺点:
1. 复杂性越来越高
2. 技术负债逐渐上升
3. 维护成本大
4. 持续交付周期长
5. 可扩展性差
三、微服务架构
A、原则
1. 单一职责
2. 轻量级通信(通常指跨语言,跨平台的通信)
3. 独立性
4. 进程隔离
B、缺点
1. 运维要求较高
2. 分布式的复杂性
3. 接口成本高
4. 重复劳动
四、微服务重要组件
A、跨语言,跨平台通讯格式:protobuf
B、通讯协议:gRPC
C、调度管理、服务发现:consul
D、微服务框架:micro
E、部署:docker