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

 

posted @ 2020-06-02 17:56  DarJeely  阅读(206)  评论(0编辑  收藏  举报