Lucene如何分布式(WWW与Lucene服务器分离)

这两天一直再搞这个东西,呵呵,为了提升WWW服务器整体性能,准备把Lucene系统放在另一台服务器上,当用户进行查询时,先向WWW服务器提出请求,由

WWW服务器组装数据并提交给LuceneWebService服务器,LuceneWebService服务器根据其条件返回相应的数据结果集,最后由WWW将结果返回给客户端。

说的很清楚,看一下要实现这种方式的几个知识点:

1 服务器与服务器之间的通信

可能有人会想到WCF,Remoting,它们确实也可以实现,但今天我还是用WS吧,呵呵,WS是走SOAP的,简单的说就是只能传输简单的数据类型,向List,List<T>,T这种类型是不可以的,所以在进行通信时我们需要先将这些类型转化为byte[]字节数组。

2 Lucene架构要灵活

Lucene项目可能由几个索引生成器组成,它们可以是新闻索引,产品索引,用户索引等等,所以你的Lucene项目架构要足够的灵活,可能是这样:

image

上面的项目架构事实上把每个索引生成器都分开成子项目了,这样有利于生成索引时按需生成的要求,而生成索引的核心代码被整理到另一个文件夹项目里,它们由一个通用项目和若干的具体功能项目组成,这样做的好处是引用方便,呵呵。

3 每个层的具体功能和作用(什么层干什么事,自己干自己的,职责单一)

WWW层,主要用于收集从客户端请求过来的参数,如查询关键字,页号,及最终页地址等。(为读索引组装参数)

LuceneWebService层,主要用来获取具体索引及进行复杂对象向简单对象的转化等等。(读索引)

Lucene层,主要用来建立索引,它可能有若干个应用程序组成,每个应用程序负责自己业务索引文件的生成(写索引)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值