# 转发设备消息到消息中间件
在1.3
版本中增加了将设备消息转发到rabbitMQ
或者kafka
的功能.
# 转发到RabbitMQ
修改配置文件application.yml
:
spring:
rabbitmq: # rabbitMQ配置
host: localhost
port: 5672
username: admin
password: jetlinks
device:
message:
writer:
time-series:
enabled: true # 直接写出设备消息数据到时序数据库
rabbitmq:
enabled: true # 推送设备消息到rabbitMQ
consumer: false # 从rabbitMQ订阅消息并写入到时序数据库,与time-series.enabled不能同时为true
thread-size: 4 # 消费线程数
auto-ack: true # 自定应答,为true可能导致数据丢失,但是性能最高。
topic-name: device.message # rabbitMQ exchange名称
#ignore-message-types: INVOKE_FUNCTION,READ_PROPERTY # 忽略转发消息类型
#include-message-types: EVENT # 只转发指定的消息类型
# 转发到Kafka
修改配置文件application.yml
:
spring:
kafka:
consumer:
client-id: ${spring.application.name}-consumer:${server.port}
group-id: ${spring.application.name}
max-poll-records: 1000
producer:
client-id: ${spring.application.name}-producer:${server.port}
acks: 1
retries: 3
bootstrap-servers: ["127.0.0.1:9092"]
device:
message:
writer:
time-series:
enabled: true # 直接写出设备消息数据到时序数据库
kafka:
enabled: true # 推送设备消息到kafka
consumer: false # 从kafka订阅消息并写入到时序数据库,与time-series.enabled不能同时为true
topic-name: device.message # kafka topic名称
#ignore-message-types: INVOKE_FUNCTION,READ_PROPERTY # 忽略转发消息类型
#include-message-types: EVENT # 只转发指定的消息类型