我对这个Write Back的Cache的设计有些问题:
-
如果Message Service 发现用户不在,然后直接写Cache,后来Cache挂了,数据可能丢失。当然可以通过replication来增加Cache的冗余度,感觉还是数据可能丢失。
-
如果用户上线读数据,如果Cache有淘汰机制,可能用户可能值读到了部分数据,但是却认为读到了全部数据,这个问题怎么解决?是先读取cache,然后在读一下DB的message的数量做一下对比么?
-
我在想如果去掉Message Cache这个component,那么直接对DB进行读写操作,感觉一切可能会简单很多,不知道老师对这个问题怎么看?