一个典型的微服务架构(MSA)通常包含以下组件:
- 客户端: 微服务架构着眼于识别各种不同的类型的设备,以及在此设备上进行的各种管理操作:搜索、构建、配置等等
- 身份标识提供者: 提供访问服务所需的身份密钥,服务网关会负责完成对请求客户端的基本验签工作
- API服务网关: 客户端访问目标服务的入口点,经服务请求经服务网关路由到目标服务提供方。服务网关的优点:
- 服务更新操作对客户端透明
- 服务与服务之间的消息路由协议不一定非得基于WEB
- 服务网关可以统一进行安全授权或者负载均衡等操作
- 消息:
- 同步消息机制:REST,HTTP
- 异步消息机制:AMQP, STOMP, MQTT
- 数据库: 每个微服务都有自己相对独立的数据源,并且完成相对独立的业务功能。
- 静态资源: 微服务中静态资源通常通过Content Delivery Networks (CDNs). 管理和分发
- 服务管理: 主要负责节点间服务均衡以及故障是识别
- 服务发现: 维护服务列表以及服务路由
微服务架构优缺点
优点 | 缺点 |
---|
多技术栈 | 增加问题定位难度 |
服务功能单一纯粹、仅负责单一业务功能 | 因为服务调用链路增加,所以延迟增加 |
支持独立部署 | 额外的配置和其他管理操作 |
支持连续的服务更新 | 增加事务一致性的挑战 |
有效确保单个服务的安全性 | 跨服务链路导致数据难以跟踪 |
多个服务并行开发和部署 | 服务直接难以共享代码 |
原文链接:
https://www.edureka.co/blog/microservice-architecture/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)