微服务云平台及DEVOPS培训 PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微服务及DEVOPS
PART 01 微服务介绍
PART 02
PART 03
持续集成持续构建 Devops介绍
微服务简介 更小
微服 务
更快
更强
”微”即是小
由一系列小服务组成
独立运行
每个服务运行于自己的独立进程
业务建模
围绕着业务功能进行建模
独立部署
每个服务独立部署
分散式管理
5
最低限度的集中管理
单体服务架构
Spring Cloud Netflix
针对多种Netflix组件提供的开发工具包, 其中包括Eureka、Hystrix、Zuul、 Archaius等。
Netflix Eureka
云端负载均衡,一个基于 REST 的服务, 用于定位服务,以实现云端的负载均衡
和中间层服务器的故障转移。
Netflix Hystrix
容错管理工具,旨在通过控制服务和第 三方库的节点,从而对延迟和故障提供更 强大的容错能力。
Netflix Zuul
边缘服务工具,是提供动态路由,监控, 弹性,安全等的边缘服务。
Netflix Archaius
配置管理API,包含一系列配置管理API, 提供动态类型化属性、线程安全配置操 作、轮询框架、回调机制等功能。
产品 10、0.0.5:8006
邮件
…… 10、0.0.3:8004
1、同一功能的微服务部署多个,如何访问配置?配置管理; 2、服务是否正常,怎么监控?即:服务的注册和发现; 3、怎么判断服务压力,压力大时怎么进行熔断?服务容错; 4、多态服务器的服务,怎么进行负载均衡;负载均衡,服务网关;
10、0.0.4:8005
Spring Cloud很大的一部分是基于Spring boot来实现
Spring Cloud组件 一
Spring Cloud Config
配置管理开发工具包,可以让你把配置 放到远程服务器,目前支持本地存储、
Git以及Subversion。
Spring Cloud Bus
事件、消息总线,用于在集群(例如, 配置变化事件)中传播状态变化,可与 Spring Cloud Config联合实现热部署。
Spring Cloud for Cloud Foundry
通过Oauth2协议绑定服务到 CloudFoundry,CloudFoundry是 VMware推出的开源PaaS云平台。
Spring Cloud组件 二
Spring Cloud Security:安全工 具包,为您的应用程序添加安 全控制,主要是指OAuth2。
Fetch Registries:获取注册列表信息
3
Eureka客户端从服务器获取注册表信息,并将其缓存在本地。客户
集工具包,封装了Dapper,
7
Zipkin与HTrace操作。
SpringCloud分布式开发五大神兽
服务发现
Netflix Eureka
客服端负载均衡
Netflix Ribbon
断路器
Netflix Hystrix
服务网关
Netflix Zuul
分布式配置
Spring Cloud Config
•
财务
•
10、0.0.2:8003
每个服务足够内聚,足够小,代码容易理解、开发效率提高 服务之间能够独立部署,微服务架构让持续部署成为估计; 每个服务可以各自进行x扩展与z扩展,而且,每个服务可以依照自 己的需要部署到合适的硬件服务器上; 容易扩大开发团队,可以针对每个服务(service)组件开发团队; 提高容错性(fault isolation),一个服务的内存泄露并可不能让整个系 统瘫痪; 系统不会被长期限制在某个技术栈上。
用户模块 订单模块 产品模块 财务模块
…… …… 公共模块
缺点:
可用性低,宕机全死
项目臃肿,代码量飙升,耦合性过大 服务器要求高
优点:
集中部署,运维容易 系统架构、业务架构简单,容易理解
微服务架构
用户
订单 产品
配置Baidu Nhomakorabea
邮件
财务 ……
缺点:
业务架构复杂
拆分粒度难以界定
部署维护困难
优点:
高可用 业务简单 支持异构
Eureka服务注册
Eureka的高级架构图
Register:服务注册
1
当Eureka客户端向Eureka Server注册时,
它提供自身的元数据,比如IP地址、端口,
运行状况指示符URL,主页等。
2 Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告 知Eureka Server该Eureka客户仍然存在,没有出现问题。 正 常情况下,如果Eureka Server在90秒没有收到Eureka客户的 续约,它会将实例从其注册表中删除。
Spring cloud与Spring Boot的关系
• Spring boot 是 Spring 的一套快速配置脚手架,能够基于spring boot 快速开发单个微服务,Spring Cloud是 一个基于Spring Boot实现的云应用开发工具;
• Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架; • spring boot使用了默认大于配置的理念,特别多集成方案差不多帮您选择好了,能不配置就不配置,
据操作工具,通过命令行方式
操作数据流。
1
经验 总结
Spring Cloud Stream:数据流 操作开发包,封装了与Redis, Rabbit、Kafka等发送接收消 息。
Spring Cloud CLI:基于 Spring Boot CLI,能够让您以命令行 方式快速建立云组件。
6
Spring Cloud Sleuth:日志收
Spring Cloud Consul:封装了 Consul操作,consul是一个服 务发现与配置工具,与 Docker容器能够无缝集成。
3
2
Spring Cloud Zookeeper:操 作Zookeeper的工具包,用于 使用zookeeper方式的服务 注册与发现。
45
Spring Cloud Data Flow:大数
水平扩展 耦合性低 分布式
硬件配置低 快速响应 业务内聚
单体架构的访问
用户模块 订单模块 产品模块 财务模块
…… …… 公共模块
微服务架构的访问
访问关系复杂
10、0.0.6:8001 订单
用户n
•
用户2
•
10、
•
用户1模块
100、.0.8:8002
10、00..00..71::88000022
•
PART 01 微服务介绍
PART 02
PART 03
持续集成持续构建 Devops介绍
微服务简介 更小
微服 务
更快
更强
”微”即是小
由一系列小服务组成
独立运行
每个服务运行于自己的独立进程
业务建模
围绕着业务功能进行建模
独立部署
每个服务独立部署
分散式管理
5
最低限度的集中管理
单体服务架构
Spring Cloud Netflix
针对多种Netflix组件提供的开发工具包, 其中包括Eureka、Hystrix、Zuul、 Archaius等。
Netflix Eureka
云端负载均衡,一个基于 REST 的服务, 用于定位服务,以实现云端的负载均衡
和中间层服务器的故障转移。
Netflix Hystrix
容错管理工具,旨在通过控制服务和第 三方库的节点,从而对延迟和故障提供更 强大的容错能力。
Netflix Zuul
边缘服务工具,是提供动态路由,监控, 弹性,安全等的边缘服务。
Netflix Archaius
配置管理API,包含一系列配置管理API, 提供动态类型化属性、线程安全配置操 作、轮询框架、回调机制等功能。
产品 10、0.0.5:8006
邮件
…… 10、0.0.3:8004
1、同一功能的微服务部署多个,如何访问配置?配置管理; 2、服务是否正常,怎么监控?即:服务的注册和发现; 3、怎么判断服务压力,压力大时怎么进行熔断?服务容错; 4、多态服务器的服务,怎么进行负载均衡;负载均衡,服务网关;
10、0.0.4:8005
Spring Cloud很大的一部分是基于Spring boot来实现
Spring Cloud组件 一
Spring Cloud Config
配置管理开发工具包,可以让你把配置 放到远程服务器,目前支持本地存储、
Git以及Subversion。
Spring Cloud Bus
事件、消息总线,用于在集群(例如, 配置变化事件)中传播状态变化,可与 Spring Cloud Config联合实现热部署。
Spring Cloud for Cloud Foundry
通过Oauth2协议绑定服务到 CloudFoundry,CloudFoundry是 VMware推出的开源PaaS云平台。
Spring Cloud组件 二
Spring Cloud Security:安全工 具包,为您的应用程序添加安 全控制,主要是指OAuth2。
Fetch Registries:获取注册列表信息
3
Eureka客户端从服务器获取注册表信息,并将其缓存在本地。客户
集工具包,封装了Dapper,
7
Zipkin与HTrace操作。
SpringCloud分布式开发五大神兽
服务发现
Netflix Eureka
客服端负载均衡
Netflix Ribbon
断路器
Netflix Hystrix
服务网关
Netflix Zuul
分布式配置
Spring Cloud Config
•
财务
•
10、0.0.2:8003
每个服务足够内聚,足够小,代码容易理解、开发效率提高 服务之间能够独立部署,微服务架构让持续部署成为估计; 每个服务可以各自进行x扩展与z扩展,而且,每个服务可以依照自 己的需要部署到合适的硬件服务器上; 容易扩大开发团队,可以针对每个服务(service)组件开发团队; 提高容错性(fault isolation),一个服务的内存泄露并可不能让整个系 统瘫痪; 系统不会被长期限制在某个技术栈上。
用户模块 订单模块 产品模块 财务模块
…… …… 公共模块
缺点:
可用性低,宕机全死
项目臃肿,代码量飙升,耦合性过大 服务器要求高
优点:
集中部署,运维容易 系统架构、业务架构简单,容易理解
微服务架构
用户
订单 产品
配置Baidu Nhomakorabea
邮件
财务 ……
缺点:
业务架构复杂
拆分粒度难以界定
部署维护困难
优点:
高可用 业务简单 支持异构
Eureka服务注册
Eureka的高级架构图
Register:服务注册
1
当Eureka客户端向Eureka Server注册时,
它提供自身的元数据,比如IP地址、端口,
运行状况指示符URL,主页等。
2 Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告 知Eureka Server该Eureka客户仍然存在,没有出现问题。 正 常情况下,如果Eureka Server在90秒没有收到Eureka客户的 续约,它会将实例从其注册表中删除。
Spring cloud与Spring Boot的关系
• Spring boot 是 Spring 的一套快速配置脚手架,能够基于spring boot 快速开发单个微服务,Spring Cloud是 一个基于Spring Boot实现的云应用开发工具;
• Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架; • spring boot使用了默认大于配置的理念,特别多集成方案差不多帮您选择好了,能不配置就不配置,
据操作工具,通过命令行方式
操作数据流。
1
经验 总结
Spring Cloud Stream:数据流 操作开发包,封装了与Redis, Rabbit、Kafka等发送接收消 息。
Spring Cloud CLI:基于 Spring Boot CLI,能够让您以命令行 方式快速建立云组件。
6
Spring Cloud Sleuth:日志收
Spring Cloud Consul:封装了 Consul操作,consul是一个服 务发现与配置工具,与 Docker容器能够无缝集成。
3
2
Spring Cloud Zookeeper:操 作Zookeeper的工具包,用于 使用zookeeper方式的服务 注册与发现。
45
Spring Cloud Data Flow:大数
水平扩展 耦合性低 分布式
硬件配置低 快速响应 业务内聚
单体架构的访问
用户模块 订单模块 产品模块 财务模块
…… …… 公共模块
微服务架构的访问
访问关系复杂
10、0.0.6:8001 订单
用户n
•
用户2
•
10、
•
用户1模块
100、.0.8:8002
10、00..00..71::88000022
•