java多服务同步问题

arthur.dy.lee 2015-07-03 10:50:45
现在有多台服务器, 一次可以启动多个weblogic服务(也不一定是weblogic,只是举个例子),就是做集群啦。
我有一个web程序,分布在这多个服务上,我怎么保证数据是同步的? 不止是数据库。
比如来了一个请求,我要+1,后返回这个值在前台表单上,如果在方法前加synchronized,可以保证是同步的吗?
以及为什么?能给出理由吗?
...全文
362 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
arthur.dy.lee 2015-07-22
  • 打赏
  • 举报
回复
引用 7 楼 xuyelong1 的回复:
既然你是集群,程序里的数据同步也只是在单台服务器,多台服务器需要引入缓存机制,比如redis,memcache的同步锁cas ,计数器。
数据同步只能用缓存吗? 第二,应用同步怎么办呢?比如自己写的一段程序代码,怎么保证在集群下做到同步?
arthur.dy.lee 2015-07-22
  • 打赏
  • 举报
回复
引用 6 楼 tangyanbo1110 的回复:
[quote=引用 1 楼 zhuyuge0 的回复:] 数据库内部机制会确保事务一致性,数据库同步的问题我觉得不需要你care吧
这是不对的,数据库默认的事务,不能解决共享资源并发控制的问题 synchronized 在集群环境不能起到同步控制的作用 如果需要解决并发问题 1.分布式锁 2.数据库锁:悲观锁或者乐观锁[/quote] 分布式锁要自己去实现吗?还有数据库锁?
风过无痕1110 2015-07-22
  • 打赏
  • 举报
回复
引用 9 楼 paincupid 的回复:
[quote=引用 7 楼 xuyelong1 的回复:] 既然你是集群,程序里的数据同步也只是在单台服务器,多台服务器需要引入缓存机制,比如redis,memcache的同步锁cas ,计数器。
数据同步只能用缓存吗? 第二,应用同步怎么办呢?比如自己写的一段程序代码,怎么保证在集群下做到同步?[/quote] 并发控制,主要是控制共享资源 数据库锁是数据库自带的,比如悲观锁for update 分布式锁可以看看,zookeeper,redis,都能实现
xuyelong1 2015-07-20
  • 打赏
  • 举报
回复
既然你是集群,程序里的数据同步也只是在单台服务器,多台服务器需要引入缓存机制,比如redis,memcache的同步锁cas ,计数器。
风过无痕1110 2015-07-20
  • 打赏
  • 举报
回复
引用 1 楼 zhuyuge0 的回复:
数据库内部机制会确保事务一致性,数据库同步的问题我觉得不需要你care吧
这是不对的,数据库默认的事务,不能解决共享资源并发控制的问题 synchronized 在集群环境不能起到同步控制的作用 如果需要解决并发问题 1.分布式锁 2.数据库锁:悲观锁或者乐观锁
Defonds 2015-07-19
  • 打赏
  • 举报
回复
不能够。 synchronized 只能保证单 jvm 内的同步。
xue08161981 2015-07-18
  • 打赏
  • 举报
回复
数据库内部机制会确保事务一致性,数据库同步的问题我觉得不需要你care吧 ,路过支持一下
arthur.dy.lee 2015-07-18
  • 打赏
  • 举报
回复
引用 1 楼 zhuyuge0 的回复:
数据库内部机制会确保事务一致性,数据库同步的问题我觉得不需要你care吧
我想问的不是数据库,而是我自己的Java服务器端,我怎么保证它是同步的? 比如说自己写了一个方法,别人调用的时候,我只是加上了synchronized就能是同步的吗?如果是多个集群服务也是这样的吗?
zhuyuge0 2015-07-04
  • 打赏
  • 举报
回复
你只要负责sql或hive、别的就交给db自行处理吧、另外除了数据一致性之外你还想确保什么一致?
zhuyuge0 2015-07-04
  • 打赏
  • 举报
回复
数据库内部机制会确保事务一致性,数据库同步的问题我觉得不需要你care吧

81,092

社区成员

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

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