c#分布式策略问题

大家好哈:
问题是这样的
在网络环境下(也可以是一个局域网),每一台机器是一个Web服务器。在该服务器按照一定方式保存了大量资源,这些资源的信息保存在一个test.xml文档中,存放在服务器根目录下。要求设计一种资源检索系统,用户只需要登陆任意一台服务器,就可以检索到该xml所描述的所有资源。

现在要设计一种分布式策略来实现功能,近几天尝试过WebService和Remoting。
我的思路是每个服务器既充当客户端又充当服务端
比较迷茫的地方是在程序运行前不确定服务端位置,如何实现每个服务端的调用?
问题类似于服务订阅,程序运行前互相直接没有联系,运行后产生联系。
而这些服务提供者本身又要订阅其它人的服务,一个网状结构。
怎样实现较好?
或者我思考的结构有问题,大家帮我指正更好的结构。
基础有限,望大家能详细点解释哈
先行谢过

从你的描述来看,应该所有的机器都是平等的,都能互相为对方服务。
有点类似于p2p。
如果是局域网的话,那使用socket就行了。每次启动程序的时候,打开一个固定的端口作为服务器端口(如果是Web服务器,这个步骤就不需要了,端口号就是80)
在打开另外一个随机端口负责与局域网上的所有机器的服务器端口(80)作通信,由于是局域网,遍历所有的机器就比较简单。

如果想实施到internet,那就必须有一个固定的服务器,负责保存所有存活的客户端。客户端打开时,需要连接服务器,获取最新的资源列表。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-03
可以实现的 推荐你看看emule的客户端程序 再看看emule的服务器端程序 两个可以整合在一起 但是前提是 你得有一个真正的服务器端做Index 才可以让数据之前有关联

如果让一台机器去循环一遍所有的存活的服务器端(也是客户端),这个在技术上实现起来会有一些问题

我的建议是 当客户端开启式 从一台真正的服务器查询到离自己最快速的存活主机,当连接到主机以后,从他的列表里得到更多更新的列表,而被链接的主机,也反向得到连接的客户端的列表信息

前提是 你必须得有一个数据汇总的机器 即长时间存活的主机

那现在最先进的“云计算”模型来说 ,也是需要一个长期存活的数据主机
第2个回答  2008-08-04
如你的题目,这个用主从结构就可以了吧 多台前端服务器 连一台数据服务器.
不需要这么复杂的架构把.
相似回答