在公司部份应用上 使用了 Tomcat9.0.1 稳定性还可以,由于将公司的集群服务也升级为 Tomcat9.0.1,下面我们来谈一下改变:

1:logging.properties 支持日志最大天数值 maxDays ,如

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 60

以前自己写的日志数量的控制(基于log4j),以下是配置文件

    ### log file ###
log4j.appender.debug = org.apache.log4j.ReYoDailyRollingFileAppender
#将日志记录到tomcat下的logs文件夹../logs;日志输入到桌面logs:./logs
log4j.appender.debug.File = ../logs/debug
log4j.appender.debug.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.debug.MaxFileSize=6
#要控制文件数量的日志文件以 xx 开头
log4j.appender.debug.FileStarWith=debug,error,catalina,localhost,localhost_access_log
#true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true
log4j.appender.debug.Append = true
log4j.appender.debug.Threshold = INFO
log4j.appender.debug.layout = org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss:SSS}(%r) --> [%t] %l: %m %x %n

ReYoDailyRollingFileAppender 核心代码

		if (StringUtils.isNotEmpty(fileStarWith)) {
if (fileStarWith.indexOf(",") > 0) {
for (String fs : fileStarWith.split(",")) {
if (FileUtils.sumDirFileNumber(filePath, false, fs) > maxFileSize) {
FileUtils.deleteFile(FileUtils.getLastmodifiedtime_first(filePath, fs));
}
}
} else {
if (FileUtils.sumDirFileNumber(filePath, false, fileStarWith) > maxFileSize) {
FileUtils.deleteFile(FileUtils.getLastmodifiedtime_first(filePath, fileStarWith));
}
}
}

2:升级了 reyo.redis.session.manager.tomcat8.RedisSessionManager 以支持 tomcat9.x reyo.redis.session.manager.tomcat9.RedisSessionManager

<Valve className="reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" />
<Manager className="reyo.redis.session.manager.tomcat9.RedisSessionManager"
sentinelMaster="master01"
password="password"
timeout="30"
sentinels="127.0.0.1:6379"/>

集群运行图:

平台升级至nginx+Tomcat9.0.1(Spring5.0.1+velocity2.0+quartz-2.3.0)+redis集群的更多相关文章

  1. CentOS7.X安装Redis-4.0.8以及Redis集群搭建

    安装redis 安装前的准备 yum install \ vim \ wget \ make \ gcc \ gcc-c++ \ automake \ autoconf \ -y \ 下载解压并安装 ...

  2. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  3. Redis集群研究和实践(基于redis 3.0.5)

    前言 redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用.现在的2.x的稳定版本是2.8.19,也是我们项目中普遍用到的版本. redis在年初发布了3.0. ...

  4. centos7.0 安装redis集群

    生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...

  5. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  6. 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了

    在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...

  7. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  8. redis集群热扩展(基于4.0.9)

    1:环境说明,首先说一下要做的事情,我们要迁移redis集群槽位,现有redis集群环境如下 我们看一下集群的基本信息: > cluster nodes 8ea64a0049e0b193296a ...

  9. .net对Redis集群的调用(FrameWork版本4.0)

    使用 StackExchange.Redis 实现.net对Redis集群的调用,方法如下: 1.打开 项目-管理NuGet程序包 2.在打开界面搜索StackExchange.Redis,找到Sta ...

随机推荐

  1. ftp配置文件

    vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格.对于每个配置命令,在配置文件中还列出了相关的配置说明 ...

  2. nio--自己总结

    阻塞/非阻塞  +  同步/异步 其实,这两者存在本质的区别,面向的对象是不同的. 阻塞/非阻塞:进程/线程需要操作的数据如果尚未就绪,是否妨碍了当前进程/线程的后续操作. 同步/异步:数据如果尚未就 ...

  3. 开源项目TypeScript

    TypeScript 优秀开源项目大合集   TypeScript出来有段时间了,也冒出了很多用TypeScript开发的优秀开源项目,搜寻了一些基于TypeScript项目,分享给大家: https ...

  4. 在谈PHP中的 抽象类(abstract class)和 接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  5. django views视图

    视图函数简称视图,本质上是一个简单的python函数,它接受web请求并且返回web响应:响应的内容可以是HTML网页.重定向.404错误.XML文档或图像等任何东西,但是,无论视图本身是个什么处理逻 ...

  6. CSS3利用一个div实现内圆角边框效果

    *首先要清楚的是,box-shadow的形状会随着border-radius变化.下面的例子可以证明: <!doctype html> <html lang="en&quo ...

  7. hdu4055

    hdu4055 题意 给出一个长度为 n - 1 的字符串,要求构造一个包含数字 [1, n] 的排列,从第二位开始,'I' 表示当前位数字比前一位大,'D' 表示当前位数字比前一位小,'?' 表示可 ...

  8. INSTALL_FAILED_CONFLICTING_PROVIDER

    主要是由于调试的环境中已有一个同名的Provider存在. 解决方法是修改AndroidManifest.xml中的 <provider android:name=".apps.App ...

  9. Atcoder Contest069F:Flag

    题目:https://arc069.contest.atcoder.jp/tasks/arc069_d 题意就是让你在n对数字每一对都选一个数使得任意两个数做差的绝对值最小值最大. 关系显然是一个2- ...

  10. BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)

    题目链接 一条边不变其它边减少可以看做一条边增加其它边不变. 假设要加的边lab为(A->B,v),那么肯定是要使除这条边外,A->B的每条路径上的最小权值都\(>v\),这样在连通 ...