0
我在MySQL
以及Elasticsearch
中存储数据。如何保持Elasticsearch与MySQL数据库同步?
当更新MySQL
中的数据时,我将该数据排入MQ
,并让一些消费者服务更新Elasticsearch
。
如果MQ
坏了,如何避免产生脏读?
我在MySQL
以及Elasticsearch
中存储数据。如何保持Elasticsearch与MySQL数据库同步?
当更新MySQL
中的数据时,我将该数据排入MQ
,并让一些消费者服务更新Elasticsearch
。
如果MQ
坏了,如何避免产生脏读?
这应该由MQ覆盖。您可以使用队列来确保客户端只读取一次该消息。处理完成后,客户端应该发回MQ“ACKNOWLEDGE”事件(自动或手动)。接下来,MQ正在从队列中删除该消息。
如果您有多个使用者(客户端)正在监听相同的队列,则每个客户端都会锁定队列中的多条消息,因此每条消息将仅由单个使用者处理。