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