微服务
什么是微服务?
微服务就是一些协同工作的小而自治的服务。
优点
异构性
·语言、存储....
弹性
·一个组件不可用,不会导致级联故障
扩展
·单体服务不易扩展,多个较小的服务可以按需扩展
- ·易于部署
- ·与组织结构对齐
- ·可组合性
- ·可替代性
实施微服务的代价
- ·没有银弹!! !
- ·分布式系统的复杂性
- ·开发、测试等诸多研发过程中的复杂性·
- 部署、监控等诸多运维复杂性
云原生
应用要求
DevOps
开发与运维一同致力于交付高品质的软件服务于客户
持续交付
软件的构建、测试和发布,要更快、更频繁、更稳定
微服务
以一组小型服务的形式来部署应用
容器
提供比传统虚拟机更高的效率
SpringCloud应用架构
Spring Cloud的主要功能
·服务发现
·服务网关
·服务熔断
·分布式消息
·配置服务
·分布式跟踪
·服务安全
·各种云平台支持
熔断(断路器)
隔舱
速率限制器
分布式配置中心
服务链路
SpringCloud Sleuth
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring.zipkin.base-url=http://localhost:9411/
spring.sleuth.sampler.probability=1.0 // 默认0.1的采样
spring.zipkin.sender.type=web