四时宝库

程序员的知识宝库

SpringBoot(57) 整合Plumelog实现分布式日志查询

一、前言

SpringBoot集成plumelog日志系统(springboot 日志)

PlumeLog简介

springCloud实现同一用户只能单台设备在线

//只允许一次登录
//获取请求头Authorization+expiresIn
String authorization=exchange.getRequest().getHeaders().getFirst(UaaConstant.AUTHORIZATION);
if(StringUtils.isNotBlank(authorization)){
authorization=authorization.replace("Bearer ","");
}
String expiresIn=exchange.getRequest().getHeaders().getFirst(UaaConstant.EXPIRESIN);
authorization=authorization+expiresIn;
String redisAuth=null;
if(StringUtils.isNotBlank(userName)){
if(ObjectUtil.isNotNull(redisTemplate.opsForValue().get(userName))){
redisAuth=redisTemplate.opsForValue().get(userName).toString();
}
}
if(!authorization.equals(redisAuth)&&StringUtils.isNotBlank(redisAuth)){
return this.errorCom("该账号已在其他地方登录!",exchange,chain);
}

springboot2.2.X手册:抛弃ELK,百亿日志+调用链的Easylog很放心

溪云阁:专注编程教学,架构,JAVA,Python,微服务,机器学习等领域,欢迎关注,一起学习。

现在很多的日志,在搭建的时候,都喜欢用Kafka+ELK来做,但是搭建起来就比较麻烦,就算不做高可用,做起来起码有4个组件需要,那做高可用的话,那就更多了,像zookeeper一般我们做集群,最低是3个节点。

1. SpringCache实战遇坑(spring cache key)

1. SpringCache实战遇坑

1.1. pom

  1. 主要是以下两个
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 配合redis做缓存 -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

Session共享解决方案(session共享(单点登录))

一、为什么要使用Session共享?

稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器的别的模块时,仍然需要重新登录,这就是一次登录,全部通行的问题,映射到技术上,其实就是各个服务器之间如何实现共享 SESSION 数据的问题。

Plumelog一个简单易用的java分布式日志组件

一.系统介绍

  1. 无入侵的互联网分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志
  2. 基于elasticsearch作为查询引擎
  3. 高吞吐,查询效率高

Spring boot集成plumelog日志系统

近几日闲来无事,工作摸鱼之时在码云上发现一个更加轻量级的分布式日志系统 PlumeLog ,就研究了一下,写了一个demo,做个记录

<< 1 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接