- 博客(64)
- 收藏
- 关注
原创 Spring Cloud Alibaba VS Spring Cloud
维度定位标准微服务解决方案(Netflix OSS 生态)云原生 + 阿里生态集成核心优势社区成熟、文档丰富高性能、企业级功能(如分布式事务、流量控制)适用场景 传统微服务架构、多云环境阿里云用户、需要深度整合云服务的场景组件替换建议Seata、RocketMQ 无直接替代品推荐组合:混合使用:Nacos(服务发现) + Sentinel(限流) + OpenFeign(REST 调用)。
2025-04-24 18:23:23
904
原创 分布式事务以及seata四种模式介绍
定义:所有节点在同一时刻看到的数据完全相同(强一致性)。示例:用户A向用户B转账后,所有节点立即显示一致的余额。代价:需同步阻塞或等待数据复制,可能影响响应速度。
2025-04-22 11:37:18
1123
原创 多数据源配置(MyBatis-Plus vs AbstractRoutingDataSource)
使用 AbstractRoutingDataSource 配置多数据源是 Spring 原生的动态数据源解决方案,适合需要深度定制的场景。1.依赖仅需引入jdbc+连接池-- 仅需 Spring JDBC + 连接池(使用druid) -->2.数据源配置spring:master:druid:slave:druid:3.创建数据源上下文持有类4.实现动态数据源路由@Override5.配置数据源Bean@Bean@Bean@Bean@Primary。
2025-04-21 11:06:15
503
原创 docker部署springboot(eureka server)项目
打开idea右侧的 Maven 工具窗口(View → Tool Windows → Maven)双击 package 目标。
2025-04-18 23:08:49
493
原创 ubuntu离线安装docker
可以浏览器访问Docker下载目录进行下载(各个目录对应版本关系):也可以通过命令行方式(以下是在 Ubuntu 20.04 LTS(Focal Fossa) 上离线安装 Docker 的详细步骤:):下载 Docker CE 的核心包(适配 Ubuntu 20.04)下载时遇到“无法建立 SSL 连接”:1.检查系统时间和时区2.更新 CA 证书,证书链过期或缺失会导致 SSL 验证失败下载所有依赖包打包所有文件最终文件如下:如果文件名包含特殊字符%3a:Docker 24.
2025-04-13 16:30:10
837
原创 docker部署minio
MinIO 的官方 Docker 镜像托管在(而非 Docker Hub),以下是其版本分类及常见标签说明:环境对应信息:amd: 32位X86amd64: 64位X86arm: 32位ARMarm64: 64位ARM。
2025-04-05 17:24:31
498
原创 docker部署kkfileview
修改 /opt/kkfileview/config/application.properties 后重启容器生效。
2025-04-04 22:50:12
608
原创 Docker部署MySQL
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;#更新用户加密方式,mysql8默认的加密方式为caching_sha2_password 与mysql5的加密方式mysql_native_password 不同。–privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限。-v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录。创建容器,并后台启动。
2025-04-04 22:18:01
225
原创 【服务日志链路追踪】
在微服务架构中,日志链路追踪(Logback + Distributed Tracing) 是一个关键需求,主要用于跟踪请求在不同服务间的调用链路,便于排查问题。支持 HTTP(Feign/RestTemplate)、MQ(Kafka/RabbitMQ)、gRPC 等自动传播。Logback 提供的线程本地存储,用于存放日志变量(如 traceId)。日志输出时自动携带 MDC 中的字段(需配置 %X{traceId})。(2) Logback 配置(自动携带 traceId)
2025-04-03 20:13:07
824
原创 springcloud Hystrix
Hystrix的内部处理逻辑1构建Hystrix的Command对象, 调用执行方法.2Hystrix检查当前服务的熔断器开关是否开启, 若开启, 则执行降级服务getFallback方法.3若熔断器开关关闭, 则Hystrix检查当前服务的线程池是否能接收新的请求, 若超过线程池已满, 则执行降级服务getFallback方法.4若线程池接受请求, 则Hystrix开始执行服务调用具体逻辑run方法.5若服务执行失败, 则执行降级服务getFallback方法, 并将执行结果上报Metrics
2021-02-26 16:58:37
192
原创 事务 (数据库、Spring)
事务的四大特性(ACID)原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结
2021-02-26 15:03:33
211
原创 SpringBoot 启动类 @SpringBootApplication 注解
@SpringBootApplication : 是Sprnig Boot项目的核心注解,目的是开启自动配置@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( excludeFilters = {@Filter( type = Filte
2021-02-26 14:45:51
360
原创 springboot+druid
Druid是一个数据库连接池,是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。引入依赖包<dependency> <groupId>com.alibaba</groupId> <artifact...
2020-01-16 14:04:46
419
原创 线程的5种状态
线程的状态图新建(NEW):新创建了一个线程对象1.实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权1.可运行状态只是说你资格运行,调度程序没有挑选到你,...
2020-01-14 14:30:25
338
原创 springboot日志配置
引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope></depend...
2020-01-14 13:33:45
1639
原创 synchronized
使用方法修饰一个方法,被修饰的方法称为同步方法,其作用范围是整个方法修饰一个代码块,被修饰的代码块称为同步代码块,作用范围是大括号{}括起来的代码修改一个静态方法,作用范围是整个静态方法修改一个类,作用范围是synchronized后面括号括起来的部分修饰代码块class SynchronizedTest implements Runnable{ private static ...
2020-01-14 11:10:10
168
原创 java线程基础
进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。线程线程与进程相似,但线程是一个比进程更小的执行单位。一个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级...
2020-01-14 10:14:26
164
原创 ThreadPoolExecutor
ThreadPoolExecutorpackage com.zhw.learning.thread;import java.util.concurrent.*;/** * @author zhw */public class ThreadPoolExecutorTest { public static void main(String[] args) { ...
2020-01-08 15:07:32
167
原创 定时线程池(newScheduledThreadPool)
定时线程池(newScheduledThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledEx...
2020-01-08 14:02:24
7376
原创 单例线程池(newSingleThreadExecutor)
单例线程池(newSingleThreadExecutor)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Exec...
2020-01-08 13:48:49
2950
原创 固定数量线程池(newFixedThreadPool)
固定数量线程池(newFixedThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executo...
2020-01-08 13:41:51
4029
原创 缓存线程池(newCachedThreadPool)
缓存线程池(newCachedThreadPool)package com.zhw.learning.thread;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executor...
2020-01-08 13:33:47
1181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人