Question 1
在复习数据收集系统的时候, 看到有用到message queue
所以想有点好奇, message’ queue 这里是否需要考虑duplicate delievery 的情况
当然也可以用exact once 去保证, 但是这个会降低through put , 或者本来的数据里都包括了idempotent key , 这样consumer 处理的时候, 会根据idempotent key 去做
还是说只考虑用at most once , 这样根本不考虑数据丢失的情况
Question 1
在复习数据收集系统的时候, 看到有用到message queue
所以想有点好奇, message’ queue 这里是否需要考虑duplicate delievery 的情况
当然也可以用exact once 去保证, 但是这个会降低through put , 或者本来的数据里都包括了idempotent key , 这样consumer 处理的时候, 会根据idempotent key 去做
还是说只考虑用at most once , 这样根本不考虑数据丢失的情况
数据收集系统这个 use case 不需要 exactly once 的,这个保证像你说的,比较 expensive。我觉得比较常见的就是 best effort 也就是 at most once。
Kafka 只有在 error case 里才会发生多发或者不发的情况,是很罕见的。