使用nginx负载均衡lucene

2009-05-13 15:25:00来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


server a是之前退役的,现存放着一些小些
[url=javascript:;]php[/url]
站点和
[url=javascript:;]lucene[/url]
搜索,
server a
cpu: Xeon(TM) CPU 2.80GHz (双核*2)
mem:1G*2
disk:scsi 74G *2 (
[url=javascript:;]raid[/url]
0)
os:as4
app:nginx+php+fcgi+xcache+mysql+tomcat+postfix
server b为刚退役,没有站点。
server b
cpu: Xeon(TM) CPU 2.80GHz (双核*2)
mem:1G*2
disk: sata 80G *1 (7200)
os:as4
app:nginx+tomcat
—————————————
server a 的搜索每天有几十万PV,平均load 5,更新索引达30,高峰时tomcat会挂掉。
产品结构:
[url=javascript:;]nginx[/url]
代理tomcat,jsp提供搜索结果,jsp+mysql记录搜索关键字,
[url=javascript:;]crontab[/url]
定时生成索引。
方案一:server a 提供生成索引和
[url=javascript:;]mysql[/url]
服务,server b 提供纯web搜索服务,用rsync同步索引
[url=javascript:;]文件[/url]

方案二:server a 提供生成索引和mysql服务,server b 和server a使用
[url=javascript:;]负载均衡[/url]
一起提供需web搜索服务,用rsync同步索引文件。
一。先设置两台服务器时间是同步的。
二。设置rsync时不需要登录。
用server b 去拉server a的索引
使用crontab+ssh每天自动完全备份mysql数据
三。写更新的
[url=javascript:;]bash[/url]
和设置crontab
rsync在第一次是全部同步,以后就是只更新有异动的文件。
目前索引为1G左右,
cache使用三级目录分布小文件,占4G
在server b上
vi rsync_index.sh
#!/bin/bash
#获取lucene索引
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh rsync@221.0.0.1:/lucene/index / >> /opt/shell/rsync_index.log
vi rsync_cache.sh
#!/bin/bash
#获取职位的cache和关键词
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh
[email=rsync@221.0.0.1:/lucene/keyword]rsync@221.0.0.1:/lucene/keyword[/email]
/ >> /opt/shell/rsync_keyword.log
/usr/bin/rsync -avlR –delete -e /usr/bin/ssh
[email=rsync@221.0.0.1:/lucene/cache]rsync@221.0.0.1:/lucene/cache[/email]
/ >> /opt/shell/rsync_cache.log
crontab每小时更新一次。
50 * * * * /bin/sh /opt/shell/rsync_cache.sh > /dev/null 2>&1
52 * * * * /bin/sh /opt/shell/rsync_index.sh > /dev/null 2>&1
四。设置nginx
设置nginx的配置文件,使用方案一
      location / {
           proxy_pass
http://127.0.0.1:8080
;
       location ~* ^.+\.(jpg|jpeg|gif|png|css|js)$ {

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:nginx 负载均衡 ngx_http_upstream

下一篇:使用crontab+ssh每天自动完全备份mysql数据