需求:注册的服务可能放在不同的服务器上,使用不同的ip或端口。各自打印的日志存在不同的机器上。
所以我们需要一个消费者,用来收集日志各个系统的日志。把不同系统的日志整合到一起。
上一个项目每注册一个新用户打印一个日志, 我们可以利用MQ消息队列来进行日志的收集工作。
一、生产者进行消息的发送,
步骤:
1、首先引入RocketMQ依赖
2、配置log4j2.properties对rocketmq的支持
3、建一个mq的工具类
在com.sy下建立mq包,并建立OnewayProducer.java类。这个类参数是消息主题,消息标记和消息正文。
官方提供了多种生产者的方法,用于不同场景:http://rocketmq.apache.org/docs/simple-example/
4、在注册成功时,我们调用此方法。(实现将注册成功的用户日志发到MQ消息队列。等待消费者进行消费)
二、消费者进行消息的接受和保存
步骤:
1、新建一个maven项目,添加mq和log4j2依赖。
2、建立一个简单的main方法,接受生产者发来的日志。
3、功能测试。
当我们注册成功时,生产者先发送一条消息,然后消费者受到此条消息并打印到控制台。
我们还可以将消息保存到数据库。