搭建codis2升级到codis3之后,
codis-server-2.x做master,codis-server-3.x做slave;
同步完成后发现主从的内存大小和keys数量完全不一致……
推荐系统实战-读书笔记
codis2.x升级到codis3.2
step 1.配置迁移
step a.导出配置文件1
/usr/local/codis3.2/bin/codis-admin --config-dump --product=apitest --zookeeper=10.0.0.40:2181 -1 | tee codis_v2.0.json
该命令会从 zookeeper 上拉取 /zk/codis/db_codis_v2.0 下全部的文件,并组织成 json 格式并输出。
选项 -1 表示配置文件是 Codis 1.x 版本,缺省是 Codis 3.x 版本。
step b. 转换配置文件1
/usr/local/codis3.2/bin/codis-admin --config-convert codis_v2.0.json | tee codis_v3.0.json
该命令会将 Codis 1.x 版本的配置文件中有效信息提取出来,并转成 Codis 3.x 版本的配置文件并输出。
step c. 更新配置文件
注意:更新配置文件时,请确保 Codis 3.x 中该集群不存在,否则可能导致更新失败或者集群状态异常。1
2
3
4NEW_PRODUCT_NAME="apitet_codis3.2"
ZOOKEEPER_ADDR="10.0.0.40:2181"
#/usr/local/codis3.2/bin/codis-admin --config-restore=codis_v3.0.json --product=$NEW_PRODUCT_NAME --zookeeper=$ZOOKEEPER_ADDR --confirm
/usr/local/codis3.2/bin/codis-admin --config-restore=codis_v3.0.json --product=apitest_codis3.2 --zookeeper=10.0.0.40:2181 --confirm
iterm-lrzsz
用过secureCRT,都知道lrzsz在服务器上上传下载文件有多方便。
这里有个工具iterm2-zmodem,简单配置下,也很实用
Save the iterm2-send-zmodem.sh and iterm2-recv-zmodem.sh scripts in /usr/local/bin/
chmod +x /usr/local/bin/iterm2-send-zmodem.sh
chmod +x /usr/local/bin/iterm2-recv-zmodem.sh
Preferences=>Profiles=>Advanced=>Triggers=>edit Set up Triggers in iTerm 2 like so:
1 | Regular expression: rz waiting to receive.\*\*B0100 |
hexo install
kubernetes安装
安装minikube
1 | curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.7.1/minikube-darwin-amd64 |
启动minikube
1 | minikube start |
安装kubectl
1 | curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.3.0/bin/darwin/amd64/kubectl |
查看
1 | kubectl get pods --all-namespaces |
参考doc
redis和memcached
memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe传递给worker线程,进行读写IO,网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如:memcached最常用的stats命令,实际memcached所有操作都要对这个全局变量加锁,进行技术等工作,带来了性能损耗。
redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现了epoll, kqueue和select,对于单存只有IO操作来说,单线程可以将速度优势发挥到最大,但是redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型施加会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞的。
策略模式
简单实现
1 |
|