使用 SpringBoot Admin 监控服务
Spring Boot Admin 简介 随着开发周期的推移,项目会不断变大,切分出的服务也会越来越多,这时一个个的微服务构成了错综复杂的系统。 对于各个微服务系统的健康状态、会话数量、并发数、服务资源、延迟等度量信息的收集就成为了一个挑战...
Spring Boot Admin 简介 随着开发周期的推移,项目会不断变大,切分出的服务也会越来越多,这时一个个的微服务构成了错综复杂的系统。 对于各个微服务系统的健康状态、会话数量、并发数、服务资源、延迟等度量信息的收集就成为了一个挑战...
整合 Redis 哨兵模式 引入依赖 在 pox.xml 中引入 org.apache.commons:commons-pool2 和 org.springframework.boot:spring-boot-starter-data-re...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
引入依赖 在 pom.xml 中添加 io.springfox:springfox-swagger2 和 io.springfox:springfox-swagger-ui 依赖 <dependency> <groupId...
用户角色权限数据库设计 数据库这里以 MySQL 为例 创建数据库 所需表如下: user:用户表 role:角色表 perm:权限菜单表 user_role:用户与角色关联的中间表 role_prem:角色与权限菜单关联的...
整合 Druid 数据源 引入依赖 在 pom.xml 中引入 druid-spring-boot-starter 和 mysql-connector-java 依赖 <!-- druid-spring-boot-starter --...
Semaphore通过permits的值来限制线程访问临界资源的总数,属于有限制次数的共享锁,不支持重入。 前提条件 在理解Semaphore时需要具备一些基本的知识: 理解AQS的实现原理 之前有写过一篇《深入浅出AQS源码解析》关于AQ...
读写锁实现逻辑相对比较复杂,但是却是一个经常使用到的功能,希望将我对ReentrantReadWriteLock的源码的理解记录下来,可以对大家有帮助 前提条件 在理解ReentrantReadWriteLock时需要具备一些基本的知识 理...
ReentrantLock不但是可重入锁,而且还是公平或非公平锁,在工作中会经常使用到,将自己对这两种锁的理解记录下来,希望对大家有帮助。 前提条件 在理解ReentrantLock时需要具备一些基本的知识 理解AQS的实现原理 之前有写过...
JVM垃圾回收的算法很多,但是不管是哪种算法,在进行GC时大致的流程都是差不多的,主要有以下3个过程: 1. 枚举根节点 这个过程主要是找到所有的GC Roots对象,这些对象一般发生在JVM虚拟机栈栈帧、常量池中的静态对象、方法区中静态类...
在多线程的情况下,ThreadLocal提供了一个种为每个线程访问相同的变量,并且线程对变量的更新互不影响的机制。也是对象实现线程安全的一种方式。 ThreadLocal的实现机制 我们常用的方法有get、set和initialValue,...