1、微服务架构 与 SPRING CLOUD,徐瑱,巨石型,微服务,微服务是一种架构风格,服务 组件化,服务 围绕业务,产品 开发模式,去中心化 治理,基础设施 自动化,轻量级 通信机制,去中心化 数据设计,演进式设计,故障处理 设计,微服务的优点与挑战,开发简单,技术栈灵活,服务独立,运维复杂,监控困难,按需扩展,数据一致性问题,重复代码,集成测试 复杂,Netflix与Spring Cloud,Netflix是一家在全球范围内提供流视频服务的公司,截止到2016年已经拥有8300+万订阅用户,每天播放时间达到了1亿2千万小时,是北美互联网峰值下载量的1/3。 Netflix组件是由Netfli
2、x公司开发并开源的一套微服务框架,这套架构在Netflix公司大规模分布式微服务环境中经过数年的生产环境检验被证明是可靠的。 Spring Cloud是基于Spring Boot的一整套实现微服务的框架。 Spring Cloud Netflix是基于Netflix组件的再次封装,提升了易用性以及与Spring Cloud其他组件整合性,Spring cloud netflix,Eureka 与 consul,服务注册和发现 提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。,注册
3、,服务,eureka,心跳,读取注册服务,ribbon,负载均衡 Zuul网关将一个请求发送给某一个服务的应用的时候,如果一个服务启动了多个实例,就会通过Ribbon来通过一定的负载均衡策略来发送给某一个服务实例。,Ribbon,微服务A实例,微服务A实例,feign,服务客户端 服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问。它默认会使用Ribbon来实现负载均衡。,zuul,API网关 所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。,ZUUL,服务
4、A,服务B,服务C,/api-a/*,/api-c/*,/api-b/*,/api-a/*,/api-c/*,/api-b/*,hystrix系列,Hystrix 监控和断路器。我们只需要在服务接口上添加Hystrix标签,就可以实现对这个接口的监控和断路器功能。 Hystrix Dashboard 监控面板,他提供了一个界面,可以监控各个服务上的服务调用所消耗的时间等。 Hystrix Turbine 监控聚合,使用Hystrix监控,我们需要打开每一个服务实例的监控信息来查看。而Turbine可以帮助我们把所有的服务实例的监控信息聚合到一个地方统一查看。这样就不需要挨个打开一个个的页面一个个查看。,Hystrix,Hystrix Dashboard,Spring cloud config,Config Server,CVS,Config Clients,/bus/refresh,Spring cloud bus,服务链路追踪Spring Cloud Sleuth 基于Docker的部署 与Kubernetes的结合,其他,屈原 离骚,“路漫漫其修远兮 吾将上下而求索”,