我们如何构建血糖追踪器:在亚马逊云科技上逐步实现单体架构

发布日期:2026-06-08 10:01:56   浏览量 :3
发布日期:2026-06-08 10:01:56  
3

今天,我想与大家分享 GlucoTracker 项目背后的技术细节。

当我们从零开始创建应用程序时,经常面临如何以及在哪里部署它们的决策。在这篇文章中,我想带大家深入了解这个项目,从我们要解决的问题,到为什么我决定采用基于亚马逊云科技的传统云架构,包括成本、挑战和收获。

GlucoTracker 为何诞生?

在玻利维亚,许多糖尿病患者仍然手动监测他们的血糖水平。这意味着数据分散,有时记录在纸上,这使得几乎无法及时检测到超出正常范围的数值,也无法快速与医生共享这些信息。传统系统通常缺乏可扩展性,并且不提供安全或实时的存储功能。

GlucoTracker 究竟是什么?

GlucoTracker 是一个云端血糖监测系统。它允许:

  • 患者安全地记录他们的血糖水平。

  • 医生实时查看患者的病史。

  • 当记录的值超出正常范围时,自动生成警报。

  • 管理不同的角色:支持人员、患者和医生。

亚马逊云科技上的系统架构

对于最小可行产品而言,目标不仅仅是拥有一个能运行的应用程序,而是验证一个安全且可访问的云架构。我们选择了容器化的单体架构。我们没有采用微服务,而是决定保持对运行环境的控制。

流程相当直接:

  • 用户通过浏览器访问前端(使用 Angular 开发)。

  • 前端通过超文本传输协议与我们的后端(使用 Node.js 和 Express 构建)进行通信。

  • 前端和后端都生活在同一虚拟实例上,并使用 Docker Compose 进行编排的容器中。

  • 根据请求的不同,后端会查询关系型数据库或与我们的文件存储进行交互。

使用的亚马逊云科技服务

为了确保可用性并将应用程序的“状态”与“计算”分离,我们使用了以下服务:

  • 亚马逊弹性计算云(t3.small 类型):我们使用一个虚拟实例来托管前端和后端的 Docker 容器。我们选择亚马逊弹性计算云是因为它让我们完全控制环境,并且得益于 Docker,极大地简化了部署过程。

  • 亚马逊关系数据库服务(PostgreSQL):我们在这里存储用户、血糖记录和警报。将数据库与亚马逊弹性计算云实例分离,确保了即使网络服务器宕机,医疗数据仍然完好无损且可用。

  • 亚马逊简单存储服务:我们用它来保存用户的个人资料照片以及医生的敏感文档,如执业资格证和身份证。亚马逊简单存储服务提供了高耐久性,而不是让亚马逊弹性计算云的磁盘饱和。

  • 亚马逊云科技身份和访问管理及安全组:这是安全层。我们为亚马逊弹性计算云实例分配了一个身份和访问管理角色,赋予其严格的权限(仅允许上传对象和删除对象)以与亚马逊简单存储服务交互,从而避免在代码中硬编码凭证。此外,亚马逊关系数据库服务中的数据库受到安全组的保护,该安全组仅接受来自亚马逊弹性计算云实例通过 5432 端口的流量。

资金:系统成本

作为开发者,我们总是担心让服务一直运行,结果第二天早上收到一张巨额账单

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 订阅 数据