摘要:
案例背景 在互联网分布式场景中,原本一个系统被拆分成多个子系统,要想完成一次写入操作,你需要同时协调多个系统,这就带来了分布式事务的问题(分布式事务是指:一次大的操作由多个小操作组成,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败)。那怎么设计才能实现系统之 阅读全文
摘要:
一、业务背景 有些业务请求,属于耗时操作,需要加锁,防止后续的并发操作,同时对数据库的数据进行操作,需要避免对之前的业务造成影响。 二、分析流程 使用 Redis 作为分布式锁,将锁的状态放到 Redis 统一维护,解决集群中单机 JVM 信息不互通的问题,规定操作顺序,保护用户的数据正确。 梳理设 阅读全文
摘要:
前言 业务功能开发过程中经常遇到一些需要任务能够按照自己设定的时间执行,或者还有一些导出导入能够异步去处理,其实实现这样的组件很多, 在Java领域,有很多定时任务框架,这里简单对比一下目前比较流行的三款: 网络资源: Quartz文档:https://www.w3cschool.cn/quartz 阅读全文
摘要:
分布式接口幂等性、分布式限流:Guava 、Nginx和lua限流 一、分布式接口幂等性 接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣 阅读全文
摘要:
1、使用自定义BOM来维护第三方依赖 1 <dependencyManagement> 2 <dependencies> 3 <dependency> 4 <groupId>io.spring.platform</groupId> 5 <artifactId>platform-bom</artifa 阅读全文
摘要:
转载于: Java Bean 转 Map 的巨坑,注意了!!! (qq.com) 阅读全文
摘要:
打断点调试运行后后堆栈可视化效果: 阅读全文
摘要:
import java.util.Arrays; /** * 功能描述 * * @author ASUS * @version 1.0 * @Date 2022/8/27 */ public class Main06 { public static void main(String[] args) 阅读全文
摘要:
import org.apache.dubbo.common.utils.CollectionUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.u 阅读全文
摘要:
JAVA基础 1、自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。 2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。 3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者 阅读全文