采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
_id是主键,不就已经是唯一了,为什么还要有uuid ?
确实uuid暂时没用上,可以去掉
老师我是否可以这样理解,如果message_ref中主键的值是message中的uuid值,那uuid就有用了。但是您设计的message_ref中主键的值是message中的id值,那uuid值就多余了。 像您说的那种特殊情况,假设消息队列是work模式(排他): (1)用户A消费了消息a,还没来得及将响应写入message_ref集合,也没有给消息队列响应ack应答,消息队列中不会删除消息a,消息a可以继续让其他用户消费; (2)所以用户B也可以从消息队列中消费消息a。 (3)此时用户AB消费的消息是一样的,所以这条消息文档的id(或者uuid)是一样的,谁先将自己的响应消息写入message_ref集合,谁就成功消费了这条信息。 (4)假设用户A先将响应消息写入了message_ref集合,此时这条响应消息的id(或者uuid)就是消息a的id(或者uuid); (5)当用户B再尝试将响应写入message_ref集合时,会出现主键冲突,所以无法将响应消息写入message_ref集合。 (6)最后结果是用户A成功消费消息a,用户B失败。 而uuid有没有用取决于message_ref集合的主键用的是message集合中的id还是uuid。 请问老师我的理解是否正确?
登录后可查看更多问答,登录/注册
未来趋势型业务 + 前后端综合技术栈 + 惊艳的细节打磨
2.3k 19
2.2k 18
1.9k 14
839 13
1.5k 13
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号