如何防止集群模式下并发现象

qq980172733 2015-08-26 05:19:57
首先,我需要详细通俗易懂地说明一下我提出的这个问题。这种现象出现的具体应用场景是这样子的:
==》①:同一个用户,针对同一个服务,在同一时间点内,同时提交了两个请求,但是请求参数值并不相同。但是,这两个请求分别被分发到集群中两个节点上,集群节点中公用同一个Memcached缓存集群,此时节点1中的请求和节点2中的请求由于要对同一个缓存进行删除、添加操作,这样就导致两个集群节点在操作同一个Memcached缓存的时候,出现缓存操作混乱,最终导致返回给用户的数据是错乱的。
==》此时,我们可以选择什么方案,来避免同一用户在同一时间点的两次不同请求,结果在成数据混乱的现象呢?
...全文
242 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_yyy 2015-08-27
  • 打赏
  • 举报
回复
以前做的项目在集群时 同一用户发送的请求始终会给同一个服务器,而不会发生这个用户这次请求给服务器A,下次请求给服务器B。。。
lxduu87 2015-08-27
  • 打赏
  • 举报
回复
那需要在用户操作memcached的时候为用户上锁
中华雪碧 2015-08-26
  • 打赏
  • 举报
回复
方案1.Memcached cas Memcached cas 方案2.前端控制 比如用户点了 “删除”,页面会被锁住,不能进行其他操作(js可实现)。删除成功后,页面解锁,用户可进行其他操作。
java_cloub 2015-08-26
  • 打赏
  • 举报
回复
用session

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧