springboot2 搭建日志收集系统存入mongodb + redis+mq+线程池+xxljobs
我们看到了高效批量插入mongodb速度还不错,那么我们的系统日志收集怎么做呢。
当然当前文件日志收集效果也不错,比如前面博文写的elkf搭建日志收集系统。
但我们系统中总是有不少重要的报文需要收集,比如订单信息,比如指定的客户信息。
思路:
1、在每个需要收集的服务上组建好要收集的日志信息。
2、通过mq发送出去。这个mq发送邮一定的耗时,所有mq发送时,采用线程池方式。
3、日志收集系统,订阅这个mq的队列,接收到消息后,存储到redis中。
4、通过xxljob没秒钟到redis中全部捞出要存储的日志信息,根据其中的分类区分存储到不同的mongodb集合中。
这里涉及几个点:
1、mq如何发送。
2、mq如何接收。
3、线程池如何使用。
4、redis写入。
5、redis如何获取数据。
7、xxljob如何使用。
8、mongodb如何批量写入。
9、如何让这个服务通用起来。