Ruby实现的简单HTTP探测请求发生器

项目上产品因为前端网络架设负载均衡设备,导致产品运行不稳定,为了尽快重现解决问题,首先需要能够模拟出项目上使用的负载均衡设备,对产品持续进行压力测试;

负载均衡设备特点:
1. 通过发送空的HTTP请求,探测产品具体服务端口是否可连通;
2. 探测请求发送间隔5秒;
3. 发现某一服务端口不通,立即动态切换服务请求到备用设备上;(这个功能不是此次模拟重点)

Ruby简单实现如下

require "open-uri"

#监听服务器IP地址
ip = '127.0.0.1'
#待监听端口列表
ports = [20440, 20443, 20448]
while true
ports.each do |port|
url = "http://#{ip}:#{port}"
begin
open(url) do |http|
puts "[#{Time.now}] #{url} OK"
html = http.read
end
rescue Exception => e
puts "[#{Time.now}] #{url} #{e}"
end
end
puts "\r\n"
sleep(5)
end


TCP监听版本

require "socket"

ip = '172.16.13.12'
ports = [30443,7443]
loop {
ports.each do |port|
begin
socket = TCPSocket.open(ip, port)
puts "#{Time.now} #{ip}:#{port} test OK"
socket.close
rescue Exception => e
puts "#{Time.now} #{ip}:#{port} test error [#{e}]"
end
end
puts "\r\n"
sleep(5)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值