采集也做负载均衡,那样可以做的更加稳定和快速。
今天发现某采集功能(采集A服务器的内容)占用时间特别长,很多进程呆滞着了。检查是在该机器上访问A服务器比较慢,在别的机器上访问A服务器还是比较快的,看来可以考虑做一个备用方案,访问A服务器很慢的时候可以考虑用别的机器访问。
如果在程序上修改,那活动性很差,所以尽量还是要保证程序的不变,让这个机器上访问一个网址还有负载均衡,那只能访问一个负载均衡的服务器中间服务器了。
加上是 B服务器要访问 A的内容,B的服务器可以访问C服务器,让C服务器做代理功能,那就可以做代理的负载均衡了,就可以把任务分散到DEF等机器了。
流程:A -> C -> DEF -> B
就大概变成这个流程了,当然,AC是可以是一台机器,甚至C也可以作为负载均衡的其中一个。
假设我要访问B服务器 1.2.3.4 域名是 www.aslibra.com
我有 CDEF 是 192.168.1.2/3/4/5
那A上加上hosts文件设定,这样在访问的时候就无形了
C服务器上可以是任何支持代理功能的服务器,比如lighttpd:
lighttpd不太好的地方是不能使用域名而只能使用IP地址,如果要采集的域名修改了指向的IP,那就得跟着改,如果不留意的话,那还会造成采集失败了。apache在这方面倒是好,域名就可以了。
D服务器上的设置:
这样就基本上可以实现了采集的负载均衡了不是?
如果其中一个访问比较慢,那还会使用其它的几个机器来采集
原创内容如转载请注明:来自 阿权的书房
今天发现某采集功能(采集A服务器的内容)占用时间特别长,很多进程呆滞着了。检查是在该机器上访问A服务器比较慢,在别的机器上访问A服务器还是比较快的,看来可以考虑做一个备用方案,访问A服务器很慢的时候可以考虑用别的机器访问。
如果在程序上修改,那活动性很差,所以尽量还是要保证程序的不变,让这个机器上访问一个网址还有负载均衡,那只能访问一个负载均衡的服务器中间服务器了。
加上是 B服务器要访问 A的内容,B的服务器可以访问C服务器,让C服务器做代理功能,那就可以做代理的负载均衡了,就可以把任务分散到DEF等机器了。
流程:A -> C -> DEF -> B
就大概变成这个流程了,当然,AC是可以是一台机器,甚至C也可以作为负载均衡的其中一个。
假设我要访问B服务器 1.2.3.4 域名是 www.aslibra.com
我有 CDEF 是 192.168.1.2/3/4/5
那A上加上hosts文件设定,这样在访问的时候就无形了
192.168.1.2 www.aslibra.com
C服务器上可以是任何支持代理功能的服务器,比如lighttpd:
$HTTP["host"] == "www.aslibra.com" {
proxy.server=( "" =>
(
"C" =>(
"host" => "1.2.3.4",
"port" => 80
),
"D" =>(
"host" => "192.168.1.3",
"port" => 80
),
"E" =>(
"host" => "192.168.1.4",
"port" => 80
),
"F" =>(
"host" => "2.3.4.5",
"port" => 80
),
))
cache.enable = "disable"
}
proxy.server=( "" =>
(
"C" =>(
"host" => "1.2.3.4",
"port" => 80
),
"D" =>(
"host" => "192.168.1.3",
"port" => 80
),
"E" =>(
"host" => "192.168.1.4",
"port" => 80
),
"F" =>(
"host" => "2.3.4.5",
"port" => 80
),
))
cache.enable = "disable"
}
lighttpd不太好的地方是不能使用域名而只能使用IP地址,如果要采集的域名修改了指向的IP,那就得跟着改,如果不留意的话,那还会造成采集失败了。apache在这方面倒是好,域名就可以了。
D服务器上的设置:
$HTTP["host"] == "www.aslibra.com" {
proxy.server = ( "" =>
( "www.aslibra.com" =>
(
"host" => "1.2.3.4",
"port" => 80
)
)
)
}
proxy.server = ( "" =>
( "www.aslibra.com" =>
(
"host" => "1.2.3.4",
"port" => 80
)
)
)
}
这样就基本上可以实现了采集的负载均衡了不是?
如果其中一个访问比较慢,那还会使用其它的几个机器来采集
原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
隐藏dos窗口以及调用VBS出现“无效字符”错误原因
租车?
