burt2007 发表于 2014-02-26 19:35

求分配调度机制

现在在做的一个线下系统,每天起n多进程,调用数据库和接口有上千万次,其中有n多次都是重复的。

有没有这样一种机制,A来分配调数据库或接口的操作,B来实际完成,A记录结果以不重复B的工作,B可并行的?

准备用Go写个试试。

Darleter 发表于 2014-08-02 22:40

重复调用的数据缓存在内存中就行了。
开源的软件也很多。

nblinuxmaster 发表于 2014-08-28 20:29

其实要看楼主真正的需求
如果调用结果重复,想最大限度降低重复结果带来的不必要系统开销,则可行的方案是实现缓存策略,而不是某种调度算法。
如果重复的只是调用方式,与对调用结果重复无关,楼主只是不想重复提交同一个调用,则楼上的方案就不能满足了。
可行的办法,把调用方式用一种算法映射为一个序列标识
按这个策略实现调用
B:start
if(callID not in A.List)
{
B.Do(callID);
A.List.Add(callID);
}
B:End
如果B是并行的,注意对A.List做好并发控制即可



页: [1]
查看完整版本: 求分配调度机制