微服务
微服务架构现在越来越普遍了,优势大致有:
1、系统模块间解耦,每个系统负责单一责任
2、每个系统都可以应用独立的技术栈
3、每个系统都可以独立部署
缺点大致有:
1、拆分的度,过度拆分?
2、拆分之后就有统一的问题,数据库、事务、锁等的一致性方案
3、测试不方便
4、部署困难
api网关服务
eg:一个淘宝app上可能有很多服务,购物车、订单系统、目录、评论、推送等等服务,如果在微服务的架构下难道让app开发去调用每个服务模块吗?通常会设计一个网关服务统一入口,然后由封装的网关接口再去调用其他服务,网关的可以做的有用户验证、监控、负载均衡、缓存、请求改造和管理以及静态内容响应等职责。
api网关的设计要注意的点:
- 性能与扩展性
- 响应式编程模型 (异步)
- 服务调用方式 (通信机制)
- 服务发现
- 局部故障
待续。。。。