Просмотр исходного кода

生产环境配置文件提交 PengDi@2021/1/20

pengdi@zoniot.com 4 лет назад
Родитель
Сommit
9df47495b8

+ 20 - 0
meter-reading-batch/src/main/resources/application-batch-prd.properties

@@ -0,0 +1,20 @@
+server.port=8082
+server.servlet.context-path=/meter/reading/batch
+#ÈÕÖ¾ÅäÖÃ
+logging.level.root=info
+logging.file.path=./logs
+#########################################Rabbit MQ ÅäÖÃ#############################################
+spring.rabbitmq.host=47.112.217.10
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=zoniot
+spring.rabbitmq.password=zcxk100
+spring.rabbitmq.virtual-host=/
+spring.rabbitmq.connection-timeout=1000ms
+spring.rabbitmq.listener.direct.acknowledge-mode=manual
+spring.rabbitmq.listener.simple.acknowledge-mode=manual
+spring.rabbitmq.listener.simple.concurrency=2
+spring.rabbitmq.listener.simple.max-concurrency=4
+spring.rabbitmq.listener.simple.prefetch=4
+# ÈÎÎñ¶ÓÁÐ
+job.task.rabbit.exchange=job-task-exchange
+job.task.rabbit.queue=job-task-queue

+ 2 - 2
meter-reading-common/src/main/java/com/huaxu/zoniot/service/impl/MeterReadRecordServiceImpl.java

@@ -314,7 +314,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
      */
     @Override
     public void meterReading(WaterMeter waterMeter, Map<String, MeasuringData> measuringData, Integer readDay) {
-        log.debug("-----begin meter reading , meter = {},readDay = {}",waterMeter.getDeviceId(),readDay);
+        log.info("-----begin meter reading , meter = {},readDay = {}",waterMeter.getDeviceId(),readDay);
         StopWatch clock = new StopWatch();
         clock.start(); // 计时开始
         try {
@@ -406,7 +406,7 @@ public class MeterReadRecordServiceImpl implements MeterReadRecordService {
             }
         }
         clock.stop();
-        log.debug("-----end meter reading , meter = {},readDay = {},Cost = {}ms",waterMeter.getDeviceId(),readDay,clock.getTime());
+        log.info("-----end meter reading , meter = {},readDay = {},Cost = {}ms",waterMeter.getDeviceId(),readDay,clock.getTime());
     }
 
     protected Map<String,String> getMeasuringValueMap(Map<String, MeasuringData> measuringData){

+ 95 - 0
meter-reading-common/src/main/resources/application-common-prd.properties

@@ -0,0 +1,95 @@
+#########################################基础配置#################################################
+server.workId=0
+server.dataCenterId=1
+#########################################数据源配置#################################################
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
+spring.datasource.url=jdbc:mysql://47.112.217.10:3306/smart_city?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+spring.datasource.username=root
+spring.datasource.password=100Zone@123
+spring.datasource.druid.initial-size=5
+spring.datasource.druid.min-idle=5
+spring.datasource.druid.max-active=20
+spring.datasource.druid.max-wait=60000
+spring.datasource.druid.time-between-eviction-runs-millis=60000
+spring.datasource.druid.min-evictable-idle-time-millis=300000
+spring.datasource.druid.validation-query=SELECT 1
+spring.datasource.druid.test-while-idle=true
+spring.datasource.druid.test-on-borrow=true
+spring.datasource.druid.test-on-return=false
+spring.datasource.druid.pool-prepared-statements=true
+spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.druid.filters=stat,wall
+spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+#########################################MyBatis配置#################################################
+mybatis.mapper-locations=classpath*:mapper/*.xml
+mybatis.type-aliases-package=com.huaxu.zoniot.entity
+mybatis.configuration.map-underscore-to-camel-case=true
+mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis.configuration.use-column-label=true
+#########################################Redis配置#################################################
+#spring.redis.host=114.135.61.188
+#spring.redis.port=26379
+#spring.redis.password=zoniot
+spring.redis.sentinel.nodes=10.0.0.71:26379,10.0.0.72:26379,10.0.0.73:26379
+spring.redis.sentinel.master=mymaster
+spring.redis.database=0
+spring.redis.timeout=6000
+spring.redis.lettuce.pool.max-active=8
+spring.redis.lettuce.pool.max-wait=100
+spring.redis.lettuce.pool.max-idle=8
+spring.redis.lettuce.pool.min-idle=0
+spring.redis.lettuce.shutdown-timeout=100
+######################################################MongoDB配置#####################################################
+#基础连接参数
+#要连接的数据库
+mongodb.database=meter-reading-database
+#用户名
+mongodb.username=water
+#密码
+mongodb.password=zcxk100
+#IP和端口(host:port),例如127.0.0.1:27017。集群模式用,分隔开,例如host1:port1,host2:port2
+mongodb.address=20.0.0.67:27017
+#设置认证数据库,如果有的话
+mongodb.authenticationDatabase=meter-reading-database
+# 客户端连接池参数
+#客户端的标识,用于定位请求来源等,一般用程序名
+mongodb.clientName=${spring.application.name}
+#TCP(socket)连接超时时间,毫秒
+mongodb.connectionTimeoutMs=5000
+#TCP(socket)连接闲置时间,毫秒
+mongodb.maxConnectionIdleTimeMs=60000
+#TCP(socket)连接最多可以使用多久,毫秒
+mongodb.maxConnectionLifeTimeMs=300000
+#TCP(socket)读取超时时间,毫秒
+mongodb.readTimeoutMs=15000
+#当连接池无可用连接时客户端阻塞等待的最大时长,毫秒
+mongodb.maxWaitTimeMs=5000
+#心跳检测发送频率,毫秒
+mongodb.heartbeatFrequencyMs=20000
+#最小的心跳检测发送频率,毫秒
+mongodb.minHeartbeatFrequencyMs=8000
+#心跳检测连接超时时间,毫秒
+mongodb.heartbeatConnectionTimeoutMs=10000
+#心跳检测读取超时时间,毫秒
+mongodb.heartbeatReadTimeoutMs=15000
+#线程池允许的最大连接数
+mongodb.connectionsPerHost=20
+#线程池空闲时保持的最小连接数
+mongodb.minConnectionsPerHost=4
+#计算允许多少个线程阻塞等待时的乘数,算法:threadsAllowedToBlockForConnectionMultiplier*maxConnectionsPerHost
+mongodb.threadsAllowedToBlockForConnectionMultiplier=10
+#spring.data.mongodb.uri=mongodb://114.135.61.188:17017/meter-reading-database
+logging.level.org.springframework.data.mongodb.core=info
+######################################################SpringBatch配置#####################################################
+# 默认情况下,项目启动时就会自动执行配置好的批处理操作。这里将其设为不自动执行,后面我们通过手动触发执行批处理
+spring.batch.job.enabled=false
+# 项目启动时创建数据表(用于记录批处理执行状态)的 SQL 脚本,该脚本由Spring Batch提供
+spring.datasource.schema=classpath:/org/springframework/batch/core/schema-mysql.sql
+# 项目启动时执行建表 SQL
+spring.batch.initialize-schema=always
+# 每次执行的批大小
+spring.batch.chunk.size=500
+#########################################业务配置############################################
+#定义每个任务的数据集大小
+task.chunk.size=2000

+ 30 - 0
meter-reading-job/src/main/resources/application-job-prd.properties

@@ -0,0 +1,30 @@
+server.port=8081
+server.servlet.context-path=/meter/reading/job
+logging.level.root=info
+logging.file.path=./logs
+#########################################XXL Job配置#################################################
+xxl.job.admin.addresses=http://10.0.0.71:8081/xxl-job-admin
+xxl.job.accessToken=
+xxl.job.executor.appname=meter-reading-executor
+xxl.job.executor.address=
+xxl.job.executor.ip=
+xxl.job.executor.port=18081
+xxl.job.executor.logpath=/home/prd/meter-reading-job/xxl-job/jobhandler
+xxl.job.executor.logretentiondays=30
+#########################################Rabbit MQ 配置#############################################
+spring.rabbitmq.host=47.112.217.10
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=zoniot
+spring.rabbitmq.password=zcxk100
+spring.rabbitmq.virtual-host=/
+spring.rabbitmq.connection-timeout=1000ms
+# 开启发送确认
+spring.rabbitmq.publisher-confirm-type=correlated
+# 开启发送失败退回
+spring.rabbitmq.publisher-returns=true
+spring.rabbitmq.template.mandatory=true
+# 开启ACK
+spring.rabbitmq.listener.direct.acknowledge-mode=manual
+spring.rabbitmq.listener.simple.acknowledge-mode=manual
+# 任务队列
+job.task.rabbit.exchange=job-task-exchange

+ 6 - 4
meter-reading-service/src/main/java/com/huaxu/zoniot/consumer/WaterMeterDataConsumer.java

@@ -44,15 +44,17 @@ public class WaterMeterDataConsumer {
         clock.start(); // 计时开始
         long tag = (long) headers.get(AmqpHeaders.DELIVERY_TAG);
         String correlationId=(String)headers.get("spring_returned_message_correlation");
+        Map<String, MeasuringData> measuringData = null ;
+        Long deviceId = null;
         try {
-            Map<String, MeasuringData> measuringData = JSON.parseObject(data, new TypeReference<Map<String, MeasuringData>>() {});
-            Long deviceId = Long.parseLong(correlationId.split("-")[0]);
+            measuringData = JSON.parseObject(data, new TypeReference<Map<String, MeasuringData>>() {});
+            deviceId = Long.parseLong(correlationId.split("-")[0]);
             meterReadRecordService.meterReading(deviceId,measuringData);
             channel.basicAck(tag, false);
         }catch (Exception e) {
             e.printStackTrace();
-            log.error("消费水表数据失败",e);
-            channel.basicNack(tag, false, true);
+            log.info("消费水表数据失败,设备Id={},上报数据={}",deviceId,JSON.toJSONString(measuringData));
+            channel.basicNack(tag, false, false);
         }
         clock.stop();
         log.debug("-----Consumer Message , data = {},Cost = {}ms",data,clock.getTime());

+ 25 - 0
meter-reading-service/src/main/resources/application-service-prd.properties

@@ -0,0 +1,25 @@
+server.port=8083
+server.servlet.context-path=/meter/reading/service
+logging.level.root=info
+logging.file.path=./logs
+#########################################Rabbit MQ 配置#############################################
+spring.rabbitmq.host=47.112.217.10
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=zoniot
+spring.rabbitmq.password=zcxk100
+spring.rabbitmq.virtual-host=/
+spring.rabbitmq.connection-timeout=1000ms
+# 开启发送确认
+spring.rabbitmq.publisher-confirm-type=correlated
+# 开启发送失败退回
+spring.rabbitmq.publisher-returns=true
+spring.rabbitmq.template.mandatory=true
+# 开启ACK
+spring.rabbitmq.listener.direct.acknowledge-mode=manual
+spring.rabbitmq.listener.simple.acknowledge-mode=manual
+spring.rabbitmq.listener.simple.concurrency=2
+spring.rabbitmq.listener.simple.max-concurrency=4
+spring.rabbitmq.listener.simple.prefetch=250
+# 水表数据队列
+com.huaxu.zoniot.meter.data.exchange=meter-data-exchange
+com.huaxu.zoniot.meter.data.queue=meter-data-queue

+ 15 - 0
meter-reading-tianjin/src/main/resources/application-tianjin-prd.properties

@@ -0,0 +1,15 @@
+server.port=8088
+logging.level.root=info
+logging.file.path=./logs
+server.servlet.context-path=/readmeter
+spring.application.name=meter-reading-tianjin
+##############################################业务配置##########################################
+api.key=hauxureadmeter
+netcode=20191118
+meterBore=NB_IOT_20mm
+province.code=120000
+city.code=120100
+region.code=120112
+#配置津南总公司的客户ID
+customer.code=29
+device.type.code=25

+ 19 - 19
smart-city-intf/src/main/resources/application-prd.properties

@@ -1,7 +1,12 @@
-#log
+###################################################基础配置######################################################
 logging.level.root=info
-logging.path=/mnt/prd/interface/logs
-#database
+logging.path=./logs
+server.dataCenterId=1
+server.workId=0
+spring.jackson.time-zone=GMT+8
+spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+spring.jackson.joda-date-time-format=yyyy-MM-dd HH:mm:ss
+####################################################数据库配置######################################################
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.url=jdbc:mysql://172.18.110.178:3306/smart_city?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
@@ -22,24 +27,18 @@ spring.datasource.druid.pool-prepared-statements=true
 spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
 spring.datasource.druid.filters=stat,wall
 spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
-
-# mybatis_config
+###################################################Mybatis配置######################################################
 mybatis.mapper-locations=classpath*:mapper/*.xml
 mybatis.type-aliases-package=com.zcxk.smartcity.data.access.entity
 mybatis.configuration.map-underscore-to-camel-case=true
 mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 mybatis.configuration.use-column-label=true
-
-spring.jackson.time-zone=GMT+8
-spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
-spring.jackson.joda-date-time-format= yyyy-MM-dd HH:mm:ss
-
-#redis
+###################################################Redis配置######################################################
 spring.redis.host=172.18.110.178
 spring.redis.port=6379
 spring.redis.password=100Zone@123
 spring.redis.database=1
-
+###################################################Kafka配置######################################################
 #kafka server
 spring.kafka.bootstrap-servers=172.18.110.178:9092
 #kafka producer config
@@ -48,26 +47,24 @@ spring.kafka.producer.batch-size=4096
 spring.kafka.producer.buffer-memory=40960
 com.zcxk.kafka.alarm.topic=sc_alarm_topic
 com.zcxk.kafka.card.topic=sc_card_topic
-com.zcxk.kafka.accept_valve_state.topic=sc_accept_valve_state_topic
 #kafka consumer config
 spring.kafka.consumer.group-id=iot-hub-prd
 spring.kafka.consumer.auto-offset-reset=latest
 spring.kafka.consumer.enable-auto-commit=true
 com.zcxk.kafka.single.data.topic=sc_single_data_topic
 com.zcxk.kafka.multi.data.topic=sc_multi_data_topic
-#阿里云网管平台配置项
+com.zcxk.kafka.accept_valve_state.topic=sc_accept_valve_state_topic
+###################################################阿里云NMS配置######################################################
 aliyun.nms.topic=zoniot-aliyun-ns-test-topic
 aliyun.nms.access.key=LTAI9bq4vr6ClPGW
 aliyun.nms.secret.key=hKYWEneQH2hQOs2DnG4PsAUqk4Thps
 aliyun.nms.server.name=http://MQ_INST_1159852013518008_Ba5mtzmw.mq-internet-access.mq-internet.aliyuncs.com:80
 aliyun.nms.group.id=GID_ZONIOT_NMS_DEV
-
-##############################RabbitMQ#########################################
+###################################################RabbitMQ配置######################################################
 spring.rabbitmq.host=47.112.217.10
 spring.rabbitmq.port=5672
 spring.rabbitmq.username=zoniot
 spring.rabbitmq.password=zcxk100
-
 # 开启发送确认
 spring.rabbitmq.publisher-confirms=true
 # 开启发送失败退回
@@ -75,6 +72,9 @@ spring.rabbitmq.publisher-returns=true
 # 开启ACK
 spring.rabbitmq.listener.direct.acknowledge-mode=manual
 spring.rabbitmq.listener.simple.acknowledge-mode=manual
-
 com.zcxk.rabbitmq.water.meter.queue=water_meter_queue
-com.zcxk.rabbitmq.command.status.queue=command_status_queue
+com.zcxk.rabbitmq.command.status.queue=command_status_queue
+com.zcxk.rabbitmq.meter.data.exchange=meter-data-exchange
+######################################################MongoDB配置#####################################################
+spring.data.mongodb.uri=mongodb://water:zcxk100@114.135.61.189:27071/meter-reading-database?authSource=meter-reading-database
+logging.level.org.springframework.data.mongodb.core=info