0%

Nginx 作为高性能web服务器,负载均衡是其基本功能之一。 注:负载均衡至少需要两台机器

阅读全文 »

yum 和 源码安装的区别

yum 安装是在线安装,优点:安装方式简单,快捷;

源码安装是将源码进行编译,生成可执行文件,优点:方便的添加模块等

阅读全文 »

创建数据卷

1
docker volume create --name nexus-data

拉取Nexus 镜像

1
docker pull sonatype/nexus3 ( 国内建议使用daocloud,centos 可以使用dao pull sonatype/nexus3)

启动镜像

1
docker run --restart="always" -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

访问网址打开(账号/密码 admin/admin123)

http://localhost:8081

参考https://hub.docker.com/r/sonatype/nexus3/

1
2
3
4
5
6
7
8
Caused by: redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:51)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:16)
at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:194)
... 71 common frames omitted


前几天在线上碰到了一个奇怪的问题,jedis 突然无法从连接池取到资源,经过排查发现是因为使用分布式锁的时候,没有释放资源

redisTemplate 和 jedis 不同

redisTemplate 自己实现了资源的释放,不需要像jedis一样手动释放

1
2
3
4
5
6
7
8
9
public boolean setNX(final String key, final String value) throws RedisException {
return redisTemplate.execute(new RedisCallback<Boolean>() {
@Override
public Boolean doInRedis(RedisConnection redisConnection) throws DataAccessException {
return redisConnection.setNX(key.getBytes(), value.getBytes());
}
});
}

所以实现分布式锁的时候需要调用redisTemplate.executeredisTemplate 帮我们释放资源,具体的可以看redisTemplate 的源码。

日常生活趣事记录

今天碰到了一个问题,生产环境用户报错,后台看日志都是正常的,最后经过debug 发现是nginx 设置

阅读全文 »