- 博客(70)
- 收藏
- 关注
原创 springboot集成redis实现原理分析
我们知道,在 springboot 1.5.x版本的默认的Redis客户端是 Jedis实现的,需要导入jedis依赖,springboot 2.x版本中默认客户端是用 lettuce实现的,需要导入spring-boot-starter-data-redis依赖。这两种方式使用的都是 TCP协议.Jedis使用直连方式连接Redis Server,在多线程环境下存在线程安全问题, 因此需要增加连接池来解决线程安全的问题,
2023-06-13 15:53:10
2826
2
原创 springboot启动过程原理分析
现在绝大多数java项目都上了Springboot框架, 因此深入理解Springboot框架的运行原理,能帮助我们更好的在Springboot框架下进行业务开发,同时能学习框架中优秀的设计思想, 本文主要是通过对Springboot源码的分析, 来理解整个springboot项目的启动流程. 因为Springboot不同版本的源码有差异, 因此特别声明, 本文是基于2.2.10.RELEASE版本进行的原理分析.
2023-06-02 14:06:49
2280
1
转载 spring kafka之如何批量给topic加前缀
最近业务开发部门给我们部门提了一个需求,因为他们开发环境和测试环境共用一套kafka,他们希望我们部门能帮他们实现自动给kafka的topic加上环境前缀,比如开发环境,则topic为dev_topic,测试环境,则topic为test_topic,他们kafka客户端是使用spring-kafka。一开始接到这个需求的时候,我心里是拒绝的,为啥开发环境和测试环境不分别部署一套kafka,还要那么麻烦。但老大都答应接这个需求了,作为小罗罗也只能接了。
2023-06-01 11:41:14
350
原创 线程池的位运算详解
翻阅 Java线程池的源码,可以看到用到了大量的位运算操作,本文来分析下这些位运算是如何计算的,以及最后算出的结果是什么。上面提到的那些位运算操作是研究源码的基础,如果为了省事,也完全不用研究这么透彻, 记住文中开头的源码注释内容即可。比如CAPACITY表示的最到线程数量就是 29 bit 1。
2023-05-17 17:52:17
883
转载 Spring Cloud Gateway 服务网关的部署与使用
通过前面的测试可以看到一个现象:一旦路由的微服务下线或者失联了,Spring Cloud Gateway直接返回了一个错误页面,如下图:显然这种异常信息不友好,前后端分离架构中必须定制返回的异常信息。传统的Spring Boot 服务中都是使用 @ControllerAdvice 来包装全局异常处理的,但是由于服务下线,请求并没有到达。因此必须在网关中也要定制一层全局异常处理,这样才能更加友好的和客户端交互。
2023-04-27 16:10:04
974
原创 Canal使用
Canal server 管理界面Canal instance 管理界面Canal server的配置########################################################## common argument ############################################################### tcp bind ipcanal.ip =# register ip to zookeepercanal
2022-05-21 13:42:25
483
原创 分库分表3----Sharding-JDBC解决分库分表后所引发的部分问题
Sharding-JDBC分库分表1 概述1.1.分库分表是什么随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。分析一下问题出现在哪儿呢﹖关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。方案1 :通过提升服务器硬件能力来提高数据处理能力,比如增加存储容量、CPU等,这种方案成本很高,并且如果瓶颈在MySQL本身那么提高硬件也是有限
2022-05-07 00:45:14
1362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人