微服务应用平台TSF的建设与实践之路-EE session-现场完整版

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 腾讯微服务应用平台 TSF 的建设 与实践之路 刘冠军
2. 讲师简介 请插入 您的照片 刘冠军 腾讯云微服务中心售前负责人 专家工程师 ee.msup.com.cn
3. 目录 微服务平台的挑战 微服务平台的选型 企业级微服务平台的关键技术 ee.msup.com.cn
4. 微服务的前世今生 集中式系统 分布式系统 堆栈选择一 堆栈选择二 传统 scale-up 技术堆栈 一个简化的技术堆栈视图 原生云 scale-out 技术堆栈 单体 / 瀑布式开发 应用架构 微服务 / 敏捷开发 交易类 业务形态 多元化 实时一致 数据架构 最终一致 集中式原则、不频繁 部署原则 分布式原则、频繁复杂 商用软件为主 基础架构 – SW 开源 / 商业软件 Scale-up 的硬件 为主 基础架构– HW Scale-out 的硬件 为主 需求较低 基础架构– Facilities 需求更高 需求和供给在减少 技能 需求和供给 需求和供给在增加 高额的闭源软件费用 主要成本 人力成本 闭源 SLA ee.msup.com.cn 开源 云 资源与能力复用 云原生 过程自动化
5. 自建微服务平台的挑战 选择技术路线后,完整技术平台搭建,需要自建或开发以下功能,进行微服务平台的整体建设 持续 发布 持续 集成 项目 管理 需求 管理 ee.msup.com.cn 频率 控制 ID 生 成 Servi ceMe sh 读写 分离 消息 队列 分布 式缓 存 数据 库 慢查 询分 析 资源 管理 任务 调度 配置 管理 调用 权限 容灾 集群 管理 版本 管理 服务 框架 事务 管理 灰度 发布 就近 访问 跨集 群访 问 容器 调度 容错 弹性 伸缩 限流 时序 数据 库 运行 时 降级 API 网关 全链 路 Traci ng 分布 式日 志 依赖 分析 全链 路压 测 API 治理 监控 熔断 管理 告警
6. 客户对微服务平台的期望 自建微服务的平台挑战 与云优势结合 将复杂的组件运维托管给云服务,享受微服务平台的便利 需要长期的大量研发投入、时间、资源很大,学习成本高,影响业务的发展时机。 4 新老技术结合, 统一平台难度大 按需使用的服务 复杂的服务治理 3 • 线上业务的严格要求 2 组件选择和安装部 署 1 • 多种注册发现、分布式配 置、日志、开源组件选择 • 软硬件环境适配、选型安 装部署调试、调优 ee.msup.com.cn 等 • 方便的开发接入能 安全保障 • 高可用保障 • 运维监控 • 多组件的资源的保障 、服务扩缩容 • 与调用链、容器等 集成的能力 Spring cloud 、 Service 鉴权限流路由熔断 力 • • mesh 、 dubbo 等语 专注于 言技术或旧系统需要 业务自身 兼容 • 完整的商业产品 竞争对手的发展速度 持续的技术支持
7. 微服务技术系统化视角 ee.msup.com.cn
8. 微服务平台的选型(全栈 or 组合?) 全栈式 • 使用标准化 • 技术多元化 • 能力全栈化 组合式 • 组件可插拔 • 运维托管化 • 资源弹性化 ee.msup.com.cn
9. 腾讯云微服务全栈平台 TSF TSF 兼容多微服务框,基于开源增强 能力,提供全面微服务治理、业务的 全周期管理以及性能优化和数字化运 微服务网关 维等全栈微服务能力。 API 鉴权 API 调试 API 限流 API 分组 API 监控 访问重定向 微服务框架 日志采集 日志转存储 日志检索 服务 E 服务 N sdk/sidecar sdk/sidecar sdk/sidecar 注册中心 流控中心 日志配置 日志关联告警 日志查看 应用监控 服务 R 服务监控 配置中心 自动注册发现 服务熔断与降 级 流控与路由 动态配置 鉴权与调用安 全 监控与跟踪 资源监控 服务告警 部署组告警 JVM 监控 容器与虚机适配管理 集群管理 ee.msup.com.cn 容器管理 镜像管理 变更管理 应用部署 程序包管理 弹性伸缩 应用生命周期 管理
10. 微服务支撑组件 HTML 除了您的业务服务外,通常您还需要这几种微服务支撑组件 注册 / 治理中心 网关 观测组件 注册中心会记录服务和服务地 集中管理分散在各个微服务中 作为沟通外部客户端服务与内 通常包括:指标监控、日志、 址的映射关系,检查各微服务 的配置,确保配置与应用分离 部后端微服务的桥梁,外部请 调用链,用于观测微服务系统 的健康状况。结合注册中心提 ,提供实时更新配置的能力让 求发送到网关上后,由网关进 运行状况,及时发现业务故障 供的开发工具包,还可实现包 开发者灵活方便的管理多环境 行路由转发、负载均衡、安全 ,帮助开发运维人员快速排查 括路由、熔断、降级等业务所 、多命名空间的业务配置。 认证、数据转换等。 、消除业务故障。 需的高阶治理能力。 ee.msup.com.cn 配置中心
11. 微服务引擎 TSE (北极星) HTML 微服务引擎提供各类微服务组 件的一站式托管服务,提供多 种常用业务支撑服务组件。 注册 / 治理中心: ZK/Eureka/ 北极星 配置中心: Apollo 网关: SCG/Zuul (建设中) ee.msup.com.cn
12. 微服务引擎 TSE (北极星) HTML 微服务引擎提供各类微服务组 件的一站式托管服务,提供多 种常用业务支撑服务组件。 注册 / 治理中心: ZK/Eureka/ 北极星 配置中心: Apollo 网关: SCG/Zuul (建设中) ee.msup.com.cn
13. 企业级微服务平台关键技术 — TSF 为例 应用管理 数据化运营 服务注册发现 用户 VPC 微服务 应用 ee.msup.com.cn 用户 VPC 用户 VPC 微服务 应用 mesh 应 用 mesh 应 用 mesh 应 用 mesh 应 用
14. 海量调用的起始—微服务 ee.msup.com.cn
15. 微服务之间怎么互相发现? Service A(consumer) ee.msup.com.cn Service B(provider)
16. 原生 Consul 的能力与限制 Consul 的一些限制 ee.msup.com.cn 多租户 隔离性 授权 namespace
17. 实现多租户 Service Instance Service Instance Service Instance Service Instance Service Instance 如何实现多租户 • 服务注册请求被翻译成 KV Consul- Access Consul- Access Consul- Access 请求,存储在 Server 上 • 心跳请求被翻译成 KV 请求 ,存储在 Server 上 SERVER ( FOLLOWER ) SERVER SERVER (LEADER) (FOLLOWER) • 服务发现请求会将服务注册 的 KV 内容和心跳 KV 内容合 并返回 ee.msup.com.cn
18. 透明地生成租户信息 Service Instance 查询 Token 对 应的信息 Consul- Access • Token 对应的最大允许实例 Token Server 数 • Token 对应的租户前缀 • Token 对应的 Namespace • … SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) ee.msup.com.cn
19. 性能优化 I Service A Instance * 100 Service A Service A Service A Instance * 100 Service A subscribe service B subscribe service C … Service A Service A Service A subscribe service B subscribe service C … Consul-Access Consul-Access Consul-Access SERVER (LEADER) Connection count : (subscribed service num) * service instances num SERVER (LEADER) Connection count : (subscribed service num) * access server num ee.msup.com.cn
20. 性能优化后依然到了瓶颈怎么办? Service A Service A Service A Consul-Access Consul-Access Consul-Access SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) ee.msup.com.cn SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) SERVER SERVER (LEADER) SERVER (LEADER) (LEADER)
21. 性能优化 II ee.msup.com.cn
22. CP 系统如何做到高可用? Service Instance 服务发现 • 改为 watch 机制 • 增加本地缓存 • 零实例保护 心跳上报 SERVER (LEADER) ee.msup.com.cn • 减少 timeout • 增加重试机制
23. CP 系统如何做到高可用? Service A Service A Service A Access 层通用高可用建 设 Consul-Access Consul-Access Consul-Access • 重试机制 (1/2 + 1 次 ) • 减少 timeout • 增加兜底集群 • 集群探测 agent 服务发现 SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) SERVER SERVER (LEADER) SERVER (LEADER) (LEADER) 兜底集群 ee.msup.com.cn • 异常保护 • 零实例保护
24. 微服务之间如何互相调用? API 调用 Feign Ribbon Http Client Service Instance ee.msup.com.cn Service Instance Service Instance Service Instance Subscri be Instance List Consul Cluster Consul Consul Consul
25. 基于开源我们还能多做些什么? Fallba ck API 调用 Feign Hystrix Command Retry & Timeo ut Ribbon Http Client Service Instance ee.msup.com.cn Service Instance Service Instance Service Instance Subscri be Instance List Consul Cluster Consul Consul Consul
26. 更细粒度的降级 Http Client Ribbon Http Client Service Instance Service Instance Service Instance 记录请求状态 剔除不可用实例 • 成功失败 • 响应时间 Resilience4j State Machin e ee.msup.com.cn 获取可用实例列表
27. 更细粒度的降级 Http Client Ribbon Http Client Service Instance Service Instance Service Instance 记录请求状态 剔除不可用实例 • 成功失败 • 响应时间 Resilience4j State Machin e ee.msup.com.cn 获取可用实例列表
28. 如何升级应用? 优雅下线 优雅发布 Consul Cluster Consul Cluster Consul Consul Consul Consul Consul Consul • Readiness probe • 检测该实例 ID 是 否注册到 Consul 上 Service Instance ee.msup.com.cn Service Instance Service Instance • 将状态置为 ready Service Instance Service Instance Service Instance
29. 构建能支撑海量调用的微服务系统需要哪些组件? ee.msup.com.cn
30. TSF 认证资质及落地客户 ee.msup.com.cn
31. 关注 msup 公众号 获取更多工程效能实践案例

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-26 03:26
浙ICP备14020137号-1 $Map of visitor$