- 博客(5)
- 收藏
- 关注
原创 SpringBoot中动态数据源的实现与探究
数据库环境中demo1库中有A表,demo2库中有B表,demo3库中有C表,默认的数据源是Demo1,这里切换到demo3数据源并查询对应的C表数据。首先,什么是动态数据源,网上其实已经有很多回答了。本文将会利用Druid数据源实现动态的数据源,并且使用注解实现。作用:管理线程的数据源,可以进行数据源的切换。中配置的默认的数据源,这是为什么呢?
2024-05-20 18:04:59
1457
1
原创 SpringBoot 使用【动态数据源】实现【多线程事务】一致性的探究
为了后面日志打印时能够更加清楚直观地看到任务的执行结果,这里自定义一个线程类为任务添加一个taskName属性用来指代任务名称@Override使用最好还需要使用自定义的线程池,能够更加灵活方便地管理任务线程。定义线程池最好用单例模式,能够有效避免代码粗心导致多次创建线程池,浪费内存。/*** 自定义线程池功能方法接口*//*** 自定义线程池枚举 (使用枚举实现单例模式)*/@Override//优雅停止线程池@Component。
2024-05-15 11:56:34
2022
原创 Java热更新原理与代码实现
热更新指的是项目应用在运行的过程中,修改后的代码文件无需进行应用重启就能够被JVM加载并使用。该方式能够提高开发,减少项目频繁的重启。使用IDEA的可以使用插件实现更加完善的项目热更新。热更新的实现主要是依赖加载需要进行热更新的类(加载的是.class文件),接着只需在使用该类的时候,用自定义的类加载器加载指定class文件,最后使用反射调用对应的方法。当我们修改文件后,只需要重新编译该文件生成新的class文件,接着就会被自定义类加载器加载使用,实现文件的热更新。流程如下图所示:需要定义一个自定义的类
2024-05-07 18:38:37
2720
1
原创 负载均衡 轮询算法
学习负载均衡的轮询算法简单记录一下…服务实例权重值311轮询算法是负载均衡中最常见也是最简单的算法,其无需记录实例节点的状态,只需要知道有哪些节点和对应的权重值,就能通过固定的逻辑进行调度,因此是一种无状态的调度算法。也正是因为其是“无状态”的,无法动态感知实例节点的连接数和负载,有可能节点的负载已经很大了,调度还是会将请求转发到该节点上,因此容易造成服务负载过大导致节点宕机。所以该算法只能满足一些简单的场景,如果需要满足能够动态感知服务状态进行负载的场景,则应该选择其他的负载均衡算法。
2023-10-08 18:01:05
380
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人