【江湖救急】分布式资源索引系统

gameboyLV 14-01-01
    

最近有个项目需要用到分布式资源索引,简单点说就是需要建立一个中心服务器,对各子站(服务器)的文件/数据/视频/图片等资源建立索引,索引需要包括一些属性标签,例如文章分类,图片大小等。

各子站资源变更时需要及时(允许有稍许延迟)更新索引,部署这套系统时最好不要对子站代码做大量变更,也不能要求中心服务器开发80以外的端口。

本来想用分布式文件系统,但是因为端口的限制放弃了。现在能想到的办法只有两个:
一。在中心服务器部署mongoDB,子站资源变更时主动更新索引。
二。在中心服务器部署采集系统,类似于搜索引擎蜘蛛,定期从子站采集数据。

各位道友还有更好的办法么?

    

banq
2014-01-01 18:56

新年放假还在思考工作,精神可嘉。

可以参考NoSQL的内部机制,一般都有一个分区索引表,标记哪些索引对应着哪些分区,google的大表类型吧。

可能需要引入MQ等消息系统,分布式系统现在的标配一般设有消息系统。

gameboyLV
2014-01-01 22:33

之前一直担心同步操作会把中心服务器写挂了,现在有了异步消息,神马问题都解决了。

中心服务器做成集群之后,多个消费者订阅同一个队列,当子站有资源变更时只要给中心服务器的队列扔个消息就行,还能附带优先级之类的信息。

非常感谢BANQ老师。