g*********9 发帖数: 1285 | 1 我现在在多个server上有同样的进程,需要同步。
我只知道IgniteCache支持这个,用Zookeeper也可以实现这个,还有别的简单一点的么
?哪位大牛给指点一下? |
h**********c 发帖数: 4120 | 2 lock应该是通过CPU的特殊寄存器实现一段代码的atomicity,多个server不知道是不是
lock,你不怕慢,就用 MYSQL 搞个transactional counter,同步的核心就是TCP那套,
握手,校验,sliding window. |
c*********e 发帖数: 16335 | 3 Ignite Cache很容易用啊。难道是你经理不让你用?
【在 g*********9 的大作中提到】 : 我现在在多个server上有同样的进程,需要同步。 : 我只知道IgniteCache支持这个,用Zookeeper也可以实现这个,还有别的简单一点的么 : ?哪位大牛给指点一下?
|
w****e 发帖数: 1883 | 4 同意。试过各种distributed lock,最后发现用database最可靠。略微牺牲一点性能,
但是对于web来说一般没啥问题。
:lock应该是通过CPU的特殊寄存器实现一段代码的atomicity,多个server不知道是不是
:lock,你不怕慢,就用 MYSQL 搞个transactional counter,同步的核心就是TCP那套,
:握手,校验,sliding window.
【在 h**********c 的大作中提到】 : lock应该是通过CPU的特殊寄存器实现一段代码的atomicity,多个server不知道是不是 : lock,你不怕慢,就用 MYSQL 搞个transactional counter,同步的核心就是TCP那套, : 握手,校验,sliding window.
|
g*********9 发帖数: 1285 | 5 用MySQL这个我也想过,但blocked的进程需要不断的去poll数据库,不是很efficient.
我要解决的问题是:
多个server要同时下载同样的数据,为了节省带宽,只让一个server下载,然后放在
distributed cache上,几个server共享。
不是
套,
【在 w****e 的大作中提到】 : 同意。试过各种distributed lock,最后发现用database最可靠。略微牺牲一点性能, : 但是对于web来说一般没啥问题。 : : :lock应该是通过CPU的特殊寄存器实现一段代码的atomicity,多个server不知道是不是 : :lock,你不怕慢,就用 MYSQL 搞个transactional counter,同步的核心就是TCP那套, : :握手,校验,sliding window.
|
g*********9 发帖数: 1285 | 6 真让你说对了。IgnoteCache也不是很可靠,经常扔exception.
【在 c*********e 的大作中提到】 : Ignite Cache很容易用啊。难道是你经理不让你用?
|
t**r 发帖数: 3428 | 7 你经常要下载的数据 多大 ?这个很关键。
分布式锁用zk啊。
拿到锁的进行下载。 |
c*********e 发帖数: 16335 | 8 这个。。。
不是
套,
【在 w****e 的大作中提到】 : 同意。试过各种distributed lock,最后发现用database最可靠。略微牺牲一点性能, : 但是对于web来说一般没啥问题。 : : :lock应该是通过CPU的特殊寄存器实现一段代码的atomicity,多个server不知道是不是 : :lock,你不怕慢,就用 MYSQL 搞个transactional counter,同步的核心就是TCP那套, : :握手,校验,sliding window.
|
g*********9 发帖数: 1285 | 9 数据当然不小,所以要避免重负下载,用zk需要一个zk cluster,麻烦。
【在 t**r 的大作中提到】 : 你经常要下载的数据 多大 ?这个很关键。 : 分布式锁用zk啊。 : 拿到锁的进行下载。
|
c*********e 发帖数: 16335 | 10 catch exception,做该做的事。
【在 g*********9 的大作中提到】 : 真让你说对了。IgnoteCache也不是很可靠,经常扔exception.
|
s*******m 发帖数: 58 | 11 你不需要distributed lock, 一个centralized lock给多个机器用足矣。
任何支持atomic的都可以(transactional都不需要)
可以指定一台机器作仲裁。 |