构建互联网医疗平台的Devops应用架构

本文涉及的产品
AI 网关免费试用,400元 Serverless
简介: 构建互联网医疗平台的Devops应用架构

构建互联网医疗平台架构平台,我们尝试了用DevOps的方式,这个跟实际情况有直接关系。我们当时的技术场景比较多,业务场景极其复杂。


后端


是Spring cloud构成的微服务,postgresql作为主数据集库支撑互联网医院和互联网医疗业务中台两个平台的业务数据,redis作为用户会话存储,RabbitMQ作为业务预约队列使用,netty作为即时消息通讯使用。统一由openresty的api网关与客户端交互。


后端架构图比较庞大,抽时间再画。


前端


形态更为复杂,前期研发app,分为两端,患者和医生,统一使用flutter减少业务开发的工作量(不过也带来了对flutter技术深入适配调试的工作量),后期又增加了H5的微信公众号,以及小程序。


2021031921314055.png


集成环境


需要形成互联网医院->医疗中台->医院HIS的三端接口集成和数据协作,实现互联网处方和支付,可以直接同步至医院HIS。


20210319213140349.png


产品场景


产品面向的是不限制医院数量的架构,也就是可以通过配置,不断接入更多的医院进入互联网医疗平台,并且实现医疗HIS系统的对接,支付缴费的协同。


20210319213140567.png


云端使用N o.1云,后期根据业务需求又纳入了其他云(区域医疗的独立运营需求导致),因此云端部署复杂度非常高!


20210319213140950.png


微服务


这个过程中我们的架构设计首先要解决的就是发布问题,微服务的使用是必须的,因为业务场景过于复杂,面向的客户特别多,单体统一发布就是一种灾难,但好处是医疗业务的应用架构形态比较清晰,很容易进行微服务的模块化划分,这样我们就形成了多个粒度适中的微服务。


20210319213141284.png


**部署 **


过程微服务和api网关都分成两个版本同时在云端运行,一个是Test,一个是Prod。为什么要使用这种形式呢?因为在复杂的业务与计算环境中,我们的测试环境尽量贴近实际生产环境是最好的,否则,测试出的系统如果上线,会因为生产环境的各种特殊情况而出现严重bug,那么这个过程中的反复回归测试,会导致大量的时间浪费,影响上线。


还有就是测试与生产差异过大的环境,会导致发布工程的过程涉及到的工程师之间交流更多,出现的实际变数更大,协调成本也就更高,甚至导致重复性再配置,再测试的循环煎熬。


20210319213141589.png


我们的目标是Test环境的微服务进行严格的测试后,达到生产级别的需求和质量后,只需要push到生产环境的升级版本,再次经历升级版本的测试确认后,api网关对生产环境的指向更新到最新版本。


图库


另外API网关还有下一级的nginx,主要为前端H5提供发布服务和图片下载服务,一方面互联网医疗的患者图属于隐私级别,因此必须通过细粒度的用户/图对应关系形成ACL权限访问表进行健康图的访问控制;另一方面为了提升图访问的并发性能,API网关负载了通过2台图代理服务,代理服务通过LUA脚本访问数据库对当前回话用户进行ACL鉴权后,才可连接OSS访问健康档案图。


20210319213141781.png


最麻烦的还是app的应用商店发布问题,一方面苹果的审核慢,第二方面有些内容审核过程必须屏蔽,否则很难通过,因此这也是生产环境必须使用多版本,尤其增加了审核版本,这与最终升级版本是不同的,那么即便是android版本发布成功了,也不能直接提供最新功能,否则影响ios用户的使用,必须等待ios审核完成。


实际上网关很难在这个问题上独立实现统一版本调整,所以还要依赖app和后端版本管理进行一定的审核过程协调适配,审核未完成时仍要保持微服务的老版本,当审核成功后,APP版本再与后端保持一致的动态升级,网关、H5也需要配合升级。这个过程往往出现在重大功能的升级过程。为了防止客户使用出现严重抖动,所以很难想象没有前后端开发、测试与QA、运维工程师的协同配合会是什么情况。


所以整个系统的后端从基础软件、微服务统一使用docker部署,后端工程师和运维工程师对docker的发布管理基本上直接在docker管理工具中完成,也就是dev push -> test push -> prod version+1 -> api gateway redirect的devops流程,达到开发、测试部署、测试环境测试、生产版本升级、成产版本测试、网关重定向的过程。


相关文章
|
4月前
|
SQL 监控 关系型数据库
MySQL主从复制:构建高可用架构
本文深入解析MySQL主从复制原理与实战配置,涵盖复制架构、监控管理、高可用设计及性能优化,助你构建企业级数据库高可用方案。
|
4月前
|
数据采集 运维 监控
构建企业级Selenium爬虫:基于隧道代理的IP管理架构
构建企业级Selenium爬虫:基于隧道代理的IP管理架构
|
4月前
|
人工智能 监控 测试技术
告别只会写提示词:构建生产级LLM系统的完整架构图​
本文系统梳理了从提示词到生产级LLM产品的八大核心能力:提示词工程、上下文工程、微调、RAG、智能体开发、部署、优化与可观测性,助你构建可落地、可迭代的AI产品体系。
721 51
|
4月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
1290 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
3月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
340 6
|
4月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
4月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
4月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
620 0
|
4月前
|
传感器 人工智能 算法
分层架构解耦——如何构建不依赖硬件的具身智能系统
硬件与软件的彻底解耦,并通过模块化、分层的架构进行重构,是突破这一瓶颈、构建通用型具身智能系统的核心基石。这种架构将具身智能系统解耦为三个核心层级:HAL、感知决策层和任务执行层。这一模式使得企业能够利用预置的技能库和低代码工具快速配置新任务,在不更换昂贵硬件的前提下,实现从清洁机器人到物流机器人的快速功能切换。本文将通过对HAL技术原理、VLA大模型和行为树等核心技术的深度剖析,并结合Google RT-X、RobotecAI RAI和NVIDIA Isaac Sim等主流框架的案例,论证这一新范式的可行性与巨大潜力,探讨硬件解耦如何将机器人从一个“工具”升级为“软件定义”的“多面手”,从而
827 3
|
3月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。