- 博客(59)
- 资源 (3)
- 收藏
- 关注
原创 Jenkins 环境搭建---基于 Docker
提前安装jdk、maven、nodeJs(如果需要的话)创建 jenkins 环境目录,用来当做挂载卷。
2025-02-20 11:50:49
1449
原创 搭建Kubernetes (K8s) 集群----Centos系统
准备3台Linux虚拟机(CentOS系统),参考搭建Docker环境,参考编辑 daemon.json# 重启docker。
2025-02-20 11:22:54
1714
原创 关于服务限流的几种方案
默认情况下,当请求被限流时,Gateway会返回状态码。你可以通过自定义来修改限流响应。@Bean二:spring boot 项目。
2024-04-22 09:41:02
757
原创 使用 Spring AOP的方式在应用层实现读写分离方案
在Spring应用中实现读写分离可以通过多种方式实现,常见的方式包括基于AOP(面向切面编程)和基于数据源路由。下面是一个基于数据源路由的简单实现示例。
2024-04-02 10:10:27
404
原创 Nacos 高可用集群配置
在集群模式下,多个 Nacos 实例共同工作,形成一个集群来提供配置管理和服务注册等功能。这能够增强系统的可靠性、可扩展性以及容错能力。Nacos 集群配置概览:要搭建 Nacos 集群,通常需要多个 Nacos 节点实例,并且需要确保它们之间能够互相通信。下面是搭建 Nacos 集群的一些基本步骤和配置。
2024-03-11 09:33:27
602
原创 Spring Boot 兼容Redis、Redisson单机和哨兵模式
【代码】Spring boot 配置redis、redisson单机和哨兵模式。
2023-08-24 13:35:52
590
原创 Windows环境MySql主从同步、读写分离的搭建(Linux类似)
主服务器 ip:192.168.50.97从服务器 ip:172.28.4.244同步测试用的数据库scheme:carry-middleware。
2023-04-28 14:35:46
287
原创 Mybatis 源码 MappedStatement原理
Mybatis在sping boot 启动的时候,会自动装配,其中包含重要的属性,Configuration里面的MappedStatement,封装了xml里面的所有select|insert|update|delete信息。本文以mybatisplus为例MybatisPlusAutoConfiguration首先加入mybatisplus的依赖后,sping boot找到com.baodidou.mybatisplus.autoconfigure包下面的META-INF/spring.fa
2022-04-26 19:16:31
2350
原创 Eureak原理以及相关源码分析
@Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED, rollbackFor = {Throwable.class}, readOnly = false)传播行为:propagation = Propagation.REQUIRES_NEW 不生效问题因为:由于this对象没被spring代理生成新的代理对象,而是本类的上下文方法上的事物注解不会起作用当前类的对象没有
2021-05-10 14:08:59
262
1
原创 TaskDecorator——异步多线程中传递上下文等变量
/** * @author Carry * @Title: * @Package * @Description: * @date 2021/5/8 16:04 */public class ContextDecorator implements TaskDecorator { @Override public Runnable decorate(Runnable runnable) { RequestAttributes context = RequestC.
2021-05-08 16:24:32
271
1
原创 通俗理解CAP理论大白话
对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统中的CAP理论。保证你能听懂。为了防止被误以为是洗文的嫌疑,我在这里先说明一下:我参考了知乎和博客园上等相关文章,还有下面的图不是我自己画的,我觉得能清晰地表达出意思就是好图,在百度图片上下载了一波。一、什么是分布式系统拿一个最简单的例子,就比如说我们的图书管理系统。之前的系统包含了所有的功能,比如用户注册登录、管理员功能、图书借阅
2021-04-17 11:16:44
211
原创 @Retryable重试机制
尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配 置Spring。比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添 加@Component注解的,因此就不能使用自动化装配的方案了要在JavaConfig中声明bean,我们需要编写一个方法,这个方法会创建所需类型的实例,然后给这个方法添加@Bean注解。比方说,下面的 代码声明了CompactDisc bean:@Bean注解会告诉
2021-03-18 11:29:06
1738
原创 JVM与GC
三:jvm内存根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。Thread Stack 1代表线程栈1,Thread Stack 2代表线程栈2,Object为对象图2 Runtime Data Area(运行时数据区,jvm内存)1:虚拟机栈(线程栈)与 堆(Heap)线程共享堆内存、方法区,都有自己的私有线程栈 栈中主要存放 1:基本类型的变量 2:引用类型的变量......
2021-03-11 17:09:37
927
1
原创 如何解决Redis大key问题
Redis大key的一些场景及问题大key场景1、热门话题下评论、答案排序场景。2、大V的粉丝列表。3、使用不恰当,或者对业务预估不准确、不及时进行处理垃圾数据等。大key问题由于Redis主线程为单线程模型,大key也会带来一些问题,如:1、集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS高。2、大key相关的删除或者自动过期时,会出现qps突降或者突升的情况,极端情况下,会造成主从复制异常,Redis服务阻塞无法
2021-03-11 15:36:20
566
1
原创 Eureka Server 数据存储和缓存
上节为大家介绍了 Eureka 的工作原理,其中提到了 Eureka Server 内部有二层缓存机制,那这些机制是如何工作的,以及 Eureka Server 是如何存储服务的注册信息,本节会给大家揭晓。Eureka 在使用过程中有一些非常重要的配置项,本节也会整理出来,方便大家以后在生产环境根据项目场景来调整。Eureka Server 数据存储我们知道 Eureka Server 在运行期间就是一个普通的 Java 项目,并没有使用数据库之类的存储软件,那么在运行期间是如何存储数据的呢?
2021-03-03 15:03:49
243
1
原创 windows下redis一主二从三哨兵搭建
一:下载redisredis官网下载最新版,然后复制6份(1份master,2份slave,3份sentinel)二:修改配置文件IP地址配置如下主127.0.0.1 8881从 127.0.0.1 8882从 127.0.0.1 8883哨兵1 127.0.0.1 18881哨兵2127.0.0.1 18882哨兵3127.0.0.1 188831:修改master、slave配置文件port 8881protected-mode nobind ...
2021-02-20 13:16:52
778
原创 java多线程(三)--------线程池
一:前言从上一篇我们了解到线程的创建和启动过程,如果我们进行debug到i=1(第二个线程的建立和启动),会发现,main线程组里已经没有了Thread-0这个线程,此时的thread[1]=Thread-1。看控制台也能看出来Thread-0已经运行完结束了,被销毁了我们如果需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存。而在Java中,内存资源是及其宝贵的,所以,我们就提出了线程池的概念。和数据库连接池的理论一样,线程池的好处,就是可以方
2021-01-29 16:44:26
262
原创 java多线程(二)--------Thread源码
一:线程特性1、线程能被标记为守护线程,也可以是用户线程,标记为守护线程必须在start()方法之前调用2、每个线程均分配一个name,默认为(Thread-自增数字)的组合3、每个线程都有优先级.高优先级线程优先于低优先级线程执行. 1-10,默认为54、main所在的线程组为main,构造线程的时候没有现实的指定线程组,线程组默认和父线程一样,进入线程组main5、当线程中的run()方法代码里面又创建了一个新的线程对象时,新创建的线程优先级和父线程优先级一样6、当且仅当父线程为守护线程时
2021-01-29 16:44:11
413
原创 java多线程(一)--------简单实现
一:并发与并行并发: 是指同一个时间段内多个任务同时都在执行,并且都没有执行结束。强调在一个时间段内同时执行,而一个时间段由多个单位时间累积而成,所以说并发的多个任务在单位时间内不一定同时在执行 。 比如你开车的时候,右手掌方向盘,过一会渴了拿杯子喝水,喝完又接着开车,在开车的同一个时间段内,你并发了。 并发的关键是你有处理多个任务的能力,不一定要同时。并行: 是说在单位时间内多个任务同时在执行 。 ...
2021-01-29 16:43:51
351
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅