From fa9988ef0d436c91666baa0c228292d36c4c018a Mon Sep 17 00:00:00 2001 From: qtmuniao Date: Sat, 30 Mar 2024 07:50:03 +0800 Subject: [PATCH] Update ch11.md --- ch11.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch11.md b/ch11.md index 93837a5..eace624 100644 --- a/ch11.md +++ b/ch11.md @@ -130,7 +130,7 @@ 与之相对,数据库和文件系统是另外一种思想:一旦数据被写入数据库或者文件中,就会被认为是**持久数据**,直到其他人将其**显式地**删除。 -这两种不同的思路,对我们如何生成衍生数据有很大的影响。我们在第十章中讨论过,批处理的一个核心特点是,你可以针对同一个输入,做不同实验、跑多次处理,而不用担心输入会发生变化(因为输入是只读的)。但在 AMQP/JMS 协议下,事件或者说消息,并不具有此类特性。因为一旦消息被确认消费后,就会被删除。因此,你不能针再将消费者重新跑一遍,并期望相同结果。 +这两种不同的思路,对我们如何生成衍生数据有很大的影响。我们在第十章中讨论过,批处理的一个核心特点是,你可以针对同一个输入,做不同实验、跑多次处理,而不用担心输入会发生变化(因为输入是只读的)。但在 AMQP/JMS 协议下,事件或者说消息,并不具有此类特性。因为一旦消息被确认消费后,就会被删除。因此,你不能再将消费者重新跑一遍,并期望相同结果。 **时间回溯**。在某个时刻 t,如果你往消息系统中新加入一个消费者,则该消费者只能消费时刻 t 以后新到来的消息;所有之前的消息都已经不在了,且不能恢复。与之相对,对于文件系统和数据库,当你新加入一个客户端时,它可以读取之前任意时刻写入的数据(只要该数据没有被显式删除)。