微服务学习(一)
使用微服务的原因
为了解决前面架构存在的问题,微服务应用突出的特点在于服务治理,每个服务独立部署运行。
执行方案:
- 核心业务抽取出来,作为独立的服务对外服务
2.服务模块持续独立部署,减少版本交付周期
3.数据库按服务分库分表。大量使用缓存,提高访问
4.系统间交互使用轻量级的 rest 协议,摒弃 rpc 协议
(来自https://blog.csdn.net/Jamel_LiToo/article/details/88964395)
微服务模式
- 开发模式--核心微服务模式(Spring Boot)
--配置管理(Spring Cloud Config)
--异步消息处理(Spring Cloud Stream)
- 路由模式--服务发现模式(Spring Cloud/Netflix Eureka)
--服务路由模式(Spring Cloud/Netflix Zuul)
- 客户端弹性模式--客户端负载均衡(Spring Cloud/Netflix Ribbon)
--断路器模式(Spring Cloud/Netflix Hystrix)
--后备模式(Spring Cloud/Netflix Hystrix)
--舱壁模式(Spring Cloud/Netflix Hystrix)
- 构建部署模式--持续集成(Travis CI)
--基础设施即代码(Docker)
--不可变服务器(Docker)
--凤凰服务器(Travis CI/Docker)
- 日志记录模式--日志关联(Spring CloudSleuth)
--日志聚合(Spring Cloud Sleuth)
--微服务跟踪(Spring Cloud Sleuth/Zipkin)
- 安全模式--授权(Spring Cloud Security/OAuth2)
--验证(Spring Cloud Security/OAuth2)
--凭据管理和传播(Spring Cloud Security/OAuth)
(来自Spring Microservices IN ACTION)
微服务的生命周期
微服务的生命周期分为四个阶段:
装配-->引导-->发现-->监控