我想设置一个小程序,从数据库中检索信息,然后在请求时将该信息分发给另一个程序.例如,一个名为“Master”的程序将从数据库中检索数据并创建一个对象集合(列表,数组等等,无论什么效果最好),然后一个名为“Slave”的程序(从多个桌面运行)可以调用一个方法(即,GetNextRecord)从’Master’检索集合中的下一条记录.
我希望能够只让一个’Slave’能够一次调用GetNextRecord方法,以避免给多个slave提供相同的记录. ‘Master’将在服务器上运行数据库,而’Slave’将在多台桌面计算机上运行.
有没有人有这方面的例子或教程如何做到这一点?
TIA,
Brian Enderle
解决方法
您所描述的内容也称为
load balancing,可以使用
Message Queue实现.
查找面向消息的中间件并检查现有的实现,如Microsoft Message Queuing (MSMQ):
MSMQ is essentially a messaging
protocol that allows applications
running on separate servers/processes
to communicate in a failsafe manner.
推荐阅读也是关于Enterprise Integration Patterns的书
注意:我是Delphi和Free Pascal客户端库的作者,用于开源消息队列/消息代理(ActiveMQ,HornetQ,OpenMQ,RabbitMQ)