青蛙小白

随便记点儿:缓存相关知识

缓存失效策略 当缓存中缓存容量已满或数据因失效而需要更新时,就需要从缓存中去掉一些旧数据。 究竟应该去掉哪些数据由缓存的失效策略决定,以下是常见的缓存失效策略: LRU(Least Recently Used):即最近最少使用,这种策略将优先淘汰最近被请求最少的缓存数据。在实现上缓存的数据有一个最后被访问的时间戳(随缓存命中更新为当前时间),最后被访问时间离当前时间最远的缓存数据优先被淘汰。 LFU(Least Frequently Used):即最少使用,这种策略将优先淘汰访问次数最少的缓存数据。在实现上被缓存的数据有一个hit值(随缓存命中递增),hit值最小的缓存数据优先被淘汰。 FIFO(First In First Out):即先进先出,判断数据被写入的时间,离当前时间最远的数据优先被淘汰。

#Go

Golang 笔记:临时对象池sync.Pool

sync.Pool可以被看做是存放可被重用的值的容器,这个容器具有以下特性:可自动伸缩、高效、并发安全。 因为它的使用场景并不适用于诸如数据库连接池这类需要我们自己管理生命周期的资源对象的池化场景,所以一般把sync.Pool称为临时对象池(其实叫做临时对象缓存更合适),主要用来存放已经分配的但是暂时不需要使用的对象,在需要使用的时候再从临时对象池中取出。

#Haproxy

Keepalived+HAProxy高可用搭建

Keepalived实现了一套VRRP协议(虚拟路由协议),这个协议允许服务器可以动态的设置IP路由。 使用Keepalived可以加强负载均衡软件的可用性。 环境信息 192.168.61.3 ha1 - MASTER 192.168.61.4 ha2 - BACKUP Keepalived编译安装 yum -y install openssl-devel wget http://www.keepalived.org/software/keepalived-<version>.tar.gz tar -zxvf keepalived-<version>.tar.gz cd keepalived-<version> ./configure --prefix=/usr/local/keepalived make make install 安装psmisc 安装psmisc,可使用 killall -0 haproxy检查haproxy实例是否存活,性能高于ps。

#Haproxy

高性能负载均衡器HAProxy安装记录

Haproxy是一款支持4层和7层应用的高性能负载均衡器。 使用Haproxy可以实现基于TCP和Http应用代理的解决方案。 编译安装 wget http://www.haproxy.org/download/1.7/src/haproxy-<version>.tar.gz tar -zxvf haproxy-<version>.tar.gz cd haproxy-<version> make TARGET=linux2628 ARCH=x86_64 make install PREFIX=/usr/local/haproxy 查看make install的输出如果没有安装haproxy-systemd-wrapper的话,从源码路径下将其手动拷贝到/usr/local/haproxy/sbin下。

#Jvm

JVM命令行工具整理

jps jps即JVM Process Status Tool,显示系统上所有的HotSpot虚拟机进程。 jps -lmv 17015 org.apache.catalina.startup.Bootstrap start -Djava.util.logging.config.file=/home/tomcat/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms2048m -Xmx2048m -Xmn400m -XX:PermSize=512m -XX:ReservedCodeCacheSize=48M -XX:+UseConcMarkSweepGC -Djava.endorsed.dirs=/home/tomcat/tomcat/endorsed -Dcatalina.base=/home/tomcat/tomcat -Dcatalina.home=/home/tomcat/tomcat -Djava.io.tmpdir=/home/tomcat/tomcat/temp -l 输出main class全名 -m 输出JVM启动时传递给main方法的参数args -v 输出JVM启动时指定的JVM参数 使用jps就可以获取到JVM进程的id,查看已经配置的JVM参数便于使用后边工具进一步分析。