用户案例 | 腾讯医疗资讯平台云原生容器化之路

跨模型的 API 调用与集成:使用 Spring AI 构建可移植的 API 代码,支持多个 AI 模型(如 OpenAI、Anthropic 等)的调用 Spring AI 是 Spring 生态系统中的一部分,旨在提供一种简单、可扩展的方式来集成人工智能模型。Spring AI 使得开发者可以使用现有的 Spring 体系结构方便地访问多种 AI 模型和服务,例如 OpenAI、Anthropic、HuggingFace 等。 阅读详情

医疗资讯业务在高速发展过程中,形成了覆盖不同场景、不同用户、不同渠道的几十个业务,以及上千个服务。为了高效满足用户多样化的需求,医疗技术团队通过 TKE 上云,使用 Coding DevOps 平台,以及云上可观测技术,来提升研发效率、降低运营运维成本。本文介绍我们在上云过程中一些实践和经验,以及一些思考和选择。

业务背景

  • stage1: 医疗资讯主要包括了医典、医生、医药等核心业务,其中医典主要提供医疗相关内容获取、医疗知识科普传递;医生满足医生和患者的互联;医药服务了广大药企。在业务发展过程中我们原来基于 taf 平台构建了大量后台服务,完成了初期业务的快速搭建。由于业务数量较多,大量业务有多地域的述求,最终我们在 taf 平台部署多个业务集群。这个时候发布、运维、问题排查纯靠人工阶段,效率较低。

业务上云

  • stage2: 随着业务规模的急速扩张,传统的开发、运维方式在敏捷、资源、效率方面对业务迭代形成较大的制约。随着公司自研上云项目推进,拥抱云原生化,基于 K8s 来满足业务对不同资源多样化需求和弹性调度,基于现有成熟 devops 平台来进行敏捷迭代,越来越成为业务正确的选择。医疗后台团队开始了整体服务上云的迁移。

  • 上云之前,还有几个问题需要考虑

​ 1:服务众多,代码如何管理

​ 2:上云后怎么快速进行问题定位、排查

​ 3:监控告警平台如何选择

​ 4:基础镜像怎么选择

关于服务代码管理

使用 git 做代码版本控制,按业务建立项目组,每个服务使用单独的代码仓库,仓库名使用同一命名规范。

关于问题排查

调研云上有成熟的 elk 服务,业务只需要把日志放到同一目录,通过 filebeat 采集后,通过 ETL 逻辑可以把日志方便导入 Elasticsearch。这样的做法还有个优点就是可以同时支持前后端服务日志的采集,技术较为成熟,复用了组件能力,通过在请求中埋点加入 traceid,方便在全链路定位问题。

关于监控告警平台

CSIG 提供了基于日志监控的 CMS 平台,将业务日志导入到 CMS 后,可以基于上报的日志配置监控和告警,监控维度、指标业务可以自己定义。我们采用了主调、被调、接口名等维度,调用量、耗时、失败率等指标,满足业务监控告警诉求。基于日志的监控可以复用同一条数据采集链路,系统架构统一简洁。

关于基础镜像

为了方便业务初期快速上云,以及统一服务启动、数据采集上报,有必要对业务的基础镜像进行处理,预先建立对应目录,提供脚本和工具,方便业务快速接入。这里我们提供了不同语言、版本的基础镜像,封装了 supervisord 和 filebeat,通过 supervisord 来拉起 filebeat 和业务服务。

Devops

  • stage2: 在上云过程中,也通过和质量同学逐步完善,将开发过程中原有人工操作的步骤 pipeline 化,来提高迭代效率,规范开发流程;通过单测和自动化拨测,提升服务稳定性。采用统一的流水线后,开发、部署效率从原来的小时级别降低到分钟级别。

这里主要使用了 coding 平台,为了区分不同环境,建立了开发、测试、预发布、测试四套不同流水线模板,还引入了合流机制来加入人工 code review 阶段。

在合流阶段:通过 MR HOOK,自动轮询 code review 结果,确保代码在 review 通过后才能进行下一步(不同团队可能要求不一样)。

在 CI 阶段:通过代码质量分析,来提升代码规范性,通过单元测试,来保证服务质量。

在 CD 阶段:通过引入人工审批和自动化拨测,提高服务稳定性。

资源利用率提升

  • stage3:在业务整体上云后,由于不少业务有多地域部署(广州、南京、天津、香港)的述求,加上每个服务需要四套(开发、测试、预发布、正式)不同的环境,上云后我们初步整理,一共有3000+不同 workload。由于不同业务访问量具有很大不确定性,初期基本上按照理想状态来配置资源,存在不少的浪费。

为了提高资源整体利用率,我们进行了一系列优化,大致遵循如下规范:

这里由于 HPA 会导致业务容器动态扩缩,在停止过程中如果原有流量还在访问,或者启动还未完成就导入流量,会导致业务的失败,因此需要需要预先开启 TKE 上 preStop 以及就绪检测等配置。

1:优雅停止,进程停止前等北极星、cl5 路由缓存过期;
入口:tke->工作负载->具体业务->更新工作负载
如果使用的服务发现是 CL5,推荐 preStop70s,北极星配置 10s 足够了

2:就绪、存活检测,进程启动完成后再调配流量;
入口:tke->工作负载->具体业务->更新工作负载,根据不同业务配置不同探测方式和时间间隔。

通过上面一系列调整优化,我们的资源利用率大幅提升,通过 TKE 上弹性升缩,在保证业务正常访问同时,局部高峰访问资源不足的问题基本解决,避免了资源浪费,也提升了服务稳定性;但多环境问题还是会导致存在一定损耗。

可观测性技术

  • stage4:初期使用基于日志的方式来做(log/metric/tracing),满足了业务快速上云、问题排查效率提升的初步述求,但随着业务规模增长,愈加庞大的日志流占用了越来越多的资源,日志堆积在高峰期成为常态, CMS 告警可能和实际发生时已经间隔了半个小时,ELK的维护成本也急剧上升。云原生的可观测技术已经成为必要,这里我们引入了 Coding 应用管理所推荐的可观测技术方案,通过统一的 coding-sidecar 对业务数据进行采集:

    ​ 

监控:云监控中台

日志:CLS

Tracing:APM

通过接入这些平台的能力,我们的问题发现、定位、排查效率有了极大的提高,业务的运营维护成本较大降低,通过监控、和 tracing,也发现了不少系统潜在的问题,提高了服务质量。

结尾

最后,要感谢上云过程中全体开发同学的辛勤付出,以及各位研发 leader 的大力支持。

抖音用户主页视频数据爬虫详解(点赞,收藏,分享等) 的包中有个max_cursor参数,请求载荷中也有一个这样的参数,每次请求的数据中max_cursor是下一个请求的载荷,,,同时has_more为1时候代表还能请求,0为不能请求,我们做如下判断。最后发现cookie很容易过期,批量爬取有点困难,,,,我们采用drissoinpage进行自动化获取。首先进行抓包分析,,,随便找个主页,f12,关键词搜索,发现这个包是以post开头。请你第一次运行先按0,进行登录(或者触发反爬的时候),登录完成之后,按1进行爬取,完整代码请在知识星球。 阅读详情

相关推荐

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

从医疗数字化转型谈何为中台

中台定义 中台,从字面意思上理解,是位于前台和后台之间。 但关于中台的定义也是百家杂谈,故小编参考网上两种阐述比较清晰的定义。 一、中台的定义:中台就是“企业级能力复用平台”; 企业级:定义中台的范围,区分开了单系统的服务化与微服务 能力:定义了中台的主要承载对象,能力的抽象解释了各种各样中台的存在 复用:定义了中台的核心价值,传统的平台化对于易复用性并没有给予足够的关注,中台的提出和兴起,让人们通过可复用性将目光更多的从平台内部转换到平台对于前台业务的支撑上 平台:定义了中台的主要形式,区别于传统的应用

增量星球 2016

零基础微信理财通基金实操指南(2026版)

先活下来:保证不亏大钱,再想赚钱慢慢变富:年化10%,7年翻倍,这已经很好了开始比完美重要:今天先存100元到零钱通,就是最好的开始现在打开微信,进入理财通,完成第一步风险测评吧!有任何问题可以随时问,我会用最通俗的方式解释。

老韩的Linux云计算架构师进阶之路 1683

中国医院需要什么样的数据中台?

中国互联网的今天,市值总和接近10万亿人民币,头部阿里巴巴、腾讯各有4000多亿美元市值。一方面市值熠熠,一方面互联网成为数据应用技术的发源地,数据中台也在其中萌芽。腾讯...

weixin_39640818的博客 2054

【AI深究】合成数据(Synthetic Data)深度解析:原理、算法与工程实践——全网最详细流程|核心原理、主流方法、数学表达、工程实践与细节、未来趋势|GAN、VAE、语言模型LLM合成如GPT

大家好,我是爱酱。本篇延续将会系统梳理合成数据(Synthetic Data)的核心原理、主流方法、数学表达、工程实践与未来趋势,结合数学公式,帮助你全面理解这一AI建模的关键技术。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 4909

从业10年的AI应用架构师:企业AI平台运营的4个核心经验,值得收藏

去年年底,我在某大型制造企业做AI咨询时,遇到了这样的场景:这不是个例。我接触过的10家企业中,有7家的AI平台都陷入了“技术自嗨”的陷阱——技术团队追求模型精度、功能完备性,却忽略了业务到底需要什么。如果你也遇到过类似问题:比如“模型准确率很高,但业务不买账”“AI项目上线后没人用”“投入产出比极低”,那么这篇文章的4个经验,可能会帮你避开这些坑。很多企业认为,AI平台就是“买一套工具+部署几个模型”。但实际上,企业AI平台的本质是“技术与业务的连接生态”:根据Gartner的报告,80%的企业AI项目失

AI 原生应用开发的博客 709

智慧医院新系统架构设计与建设

根据新一代医院信息系统(NGHIS)架构设计,结合最近几年互联网+医疗健康信息平台建设与运营经验,以一家二级医院拟升三级并达到电子病历应用4级评级的医院信息化建设为案例,总结建设方案。

孺子牛的博客 6689

BUG调试案例六:RK3568+国产YT8531网络PING调试案例

这次调试过程让我对后续类似问题的应对更加有信心。如果芯片在其他项目中已被验证可用,那么在我们的设计中原则上也应该能够正常工作。如果出现异常,就必须坚持追根溯源,找出具体原因和根本问题。每一次问题的解决,都是一次深入理解系统和提升能力的机会 —— 在不断探索和学习中,也在持续成长。

案例文章,高速信号 2326

腾讯后台开发面经(已拿offer)

是IEG搞数据库这一块的,据说平时研究是研究Mysql和rocksdb啥的。 文章目录一面二面hr面offer call 一面 自我介绍 问项目:由于自己的项目就是实现了一个小的数据库,于是就… 有趣的小问题(因为很少有面试官问编译原理的东西):自己实现的数据库是怎么判断这个关键字是否存在的 我: 语法分析后会把读出的id和已有id维护检查一下 面试官:那你应该是写了语义分析 我(内心os):原...

zxwsbg的博客 6321

model_optimizer将pi05端到端延时进一步优化到68.13ms了

目前在保持灵活性和性能之间找到一个较好的平衡。vit, llm仍然使用onnx->trt_engine的路径,量化可以通过https://github.com/NVIDIA/Model-Optimizer.git支持。同时支持通过cutedsl手写算子进行进一步优化denoise因为步数多,kernel launch多,因此完全通过手写融合算子实现,将所有steps进行一次大的cuda graph capture.

happyAnger6的专栏 57

智能驾驶辅助系统(ADAS)全解析:功能详解 + 技术原理 + 实战案例

智能驾驶辅助系统(ADAS)是现代汽车技术的重要组成部分,旨在提升驾驶安全性和便利性。本文详细解析了ADAS的多个功能模块,包括自适应巡航控制(ACC)、车道偏离预警/车道保持辅助(LDW/LKA)、前向碰撞预警/自动紧急制动(FCW/AEB)、盲区检测/变道辅助(BSD/BSM)、倒车影像、自动泊车辅助(APA)、交通标志识别(TSR)、自动远光控制(AHB)、后方交叉来车预警(RCTA)和驾驶员疲劳监测。每个功能模块都基于特定的技术原理,如毫米波雷达、摄像头、传感器融合和深度学习算法,以实现对车辆周围环

weixin_43199439的博客 2098

小程序开发与软件开发行业前景:技术融合与生态重构下的机遇

小程序开发与软件开发行业正站在技术革命的十字路口,低代码、AI、区块链等技术的融合将重塑产业格局。企业需以 “场景化创新 + 生态化布局” 为核心,在政策红利与市场需求中寻找平衡点,方能在数字化浪潮中抢占先机。

AiRJKF的博客 4576

第四部分:VTK常用类详解(第96章 vtkCaptionActor2D标题演员类)

VTK标题演员实现3D场景标注功能 摘要:vtkCaptionActor2D是VTK可视化工具包中的标题标注组件,提供混合2D/3D的文本标注功能。该组件通过连接线将文本标注与场景中的3D点关联,支持多行文本显示、自定义文本样式和动态定位。文章详细介绍了标题演员的设计原理、坐标系统控制方法、文本内容管理和大小自适应机制,并展示了在3D模型标注、数据可视化和交互场景中的典型应用。标题演员通过组合文本、边框和连接线组件,实现了灵活多样的场景标注方案,是科学计算可视化中重要的标注工具。

仰望星空的博客 255

5G、人工智能等热门话题云集,2019携程技术峰会将于11月9日在上海开幕

▼数据猿开启大型年终主题策划活动▼大数据产业创新服务媒体—聚焦数据·改变商业数据猿官网 | www.datayuan.cn【数据猿媒体矩阵】今日头条丨一点资讯丨腾讯丨搜狐...

数据猿 442

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

code-server docker容器部署

0.code-server前言 介绍 code-server就是能在服务器上运行的vscode在有浏览器的设备上进行访问,并且因为是在服务器上运行所以不用担心代码部署到服务器时不同环境造成的影响 关于code-server的部署,可以直接源码,可以文件,也可以容器部署,本文仅提供docker容器部署方法,其他方法请自行网上搜索。 部署 一、拉取镜像 docker pull codercom/code-server 指令将从dockerhub上拉取code-server的最新版本,如下图所示:

Ninen_Choi的博客 4883

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

云原生项目二

本项目基于MySQL8.0与开源大模型API,构建电商订单库智能查询与性能调优系统,实现自然语言转SQL、自动执行、执行计划分析及索引优化,无需专业SQL能力。在openEuler环境下完成网络配置、YUM源设置、时间同步、防火墙关闭及Python3.11编译安装,部署MySQL8.0.45并接入阿里云大模型API,最终通过Streamlit实现可视化交互,完成从环境搭建到AI智能运维的全流程落地。

zfm242397396的博客 188

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

从单体到云原生,自动化测试平台在微服务架构演进中踩过的坑

在当今软件开发中,自动化测试平台的构建已经不再局限于简单的功能实现,而是需要考虑到系统可扩展性、可维护性和稳定性。然而,在将一个自动化测试平台从单体架构演进为微服务,并最终迈向云原生的过程中,我们遇到了一系列问题与挑战。本文将结合自动化测试平台的实际场景,讲述在架构演进过程中遇到的典型问题与解决方案,希望能为准备跳槽或面试的技术人员提供一些真实经验参考。

后台模板 185

云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析

本文系统复盘企业网站上云部署与云运维实践:基于华为云构建LAMP架构,实现业务与数据分离;通过ELB+AS实现高可用与弹性伸缩;结合IAM、SMN、CTS、CES、LTS等运维服务,建立可观测、可审计、可告警的全链路管控体系,全面支撑云原生环境下的稳定运行与快速排障。

2604_96593683的博客 469

云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理

本文系统梳理容器技术演进脉络,从 chroot、Namespace 与 Cgroups 等 Linux 内核机制出发,揭示容器与虚拟机的本质差异。深入解析 Docker 的 C/S 架构、镜像分层原理及 OCI 标准,并通过实战完成 CentOS 环境下 Docker Engine 的定制部署,涵盖 YUM 源配置、镜像加速与远程访问设置,全面掌握容器全生命周期管理核心能力。

2604_96593683的博客 435

云原生运维实战笔记:华为云计算与网络类服务全景解析

本文系统梳理了公有云中计算类与网络类服务的实操全流程。计算部分覆盖 ECS 的创建、登录与规格变更,IMS 私有镜像制作与批量部署验证,以及 AS 弹性伸缩的配置与策略验证;网络部分覆盖 VPC 内互通与跨 VPC 隔离、安全组有状态包过滤、EIP 的 1:1 NAT 机制、ELB 负载均衡,以及跨 VPC 对等连接与 VPN 互通等场景。文中不仅记录了每一步的配置命令与执行结果,还结合虚拟化、NAT、包过滤等底层原理进行拓展剖析。

2604_96593683的博客 279

云原生运维实战笔记:华为云存储类服务全景解析——EVS、OBS、SFS与CBR深度实践

本文深度解析华为云EVS、OBS、SFS与CBR四大存储服务,涵盖块存储挂载、文件系统初始化、快照回滚及对象存储实操。通过Windows/Linux系统实战,掌握磁盘分区、格式化、自动挂载及数据保护机制;结合快照实现秒级数据恢复,验证EVS三副本高可靠架构;剖析OBS多层级存储策略与生命周期管理,全面呈现云原生环境下数据持久化与高效管理的完整解决方案。

2604_96593683的博客 449

云原生基础之Containerd容器运行时

本文介绍了云原生基础中的Containerd核心组件及其管理命令,涵盖镜像、容器、任务与命名空间的管理操作。通过ctr命令可实现镜像拉取、挂载、推送,容器创建与删除,任务启动、暂停及进程查看等。同时说明了Docker与Containerd的关系,指出Docker使用Containerd的moby命名空间,揭示了二者在容器技术栈中的协作机制。

我的梦想有多远,我就能走多远! 304

流量一涨 Pod 扩不出来?K8s HPA 弹性伸缩配置避坑指南

Kubernetes HPA弹性伸缩核心在于requests配置准确、metrics链路通畅、behavior策略合理。HPA基于requests计算CPU利用率,未配requests则显示<unknown>;默认15秒同步周期与metrics-server 60秒采集延迟导致扩容慢。生产级配置应启用behavior精细控制:扩容立即响应(stabilizationWindowSeconds:0),缩容设300秒防抖动,并显式设置selectPolicy:Min避免默认Max导致缩容过快。多指标

kguogao的博客 519

DevOps进阶

SonarQube 是开源代码质量管理平台,,支持 30+ 语言,对接 CI/CD 流水线提交即扫描。

fengkai4545的博客 128

DevOps 完整入门:瀑布、敏捷、CI/CD 核心概念通俗解析

敏捷开发(Agile Development) 的核心是*迭代开发*(Iterative Development) 与 *增量开发持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。**持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。**它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

weixin_63581562的博客 526

从瀑布到流水线:DevOps 入门与 GitLab + Jenkins + Docker 落地实践

先看清软件开发生命周期(SDLC)的全貌,再对比瀑布模型与敏捷开发,随后进入持续集成与 CI/CD 的机制内核;最后落到实操——在 GitLab、Jenkins、Docker 组成的四机实验环境里,走完源码托管、自动化构建、镜像封装与远程部署,直到参数化构建与版本回滚。概念与命令并重,既是入门地图,也是操作手册。

年轻的时候很穷,经过我多年的努力,终于不再年轻。 228
上一篇: 分布式缓存
下一篇: Kubernetes Deployment 源码分析(一)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值