事件驱动的微服务架构

时间:2019-01-25 04:53:30

标签: rest apache-kafka microservices google-cloud-pubsub event-driven

我是事件驱动微服务的新手,也是微服务本身的新手。我正在使用的系统不是很大,它处理一堆文件,然后根据数据调用不同的服务。因此,在我看来,一个好主意是将这些消息发送到pub / sub队列,对其进行处理并将它们发送到相关主题,而不是让服务调用其他服务来完成这项工作,然后将每个服务订阅一个或多个主题,每隔几分钟,这些服务中的每一个都会拉出他们订阅的消息并发挥作用。如果您想强制执行而不必等待,则还可以通过休息暴露该服务。
像这样的设计的最佳方法是什么?我想念什么? Spring可以实现这样的功能吗? (我认为每个微服务都可以是一个春季启动应用程序)。我当时计划使用GCP的Pub / Sub,但听说过Apache Kafka,但是我不知道Kafka如何在Pub / Sub无法做到的地方或如何将Pub / Sub与之集成。

1 个答案:

答案 0 :(得分:1)

与GCP融合的合作伙伴,如果您想在GCP上运行托管的Kafka,则可以使用Confluent Cloud。

是的,您可以通过Kafka Connect-https://github.com/GoogleCloudPlatform/pubsub/tree/master/kafka-connector

使用PubSub和Kafka

如果您想要一堆简朴的微服务,最好投资学习服务网格,并且https://layer5.io/列出了几种选择,Kubernetes可以广泛地帮助管理这些服务,如果您这样选择。

Spring Cloud还具有基于Netflix Eureka-https://spring.io/guides/gs/service-registration-and-discovery/的服务发现组件,此外还有Spring Cloud Netflix是一堆对微服务有用的Netflix工具(如果您没有,Netflix是Kafka的大用户)知道)