赞
踩
微服务架构的应用程序的特点是将其组件组织得能够独立地进行开发、测试、部署和扩展。DigitalOcean App Platform(应用平台)的目标是通过允许用户在同一应用上添加多个组件,简化这一架构模型,使其更加平滑和易于管理。
一个简单的微服务架构应用程序可能有两个组件:
这种类型的微服务架构允许开发者分别根据应用需求来扩展网络服务API(生产者)和后端处理服务(消费者)。例如,后端服务处理可能需要大量CPU资源,因此可以从基于需求自动扩展的专用CPU(Dedicated CPU)实例中获益。另一方面,网络服务API可能在具有固定2个规模的共享CPU(Shared CPU)实例上表现良好,以此来实现冗余。
App Platform 支持具有多个组件的应用程序,实现了微服务架构所需的生产者和消费者模式。通过与DigitalOcean Kafka 托管服务的无缝集成,我们进一步简化了开发人员的开发过程。有关集成的更多详情,请参见文档。
App Platform 的 Kafka 集成允许你将 Kafka 实例附加到应用程序,并简化连接 Kafka 所需的环境变量配置。这样,你就可以专注于构建应用程序,而不必担心基础设施的设置。
我们的目标是尽可能简化操作,具体步骤如下。请尝试一下,并告诉我们你的想法!
有关如何部署托管 Kafka 的说明,请点击此处。要发布和消费消息,还需要创建一个topic。
请按照以下步骤部署您的应用程序,并测试其功能。同时也可以参考我们在 github 提供的代码。
你可以在软件仓库的 /producer
目录中找到生产者。生产者是一个 HTTP API,它将请求体发布到 Kafka,并且还包括一个网络接口,可通过 HTTP 请求来生成信息。
你可以在 /consumer
目录中找到消费者。消费者是一个监听来自 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
示例应用程序中包含一个网络用户界面,用于生成信息。你在用户界面中输入的文本可以在消费者组件的运行日志中看到。
为了持续提升你所获得的价值,我们发布了与 App Platform 的托管 Kafka 集成测试版。但我们不会就此止步!我们将研究如何确保 Kafka 与应用程序连接的安全性,以及如何改善环境变量设置的用户体验。
目前,我们建议使用专用 IP 来确保你的托管 Kafka 实例只接受来自应用程序的连接。
你有进一步改进集成的想法吗?请联系DigitalOcean的合作伙伴——DigitalOcean中国区独家战略合作伙伴卓普云。有关 App Platform 特性和功能的详细信息,请访问 App Platform 产品页面。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。