2 ff415501264 ff415501264 于 2015.06.08 09:19 提问

应用系统集群部署架构设计(监听、通知)

A类有个a方法,B类有个b方法,当外部调用a方法时,通知b方法执行,如果b方法在执行就不通知其执行,让其继续执行,外部一直在调用a方法,但b方法一直只有一个线程在执行,应用系统是集群部署,不管部署多少应用,b还是只用一个线程在运行,或在1号服务器或在2号服务器或在N号服务器运行。这样的场景怎么去设计怎么实现,请各位大虾提供一些思路或方法,谢谢。

再描述一下场景:应用集群部署,但是公用同一个数据库,系统向外抛一个接口,调用方下行数据,调用方有多个,可能他们的请求会在不同的服务器上响应,但是数据只会落到同一个数据库里。有一个类监听到有人向数据库写数据了,然后就运行起来处理数据,但是处理数据这个线程只有一个,集群中同时只有一个线程处理数据。场景就是这样的,谢谢!

3个回答

llx1943llx
llx1943llx   2015.06.08 09:35

你可以是试试用Akka(一个Actor编程框架)。我感觉你说的这个需求用Akka很容易实现的。

sumcul
sumcul   2015.06.09 09:56

B的方法是单例的,并且是竞争的,这样一定会有争用。建议把场景描述清楚,再考虑其他方案。

ff415501264
ff415501264 应用集群部署,但是公用同一个数据库,系统向外抛一个接口,调用方下行数据,调用方有多个,可能他们的请求会在不同的服务器上响应,但是数据只会落到同一个数据库里。有一个类监听到有人向数据库写数据了,然后就运行起来处理数据,但是处理数据这个线程只有一个,集群中同时只有一个线程处理数据。场景就是这样的,谢谢!
2 年多之前 回复
ff415501264
ff415501264   2015.06.09 22:50

应用集群部署,但是公用同一个数据库,系统向外抛一个接口,调用方下行数据,调用方有多个,可能他们的请求会在不同的服务器上响应,但是数据只会落到同一个数据库里。有一个类监听到有人向数据库写数据了,然后就运行起来处理数据,但是处理数据这个线程只有一个,集群中同时只有一个线程处理数据。场景就是这样的,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片