我使用数组作为“负载均衡”几个RTMP服务器的尝试。
$servers = array(
'1.1.1.1',
'2.2.2.2',
);
$edge = $servers[array_rand($settings)];
但是这段代码没什么用;我在另一台服务器2k上最终得到3k。
我正在考虑利用APC并缓存最后给出的IP,以便跟踪用户之间更好的IP分配。
我需要的就是这个人获得ip 1.1.1.1下一个获取ip 2.2.2.2以维持服务器的用户范围更近,而不是3k用户而不是2k用户。
我可以使用MySQL,但我可能会用所有请求锤击服务器。
我能够正确分配ips的最佳方式是什么?
答案 0 :(得分:1)
这是一个简单的示例,说明如何使用php memcached循环三个数组键:
$ make clean
$ ./Configure darwin64-x86_64-cc no-asm
$ make test
$ make
....
答案 1 :(得分:0)
在放弃随机化方法之前,您应该尝试mt_rand
功能。它产生的随机结果比rand
和array_rand
更多。
$servers = array(
'1.1.1.1',
'2.2.2.2',
);
$num_servers = count( $servers );
$edge = $servers[ mt_rand( 0, $num_servers - 1 ) ];