自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 服务器配置

export maxParameterCount=“1000”export acceptCount=“1000”export maxSpareThreads=“750”export maxThreads=“1000”export minSpareThreads=“50”export URIEncoding=“UTF-8”export JAVA_OPTS=" -Xms5120m -Xmx5120m -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=512m

2026-03-16 22:05:07 57

原创 日均千万单物流订单系统 生产环境无损全链路压测落地操作手册

你负责的是的物流订单系统,核心诉求是支撑日常10倍以上峰值(≥2万TPS),同时兼顾资源利用率。先明确一个核心误区:中小厂常用的「测试环境单接口压测」,在大厂高并发场景下。

2026-03-09 10:46:19 372

原创 日均千万单物流订单系统 全链路资损零容忍防控体系落地操作手册

你负责的是的物流订单系统,哪怕万分之一的资损率,单日直接资金损失就高达3.45万元,全年累计超1200万元;如果出现批量资损事件(如优惠规则bug、库存超卖),单次事故损失就可能突破百万,同时伴随用户投诉、合规处罚、品牌口碑崩塌,甚至法律风险。在大厂,,出现重大资损直接影响绩效、职级,甚至解除劳动合同;而中小厂研发普遍只关注「功能能不能跑通」,对资损防控几乎无概念,这也是大厂和中小厂研发的核心分水岭。

2026-03-09 10:45:48 366

原创 物流订单系统99.99%可用性全链路容灾体系落地操作手册

你负责的是。

2026-02-25 21:06:20 569

原创 大厂高级研发 核心竞争力对标清单

我负责过的物流订单系统全链路架构设计与核心开发,对比中小厂研发,我除了基础的链路优化、架构设计、SQL优化能力外,核心竞争力集中在「」,而非单纯的功能实现与被动需求响应。

2026-02-25 20:38:10 557

原创 2000万订单系统链路请求时间太长优化思路

严禁上来就改代码,先缩小排查范围。

2026-02-25 18:07:14 715

原创 日均2000万级订单系统分布式架构设计文档与操作手册

本方案完全对标京东物流、菜鸟、顺丰等国内大厂主流物流订单系统架构,支持日均2300万订单、峰值1.5万TPS,可用性99.99%,零丢单,可水平扩展,初级Java工程师可按文档从零完成系统搭建、开发、部署全流程。采用分层微服务架构,从接入到存储共7层,配套跨横切面的公共组件与治理体系,整体架构如下:2.1 部署架构采用同城双活架构,2个可用区AZ1/AZ2均部署完整的服务集群、数据库主从、中间件集群,流量按用户ID哈希路由,单AZ故障时流量30s内自动切换,RPO=0,核心数据库采用一主多从、半同步复制

2026-02-25 16:39:30 632

原创 高并发场景下 为啥要严格使用状态机,一个订单不可能同时修改成不同的状态吗

场景描述: 用户点击“支付”按钮,由于网络卡顿,用户以为没点上,又点了一次。你认为的“不可能同时修改”,通常是指单线程、单机、理想网络环境下的情况。在“高并发”场景下,一个订单完全有可能(而且经常)被“同时”尝试修改成不同的状态。如果没有严格状态机(配合乐观锁等机制),会发生数据错乱、资损、业务逻辑失效等严重问题。场景描述: 在微服务架构中,订单状态变更是由消息队列(MQ)驱动的。– 可选:配合版本号。真正的解决方案是:数据库层面的乐观锁 + 状态机校验。在高并发场景下,“同时修改”是常态,而不是异常。

2026-02-25 15:46:39 37

原创 我们在开发高并发高吞吐的java api 接口的时候要和开发常规接口的区别,要考虑哪些问题 一一列举

维度常规接口高并发接口核心目标功能正确功能正确 + 性能 + 稳定响应时间秒级可接受毫秒级要求 (P99 < 200ms)可用性99% 可接受99.99% (全年停机<52 分钟)设计思维同步、顺序、强一致异步、并行、最终一致容错能力依赖下游正常下游挂了也能降级返回资源意识不太关注每个对象、每次 IO 都要计较。

2026-02-24 22:51:48 580

原创 数据库迁移

L --> M[更新 last_id];我的系统是一个大的电商系统,每日的单量有几千万单,我每半年就要把数据库中的数据进行迁移归档。你现在是一个大厂的架构师,需要你考虑电商大厂的实际场景,各种因素和隐患,出具一份数据迁移的详细方案,要详细到工作一年以内的程序员新人也能看懂。如果你删得太快,Master 的 Binlog 会疯狂产生,Slave 同步不过来,会导致主从延迟(用户刚买完东西,去列表页查不到)。灰度发布:先迁移 100 条,人工核对,再迁移 10000 条,观察一整天,最后全速开启。

2026-01-28 16:35:10 697

原创 异常梳理aaaa

还有一个问题,比如我确信某个对象,他不会为空,但是因为上游的问题,这里就是获取到的是空值导致了空指针,又以为没有使用业务异常处理 最终导致上报了可用率,我理解空指针是业务异常,他不是因为系统调用接口调用不到,或者网络异常等系统原因的异常。对于这种“不可恢复的参数错误”(重试一万次也是空),你需要 catch 住它,打个 WARN 日志记录一下(“收到一条脏数据,丢弃”),然后正常返回(消费成功),以避免死循环重试。我理解就是 ERROR 是系统界别的异常,warn是业务级别的异常。

2026-01-19 22:21:10 481

原创 多线程插入数据库

【代码】多线程插入数据库。

2026-01-08 18:22:11 173

原创 啊啊啊啊啊

【代码】啊啊啊啊啊。

2024-11-16 22:15:15 273

原创 商城系统分布式下单

比如feginC()发生错误,这时候需要回滚feginB,这时候可以采用在test()方法中catch异常然后发送消息,进行数据的补偿回滚,我们采用在fegin主动调用延时队列的方式,就不用catch了,并且还可以做到期自动关单。二、在try的时候,直接发送一条消息,而不是登发生异常以后再发送,这条消息是发到延迟队列的,这样做的好处是,不用再catch中做补偿了,延时队列中的消息到时间以后,判断数据状态,需要补偿的进行数据的回滚,不需要的直接忽略。fegin中的消息队列就是为了fegin事务回滚用的。

2023-11-08 23:23:03 663

原创 如何实现接口幂等性

之前一直关于接口幂等性的问题,都是一知半解,最近终于弄清楚了一些,写这篇文章总结一下。

2023-11-08 17:20:04 552

原创 JVM类的加载相关的问题

我们自己写的写的类加载器,负责加载自定义路径下的类。

2023-09-04 11:53:57 1013

原创 微信支付的密钥和证书的使用

微信支付秘钥和证书是怎么使用的

2023-05-10 14:39:45 5687

原创 RSA加密的原理

RSA加密

2023-05-06 15:38:19 2028

原创 RSA加密为什么能保证安全

RSA加密

2023-05-06 15:34:01 2704

转载 自定义线程池线程数量设置

IO密集型和cpu密集型

2023-01-03 11:05:20 462

转载 我是如何把一个15分钟的程序优化到了10秒的

常见项目中的性能优化

2022-10-26 14:49:40 306

转载 缓存一致性的常见方案

缓存一致性的常见方案

2022-10-13 12:07:14 1101

转载 Redis常用工具

redis常用周边工具

2022-09-23 11:35:11 8557

转载 Java实现RSA加密

Java实现RSA加密1.原理2.实现过程3.公式4.举例5.最后简单谈谈RSA的安全性在RSA密码应用中,公钥KU是被公开的,即e和n的数值可以被第三方窃听者得到。破解RSA密码的问题就是从已知的e和n的数值(n等于pq),想法求出d的数值,这样就可以得到私钥来破解密文。从上文中的公式:d ≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1))) 我们可以看出。密码破解的实质问题是:从Pq的数值,去求出(p-1)和(q-1)。换句话说,只要求出p和q的

2022-01-14 15:25:13 15850 3

转载 springboot 整合日志

https://www.jb51.net/article/118849.htm

2021-12-29 17:14:36 226

转载 logback 详解

https://www.cnblogs.com/warking/p/5710303.html

2021-12-14 10:38:40 191

转载 git diff git log

https://zhuanlan.zhihu.com/p/275690353

2021-11-24 15:46:42 244

转载 git rebase

在之前的文章当中我们介绍了git merge的用法,明白了通过git merge我们可以合并两个分支的改动。这样我们就可以很方便地进行协同开发了,每个人都在自己的分支下开发代码,开发完毕之后再一起合并到master分支。通过这种方式可以保证大家的代码不会陷入混乱,但是这样有一个隐含的缺陷。缺陷就是我们之前说过的,当我们合并两个没有上下游关系的分支时,git会自动替我们生成一个merge commit,记录此次的merge。记录merge操作没有什么问题,问题是如果我们遇到特殊情况需要反复merge的时候,

2021-11-24 14:44:45 403

转载 省市区三级地址

https://www.cnblogs.com/ang-664455/p/7846206.html

2021-11-16 10:02:01 454

转载 Base64+MD5

https://www.jianshu.com/p/b419163272c1

2021-11-10 11:30:18 208

转载 maven 的几个内置属性

内置属性主要有两个常用内置属性: ${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本POM属性用户可以使用该属性引用POM文件中对应元素的值,常用的POM属性包括:${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java${project.build.direc

2021-11-03 11:26:34 491

转载 maven 几个常用插件

maven-compiler-plugin编译Java源码,一般只需设置编译的jdk版本<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration>

2021-11-03 11:07:57 819

转载 Spring 拦截器和过滤器的区别

https://www.zhihu.com/question/30212464/answer/1786967139

2021-10-27 09:57:45 187

转载 OOM排查

https://www.cnblogs.com/c-xiaohai/p/12489336.html

2021-09-18 11:17:19 182

转载 线程池中shutdown()和shutdownNow()方法的区别

https://www.cnblogs.com/aspirant/p/10265863.html

2021-09-08 18:48:06 207

原创 Eureka集群原理

2021-08-18 15:13:16 209

转载 spring cloud笔记一

前言: 十分喜欢尚硅谷老师的课程,此文章为记录周阳老师的2020最新版Springcloud的学习笔记。 技术版本cloudHoxton.SR1boot2.2.2.RELEASEcloud alibaba2.1.0.RELEASEjavajava8Maven3.5及以上Mysql5.7及以上1. 新建Maven父工程 cloud2...

2021-08-17 11:10:37 154

原创 Spring事务

环境搭建 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> //导入spring-jdbc以后会自动导入spr

2021-08-06 13:38:21 129

转载 Cglib动态代理

<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.2.5</version></dependency>public class UserDao{ public void save() { System.out.println("保存数据");

2021-08-05 14:28:02 124

转载 Java反射机制详解

对于一般的开发者,很少需要直接使用Java反射机制来完成功能开发,但是反射是很多框架譬如 Spring, Mybatis 实现的核心,反射虽小,能量却很大。本文主要介绍反射相关的概念以及API的使用,关于反射的应用将在下一篇文章中介绍反射的介绍反射(Reflection) 是 Java 在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。Class 类介绍:Java虚拟机为每个类型管理一个Class

2021-08-04 17:44:01 203

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除