我有一个dapr grpc事件的问题。有时事件运行多次。我正在使用redis和在另一个环境中。我正在使用azure队列,因为我认为这个问题与redis有关,但我有同样的问题。我创建了一个示例项目来模拟我正在做的事情。这里是项目https://github.com/AndrewSafwatFrancis/DaprTest,这里是dapr pubsub.yml文件中的设置
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: pubsub
spec:
type: pubsub.redis
version: v1
metadata:
- name: redisHost
value: value
- name: redisPassword
value: value
如果你能支持,并告诉我什么是问题或什么是失踪,这将是伟大的,因为我坚持它。
1条答案
按热度按时间osh3o9ms1#
Dapr documentation for PubSub API
Dapr保证至少一次语义
Article about Microservice architecture
至少一次传递可保证即使发生错误,消息代理也会将消息传递给使用者。但是,有一个副作用是,使用者可能会因同一消息而被重复调用。
因此,最好让您的事件行程消费者是等幂的。如果您收到一次或两次事件,结果应该是相同的。