Tag: 兵马俑

分布式并发控制

我已经在这个工作了几天,我已经find了几个解决scheme,但没有一个是令人难以置信的简单或轻量级。 问题基本上是这样的:我们有10台机器的集群,每台机器都在multithreadingESB平台上运行相同的软件。 我可以很容易地处理同一台机器上的线程之间的并发问题,但是对于不同机器上相同数据的并发性呢? 本质上,软件接收请求,通过Web服务将客户的数据从一个业务提供给另一个业务。 但是,客户可能会或可能不会在另一个系统上存在。 如果没有,我们通过Web服务方法创build它。 所以它需要一种testing和设置,但是我需要某种信号量来locking其他机器导致竞争状态。 在一个本地客户创build了两次远程客户之前,我已经遇到过这种情况,这并不是真正需要的。 我在概念上玩弄的解决scheme是: 使用我们的容错共享文件系统创build“locking”文件,这将由每台机器根据客户检查 在我们的数据库中使用一个特殊的表,并locking整个表,以便为锁logging做一个“testing和设置”。 使用Terracotta,这是一个开源服务器软件,可以协助扩展,但是使用了hub-and-spoke模式。 使用EHCache同步复制我的内存“锁”。 我无法想象我是唯一一个遇到这种问题的人。 你是怎么解决的? 你有没有在内部做点什么,或者你有一个最喜欢的第三方产品?