简介:本文所提及的公共日志服务主要指的是为部门和公司的其他系统提供一个日志拦截和重要日志查询的基础服务。
应用场景:统计各部门各个子系统涉及到数据更新操作的日志,并且能够将日志数据提供给部门的相关人员进行查看。
运用的技术:Spring 拦截器,dubbo 拦截器,mybatis 拦截器,mq,es
技术实现简介:
一、收集用户信息
1、http 请求-----统一经Spring拦截器拦截处理,获取相应的用户信息,
2、dubbo 接口,dubbo的话就不能走Spring的拦截器。这里我们先后用过两种方法,第一种是用dubbo 本身提供的RpcContext来透传服务消费者的一些参数,不过这种方式会有一些问题,后面改为 dubbo拦截器,通过ThreadLocal来收集用户信息。
3、定时任务,一开始也是通过RpcContext来做,不过后面还是改成了 ThreadLocal 来收集用户信息。
二、后续处理
请求拦截下来后走 mybatis 拦截器,该拦截器会对不同的数据操作请求进行不同的处理,主要拦截处理的操作有,update, insert,delete。拦截下来截取相应的sql ,sql操作之前的数据库信息,该应用的信息,操作用户的信息。将这些信息组装成一个JSON体,发送到MQ中。再经由MQ的消费者,消费数据,并将数据插入到ES中,然后前端调用http接口进行进行相应的操作(目前只提供模糊搜索和分页查询的功能,后续可能会接入相应安全和监控等相关的功能)
系统架构图
详细介绍 ---->见下一篇
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。