Jusene's Blog

Jusene's Blog

There are more ways than difficulties

python3 pymysql连接mysql

PyMysql

PyMysql是为了替代Python-MySQL而生,纯python打造,Python-MySQL虽然有更好的性能,但是在python3中已经不再受到支持,而PyMySQL接口兼容Python-MySQL,安装方便。

memcached

nginx+memcached

nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、django,大大的提升动态页面的速度。nginx只负责从memcached服务器中读取数据,要往memcached写入数据还得需要后台的应用程序来完成,主动的将要缓存的页面缓存到memcached中,可以通过404重定向到后端去处理的。

nginx负载均衡

nginx的负载均衡

lvs的负载均衡能力虽然很出色,但是毕竟只是4层代理负载均衡,可以使用的功能毕竟有限,nginx的负载均衡的能力没有lvs的那样出色,但nginx可以为我们提供功能却比lvs多了许多,也更加灵活的控制整个负载均衡集群,nginx是个7层负载均衡。

IP SAN 的实现

Storage

企业存储往集中式管理必定是未来的方向,这可以很好的规避单机故障而导致数据丢失或出错。虽然到目前为止,iscsi存储应该在什么环境下使用,但是iscsi前途应该是光明的,他为中小企业以低廉的构建成本构建出优秀存储性能的存储提供了可行的解决方案。

drbd+pacemaker+corosync v1构建高可用集群mariadb

DRBD

DRBD的工作机制很简单,但确实廉价存储中较好的解决方案,DRBD的存储切换较麻烦,当出现故障的时候,想要快速切换的服务就都需要高可用集群框架来实现,下面是一个演示案例。

DRBD 分布式复制块设备

DRBD

DRBD是一种块设备,属于DAS,可以被应用在高可用(HA)中,类似于raid 1的镜像功能,当写入数据时,数据会被工作在内核中DRBD模块通过网络发送到网络中的另一台主机。常工作于主备模式,数据实时同步,当主节点出现故障,备节点的可切换成主节点立马恢复工作。

corosync v1+pacemaker高可用mysql

corosync

corosync是基于openais(application interface standard)的一种实现,corosync在整个高可用集群中担任者message layer的工作,相比于heartbeat重量级应用,corosync就相当于轻量级了,在高可用方案的选择上corosync已经打败了heartbeat的应用,而corosync的1.0版本也是存在一个致命的缺陷,没有投票系统,所以需要cman来支持投票,而corosync的2.0版本就完全补足了这个缺陷,不同于heartbeat自带crm,corosync的crm来源于heartbeat发展到3.0的时候独立出来的crm管理器pacemaker,下面通过各实例来介绍下corosync+pacemaker的配置应用。

avatar
Jusene
纸上得来终觉浅 绝知此事要躬行