assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;
例如:
1 |
|
从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。
assert的用法却更详细一点。
assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;
例如:
1 |
|
从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。
assert的用法却更详细一点。
描述:$name数组是3个人的名字,$age数组的元素分别对应3个人的年龄,希望合并后的数组$user,它的每一个元素都是一条独立的个人信息。
1 | <?php |
1 |
|
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享存储,个人觉得MySQL数据还是放在本地较为安全,存储设备毕竟存在单点隐患。使用MySQL双master+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。
下面,我把即将上线的一个生产环境中的架构与大家分享一下,看一下这个架构中,MySQL-HA是如何实现的,环境拓扑如下:
MySQL-VIP:192.168.1.200
MySQL-master1:192.168.1.201
MySQL-master2:192.168.1.202
OS版本:CentOS 5.4
MySQL版本:5.0.89
Keepalived版本:1.1.20