DevOps 助力用友 BIP 数字化转型提能增效

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. DevOps助力用友BIP 数字化转型提能增效 用友技术架构师 / 邵书超
2.
3. 个人简介 邵书超,用友技术架构师,目前负责用友YonBIP云原生技术与产品 的架构和研发工作 擅⻓云计算、容器、DevOps和网络安全等领域 曾经负责多家企业的DevOps平台建设,微服务容器化迁移等工作
4. 目录 1. YonBIP的云原生架构 2. YonBIP基于Serverless的持续集成与交付系统 3. YonBIP的云机一体开发调试体系 4. YonBIP的哈勃监控中心
5. 用友BIP | 商业创新平台
6. 企业服务产业走到数智化新时代
7. YonBIP服务架构
8. CNP(云原生平台) • Gartner预测到2025年,对于数字化转型的基础,CNP将从2021年的 不到40%上升到95%以上 • CNP 运用云计算的核心能力,提供可扩展的弹性IP及相关能力服务, 从而加快价值实现并降低时间成本
9. YonBIP技术平台(iuap)发展历程
10. iuap支撑YonBIP实现数字化转型
11. 目录 1. YonBIP的云原生架构 2. YonBIP基于Serverless的持续集成与交付系统 3. YonBIP的云机一体开发调试体系 4. YonBIP的哈勃监控中心
12. 流水线支撑YonBIP云上云下持续交付
13. 持续集成与交付(CICD)系统面临的挑战
14. YonBIP技术平台的解决方案
15. 云原生流水线架构示意图 • 定义Pipeline, Task, PipelineRun等CRD描述Task, 流水线, 流水线执行实例等 • 使用自定义控制器调度和管理流水线的执行 • 流水线的每一个步骤,对应一个Task,以Pod的 形式运行于专⻔的用于构建的K8S集群中
16. 流水线运行流程图
17. 目录 1. YonBIP的云原生架构 2. YonBIP基于Serverless的持续集成与交付系统 3. YonBIP的云机一体开发调试体系 4. YonBIP的哈勃监控中心
18. 云原生架构下的微服务调试面临的挑战 • 由于本地网络和Pod网络一般不通,必须将用于调试的Pod以 NodePort的方式暴漏出来,而Nodeport会占用集群内所有主机 的端口,这样增加了端口冲突的可能性,增加了集群的运维成本 • 如果没运行服务的Pod开启调试端口,当此Pod出问题时,会 阻塞整个系统的可用性;如果单独开启专⻔的用于调试的Pod,则 会占用过多的云计算资源 • 每次代码修改都需要通过流水线发布到云上,效率低下
19. YonBIP的云机一体解决方案 • 云:运行微服务的,运行于云端的K8S集群 • 机:运行开发调试中的微服务的本地机器 • 云机一体:将本地机器“接入”位于云端的K8S集群, 以方便进行高效的本地调试
20. 远程调试与云机一体本地调试对比
21. 传统本地调试与云机一体调试流程对比
22. 云机一体特性
23. 云机一体实现原理 • 注册中心多版本注册:注册中心支持多版本注册, 可以区分云上版本和本地版本。 • 注册中心多IP注册:支持本地网卡多IP注册,以适配 VPN使用场景;支持Ingress域名注册,支持从本地仿 问Pod • 调试标识:浏览器通过cookie标识请求为调试流量, 此调试标识与本地服务的版本号匹配 • 流量转发:通过Nginx Ingress Controller的lua插件, 通过请求携带的cookie标识查询本地IP地址并进行转发 • 标识传递:RPC/REST调用必须持续向下传递调试 标识,以支持服务的多级联调
24. 使用流程
25. 使用示例
26. 目录 1. YonBIP的云原生架构 2. YonBIP基于Serverless的持续集成与交付系统 3. YonBIP的云机一体开发调试体系 4. YonBIP的哈勃监控中心
27. YonBIP哈勃(Hubble)监控中心 - 四大⻆色工作台
28. IT管理工作台 主机资源监控列表 主机资源监控详情
29. 运维工作台 告警列表 告警详情:包括火焰图, JVM性能分析等数据
30. 开发工作台 慢SQL查询 业务日志查询
31. 开发工作台 Hubble链路录制 Hubble分析报告
32. 性能工作台 - 火焰图 火焰图生成示例,可手工 触发,也可由报警触发
33. 故障诊断实践 - 发现问题 CPU/内存占满 K8S事件监控: Pod重启
34. 故障诊断实践 - 慢SQL分析 根据慢SQL分析可以查出故障发生期间的慢SQL语句
35. 故障诊断实践 - 访问日志分析 根据Ingress访问日志可以 得知大量状态码为499的 请求,其代表服务端响应太慢, 客户端不再等待
36. 故障诊断实践 - 业务日志分析 根据业务日志的查询分析, 此服务有大量的sql查询异常。 至此基本可以认为是大量的 SQL查询将CPU和内存打满
37. 故障诊断实践 - 火焰图分析 通过性能工作台的火焰图功能,确实可以发现此服务产生了告警 并触发生成了火焰图
38. 故障诊断实践 - 火焰图分析 观察此火焰图你能得出什么结论? 1. 一个大粗柱子上面两个大平顶,而且是两个不怎么耗CPU的操作,分别是 long tostring和hashmap get,说明整个进程的绝大多数CPU时间都花在这里了。 这就是一个典型的死循环的火焰图构型。 2. 此火焰图共采样32000次,录制时⻓60s,采样频率100Hz,32000/60/100, 说明此时大约6个线程在这个死循环里。而此实例正好6个核,说明此进程基本 消耗了此实例所有的CPU资源。 3. 由此导致sql查询都变成慢查询并有大量连接超时。 4. 根据火焰图显示的调用链,可以迅速定位到相关代码。对于此问题,是由于 SQL查询没有设置相应的约束,导致返回大量的数据;而接下来的代码对这些 数据进行遍历导致了问题的发生。 5. 问题的解决: 给出问题的SQL查询加上相应的约束以返回期望范围的数据。
39.
40.

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 09:59
浙ICP备14020137号-1 $Carte des visiteurs$