只需三步,即可使用 Kafka 托管服务快速部署微服务架构应用

微服务架构的应用程序的特点是将其组件组织得能够独立地进行开发、测试、部署和扩展。DigitalOcean App Platform(应用平台)的目标是通过允许用户在同一应用上添加多个组件,简化这一架构模型,使其更加平滑和易于管理。

一个简单的微服务架构应用程序可能有两个组件:

  1. 网络服务 API :接收请求并向分布式事件处理平台(如 Kafka)发布信息,并立即向用户返回响应,无需等待处理完成。用户随后可以轮询响应状态。这种模式在响应用户请求方面提供了更好的用户体验。该组件可以作为服务组件类型部署在 App Platform 中。
  2. 后端处理服务 :用于监听来自分布式事件处理平台的事件。该组件可部署为工作组件类型,负责接收消息并执行满足用户请求所需的业务逻辑。

这种类型的微服务架构允许开发者分别根据应用需求来扩展网络服务API(生产者)和后端处理服务(消费者)。例如,后端服务处理可能需要大量CPU资源,因此可以从基于需求自动扩展的专用CPU(Dedicated CPU)实例中获益。另一方面,网络服务API可能在具有固定2个规模的共享CPU(Shared CPU)实例上表现良好,以此来实现冗余。

托管的 Kafka 集成

App Platform 支持具有多个组件的应用程序,实现了微服务架构所需的生产者和消费者模式。通过与DigitalOcean Kafka 托管服务的无缝集成,我们进一步简化了开发人员的开发过程。有关集成的更多详情,请参见文档。

App Platform 的 Kafka 集成允许你将 Kafka 实例附加到应用程序,并简化连接 Kafka 所需的环境变量配置。这样,你就可以专注于构建应用程序,而不必担心基础设施的设置。

我们的目标是尽可能简化操作,具体步骤如下。请尝试一下,并告诉我们你的想法!

第 1 步 - 配置托管 Kafka 实例

有关如何部署托管 Kafka 的说明,请点击此处。要发布和消费消息,还需要创建一个topic。

第 2 步 - 部署应用程序

请按照以下步骤部署您的应用程序,并测试其功能。同时也可以参考我们在 github 提供的代码。

  1. 生产者

你可以在软件仓库的 /producer 目录中找到生产者。生产者是一个 HTTP API,它将请求体发布到 Kafka,并且还包括一个网络接口,可通过 HTTP 请求来生成信息。

  1. 消费者

你可以在 /consumer 目录中找到消费者。消费者是一个监听来自 Kafka 的事件并打印信息的工作程序。

  1. 托管 Kafka

这是第1步中创建的托管 Kafka 实例。

下面是你的应用程序的外观。请注意,生产者是一个网络服务,消费者是一个工作程序。

此外,为了确保你的应用程序能正确连接到 Kafka,需要使用以下环境变量。

复制代码
Unset
KAFKA_BROKER=
${kafkaocean.HOSTNAME}:$
{kafkaocean.PORT}
KAFKA_USERNAME=${kafkaocean.USERNAME}
KAFKA_PASSWORD=${kafkaocean.PASSWORD}
KAFKA_CA_CERT=${kafkaocean.CA_CERT}
KAFKA_TOPIC=datastream

第 3 步 - 测试您的应用程序

示例应用程序中包含一个网络用户界面,用于生成信息。你在用户界面中输入的文本可以在消费者组件的运行日志中看到。

下一步是什么?

为了持续提升你所获得的价值,我们发布了与 App Platform 的托管 Kafka集成测试版。但我们不会就此止步!我们将研究如何确保 Kafka 与应用程序连接的安全性,以及如何改善环境变量设置的用户体验。

目前,我们建议使用专用 IP 来确保你的托管 Kafka实例只接受来自应用程序的连接。

你有进一步改进集成的想法吗?请联系DigitalOcean的合作伙伴------DigitalOcean中国区独家战略合作伙伴卓普云。有关 App Platform 特性和功能的详细信息,请访问App Platform 产品页面。

相关推荐
ESDWAN2 小时前
企业跨境网络合规建设指南:从线路选择到数据出境的全流程方案
网络·架构
用户5372312882462 小时前
从一句话到水密 STL:给科研工具装 LLM Agent 的安全架构实录
架构
沫璃染墨3 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
用户5708462574403 小时前
AI 会话该什么时候重开?一份「上下文卫生」的判断清单
架构
励志不掉头发的内向程序员3 小时前
从鼠标点击到画出一条线:CAD 交互层的状态机设计
后端·架构
bullkingluo3 小时前
从零到一搭建企业级智能问答系统:Ch14 · 三层记忆与断点续跑
架构·llm·agent
400分3 小时前
从零到「机械臂会放试管」:π0.5 VLA 真机部署完全指南(第二节)
人工智能·架构
滑翔的企鹅3 小时前
从真实系统看 CMS 与知识内容平台的架构演进
架构
黑妹天下第一乖3 小时前
第 04 讲:阿加犀 AIMO 模型优化平台与 Model Farm 模型广场实战
人工智能·嵌入式硬件·矩阵·架构·iot
HLAIA光子3 小时前
RAG Chunks 切分优化后成本骤降 86%
后端·性能优化·架构