Jsaas 生产环境配置
1.概要 生产配置指的是在正式环境部署时使用的配置,在生产环境下一般需要实现集群,使用缓存和消息队列。 1.redis redis 的作用是作为缓存和实现session同步 2.kafka 平台使用消息队列实现消息通知等异步操作 2.配置修改 2.1. app.properties 配置 machine.name 这个需要每台应用服务器有一个不同的机器名 db.minimumConnectionCount=50 db.maximumConnectionCount=100 数据库连接池大小的配置,需要根据实际情况进行调整 kafka.brokerurl=localhost:9092 kafka 消息队列的配置 可以配置kafka集群,如果有多个kafka实例集群,可以配置多个localhost:9092,需要使用逗号分隔。 2.2.spring-base.xml 修改 <!-- <bean id="iCache" class="com.redxun.core.cache.RedisCache" /> <bean id="redisTemplate" class="com.redxun.core.redis.RedisTemplate" destroy-method="destroy" init-method="init" > <property name="masterName" value="${redis.masterName}"/> <property name="maxTotal" value="${redis.maxTotal}"/> <property name="minIdle" value="${redis.minIdle}"/> <property name="servers" value="${redis.servers}"/> </bean> --> <bean id="iCache" class="com.redxun.core.cache.J2CacheImpl" init-method="init" destroy-method="destroy"></bean> <!-- <bean id="iCache" class="com.redxun.core.cache.EhCache"> <property name="cacheName" value="tokenCache"></property> </bean> --> 这里启用J2CacheImpl,这个配置作用是配置缓存,在分布式集群配置下配置成 j2cache 实现,如果是单实例部署使用com.redxun.core.cache.EhCache。 2.3 spring-bean.xml 修改 <!-- 消息生产者 <bean id="messageProducer" class="com.redxun.core.jms.producer.ActiveMqProducer"/> --> <bean id="messageProducer" class="com.redxun.core.jms.producer.KafkaProducer"/> 这里切换使用消息队里,这里使用KafkaProducer. 2.4. spring-all.xml 修改 <!-- <import resource="spring-jms.xml"/> --> <import resource="spring-kafka-producer.xml"/> <import resource="spring-kafka-consumer.xml"/> 这里注释掉 activemq 的配置,启用 kafka. 2.5. 修改 j2cache.properties 这个文件的作用主要是配置j2cache redis.mode 这个配置可以有三个值: single:redis单实例 sentinel:哨兵模式 cluster:集群模式 redis.hosts 这个配置redis服务地址 single: 配置redis地址即可 sentinel:配置哨兵的地址,多个使用逗号分隔 cluster: 配置集群地址,多个使用逗号分隔 2.6 log4j2.xml 修改 这个文件主要是需要修改 日志目录和日志的级别。 <properties> <property name="LOG_HOME">/install/tomcat85A/jsaas-logs</property> <property name="PATTERN_LAYOUT">[RX2]-%p-[%-d{yyyy-MM-dd HH:mm:ss}] [%t] %c{10}.%M(%L) | %m%n</property> </properties> 修改日志的目录 <root level="DEBUG"> <appender-ref ref="Console"/> <appender-ref ref="RollingFileDebug"/> <appender-ref ref="RollingFileInfo"/> <appender-ref ref="RollingFileWarn"/> <appender-ref ref="RollingFileError"/> </root> 这里需要修改成 ERROR或者 WARN模式,如果需要调试错误的话,可以临时修改成debug模式,调试完成后改成ERROR。如果不修改会大大降低程序的性能。 2.7.web.xml 修改 实现在集群环境下session同步的问题 <filter> <filter-name>j2cache-session-filter</filter-name> <filter-class>com.redxun.saweb.filter.J2CacheSessionFilter</filter-class> <init-param> <param-name>session.maxSizeInMemory</param-name> <param-value>2000</param-value> </init-param> <init-param> <param-name>session.maxAge</param-name> <param-value>1800</param-value> </init-param> <init-param> <param-name>cookie.name</param-name> <param-value>J2CACHE_SESSION_ID</param-value> </init-param> <init-param> <param-name>cookie.path</param-name> <param-value>/</param-value> </init-param> <init-param> <param-name>cookie.domain</param-name> <param-value></param-value> </init-param> </filter> <filter-mapping> <filter-name>j2cache-session-filter</filter-name> <url-pattern>*</url-pattern> </filter-mapping> 将上面的xml注释去掉,就可以实现session同步了。 2.8 软件的安装 redis: 单实例 https://www.cnblogs.com/yg_zhang/p/10196397.html 哨兵 https://www.cnblogs.com/yg_zhang/p/10198965.html 集群 https://www.cnblogs.com/yg_zhang/p/10502110.html kafka : zookeeper https://www.cnblogs.com/yg_zhang/p/10183808.html kafka 集群 https://www.cnblogs.com/yg_zhang/p/10184185.html