📅 2015-09-02
安装ntp组件
#
网络时间协议ntp是时间服务器的一种协议。在时间服务器工作时,其可利用不同的工作模式与其他服务器或用户端进行时间的调整,实现时间的同步。
使用ntp需要安装ntp服务组件:
1yum install -y ntpdate ntp
2
3
4systemctl start ntpdate
5systemctl start ntpd
6
7systemctl enable ntpd
8systemctl enable ntpdate
在ntpd服务进程启动的时候,可以使用ntpstat命令获取系统每次校正时间的间隔:
...📅 2015-02-06
缓存失效策略
#
当缓存中缓存容量已满或数据因失效而需要更新时,就需要从缓存中去掉一些旧数据。
究竟应该去掉哪些数据由缓存的失效策略决定,以下是常见的缓存失效策略:
- LRU(Least Recently Used):即最近最少使用,这种策略将优先淘汰最近被请求最少的缓存数据。在实现上缓存的数据有一个
最后被访问的时间戳
(随缓存命中更新为当前时间),最后被访问时间离当前时间最远的缓存数据优先被淘汰。 - LFU(Least Frequently Used):即最少使用,这种策略将优先淘汰访问次数最少的缓存数据。在实现上被缓存的数据有一个
hit
值(随缓存命中递增),hit值最小的缓存数据优先被淘汰。 - FIFO(First In First Out):即先进先出,判断数据被写入的时间,离当前时间最远的数据优先被淘汰。
📅 2015-02-05
nginx-module-vts(https://github.com/vozlt/nginx-module-vts)是一个第三方的nginx module,使用它可以查看nginx各个vhost的通讯状态和统计数据,比较类似于haproxy自带的stats page。
这个nginx模块的下载地址为https://github.com/vozlt/nginx-module-vts/releases。
编译安装这个模块:
1./configure ...... --add-module=/<thepath>/nginx-module-vts
2make & make install
3make upgrade
配置:
1http {
2# nginx vts module
3 vhost_traffic_status_zone shared:vhost_traffic_status:10m;
4 server {
5 ......
6 location /vhost_status {
7 vhost_traffic_status_display;
8 vhost_traffic_status_display_format html;
9 }
10 ......
访问页面/vhost_status即可。
更多内容可以查看Nginx Vhost Traffic Status Module。
...📅 2015-02-03
sync.Pool可以被看做是存放可被重用的值的容器,这个容器具有以下特性:可自动伸缩、高效、并发安全。
因为它的使用场景并不适用于诸如数据库连接池
这类需要我们自己管理生命周期的资源对象的池化场景,所以一般把sync.Pool
称为临时对象池(其实叫做临时对象缓存更合适),主要用来存放已经分配的但是暂时不需要使用的对象,在需要使用的时候再从临时对象池中取出。
...📅 2015-02-01
使用lua-nginx-module可以把lua嵌入到nginx中,使用lua在nginx下开发一定的业务逻辑。
编译安装
#
首先编译安装LuaJIT。
LuaJIT使用JIT编译技术可以把Lua脚本直接编译成机器代码由CPU执行。
从这里下载LuaJIT的源码。解压缩后进入源码目录:
1make install PREFIX=/usr/local/luajit
接下来下载ngx_devel_kit
和lua-nginx-module
的源码。
...📅 2015-01-10
简介
#
kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。 kingshard的性能是直连MySQL性能的80%以上。
...📅 2015-01-06
Keepalived实现了一套VRRP协议(虚拟路由协议),这个协议允许服务器可以动态的设置IP路由。
使用Keepalived可以加强负载均衡软件的可用性。
环境信息
#
1192.168.61.3 ha1 - MASTER
2192.168.61.4 ha2 - BACKUP
Keepalived编译安装
#
1yum -y install openssl-devel
2
3wget http://www.keepalived.org/software/keepalived-<version>.tar.gz
4tar -zxvf keepalived-<version>.tar.gz
5cd keepalived-<version>
6./configure --prefix=/usr/local/keepalived
7
8make
9make install
安装psmisc
#
安装psmisc,可使用 killall -0 haproxy
检查haproxy实例是否存活,性能高于ps。
...📅 2015-01-05
CSP(CommunicatingSequentialProcess)中文翻译"通信顺序进程"或"交换信息的循序进程", CSP描述了一种并发系统进行交互的模式。
CSP允许使用进程组件来描述系统,这些进程组件独立运行并且通过消息传递的方式通信。
...📅 2015-01-04
Haproxy是一款支持4层和7层应用的高性能负载均衡器。
使用Haproxy可以实现基于TCP和Http应用代理的解决方案。
编译安装
#
1wget http://www.haproxy.org/download/1.7/src/haproxy-<version>.tar.gz
2tar -zxvf haproxy-<version>.tar.gz
3cd haproxy-<version>
4make TARGET=linux2628 ARCH=x86_64
5make install PREFIX=/usr/local/haproxy
查看make install
的输出如果没有安装haproxy-systemd-wrapper的话,从源码路径下将其手动拷贝到/usr/local/haproxy/sbin下。
...📅 2015-01-03
编译安装
#
下载源码:
1wget http://nginx.org/download/nginx-<version>.tar.gz
2tar -zxvf nginx-1.10.3.tar.gz
3cd nginx-<version>
准备构建环境compiler,OpenSSL,PCRE(Perl Compatible Regular Expressions):
1yum install -y gcc
2yum install -y pcre-devel
3yum install -y openssl openssl-devel
编译安装:
1./configure \
2 --with-http_ssl_module \
3 --with-http_realip_module \
4 --user=www \
5 --group=www
6make
7make install
默认按在/usr/local/nginx目录下,可以使用configure参数--prefix
定制安装目录,
其他configure参数参考这里。
执行sbin/nginx -V
可以打印安装时的编译参数。
...