一个Remoting服务,原先只部署于一台服务器,考虑效率及稳定性问题,现在部署于多台服务器,可是原先在服务内有多个static dictionary作为缓存,如果部署于多台则更新时会出现服务器间的数据不同步的问题.
哪位有比较好的解决方案或者有这方面的经验,分享一下啊.
想实现的效果是:缓存多个服务器都更新,数据库只更新一次,服务是对等的,程序及配置文件没有差异性.
有人提议调用次服务更新方法的时候,将每个服务器的服务都调取一遍(这个是笨方法,而且不可取,因为这样服务器缓存是每个都更新了,可也把数据库给更新了n遍....)
还有一种方法是缓存共用,放到一台缓存服务器上,可是这样效率会下降,没有本地缓存速度快.(这个可行,就是效率问题啊,而且现有的那堆缓存服务器好像不太稳定,如果挂了的话,并发高了我这边就吃不消了)
另外的一个方法就是服务间的消息通信了,都是对等服务,对每个服务发信息的话,这样会自己调取自己啊...Romoting自己调自己能行吗?

解决方案 »

  1.   

    还是建议你考虑单服务器,多服务器分布式同步实在是个很复杂的事情想搞就得深入了解数据库,表之间如何实时同步首先你得有一个主缓存服务器,分开几个镜像缓存服务器。
    主缓存和镜像缓存间同步什么叫同步 1. 你新增了一条,我要取过来,这是new 同步
     2. 你变更了一条,我也要变更,这是update 同步
     3. 你删除了一条,我也要删除,这是delete 同步....
    太多了,太复杂了,你要想这么做,就一步一步深入研究下去吧。 每个十天半个月,你可能都没个整体概念。