自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 编程语言发展历程

回顾编程语言的发展历程,从早期的机器语言和汇编语言,到高级语言的兴起,再到结构化编程、面向对象编程以及现代编程语言的多元化发展,每一个阶段都见证了技术的进步和创新。不同的编程语言在各自的时代背景下解决了特定的问题,推动了计算机科学和技术的发展。展望未来,编程语言将继续朝着更加简洁、高效、安全和智能化的方向发展。随着人工智能、大数据、区块链等新兴技术的不断涌现,编程语言也将不断演进,以满足这些领域的需求。例如,未来的编程语言可能会更加注重自然语言交互,使编程变得更加容易和直观;

2025-02-08 15:45:24 788

原创 各系统持久化实现浅析

RocketMQ-持久化同步刷盘1.生产者发送MQ到【Broker】2.【Broker】写入内存,同步模式的设置,会触发直接刷盘操作。物理落盘。3.如果【Broker】有主备,那么备用【Broker】也进行刷盘4.都刷盘成功后,返回生产者ACK异步刷盘1.生产者发送MQ到【Broker】2.【Broker】写入内存,返回生产者ACK3.定时模式和实时模式(默认定时刷盘模式)实时模式:当有数据写入的时候,便会刷新数据,并且每次最多刷新4页(16kb)的数据(调用线程,同步阻塞,等待刷盘结

2024-11-27 17:52:05 443

原创 问题-支付交易-缓存击穿故障

支付接口做压测,微信支付场景。用一个商户跑支付交易,支付流程主要包括:订单防重、商户校验、智能路由、额度等其他逻辑校验、订单入库、发送微信、更新订单。商户校验信息,是以商户维度,缓存在Redis中,30分钟有效期。压测并发提到3000时,刚好遇上其过期。流量直接打到数据库上了,数据库连接资源瞬间耗尽。

2024-11-24 21:29:05 328

原创 问题-服务器扩容-验证方案研究

服务器扩容-验证方案研究

2023-07-06 09:18:56 123

原创 问题-抽象类的抽象方法处理不当-导致堆栈溢出

抽象类的抽象方法处理不当-导致堆栈溢出

2022-09-30 21:25:13 347

原创 后台类交易---统一接口设计的一些思考

后台类交易---统一接口设计的一些思考业务背景原代码设计问题​在一次需求开发中,需要给10多个接口添加一个公共字段。并在交易入口处添加统一的校验逻辑。我审视了下现有的接口设计,突然感觉无从下手,也不是没法改,只是在现在的设计上改起来会很丑。以前单个接口加字段时,不觉得有啥问题,现在突然觉得原来设计,扩展性还是有点欠缺。业务背景​ 收单支付业务,提供支付【/order/pay】,订单查询【/order/orderQuery】,退款【/order/refund】,退款查询【/order/refundQu

2022-03-17 17:19:26 973

原创 问题-索引失效场景

索引失效场景

2022-01-20 08:41:25 662

原创 问题-微服务调用-feign.FeignException$BadRequest: status 400 xxxx

问题-微服务调用-feign.FeignException$BadRequest: status 400 xxxx1. 问题概述A服务调用B服务某个接口,出现异常【feign.FeignException$BadRequest: status 400 reading CashierAuthBindingApi#pocketShowList(String)】。开始以为是被调用方流程有啥问题,然后查询B服务相关日志,结果发现没有日志相关记录。后面单独测试接口发现问题,确认是入参没有值导致的异常。被调用方法

2021-10-19 08:27:24 6874

原创 Mock相关

Mock相关Mock-对象属性赋值对象代码:public class WebAgreeService { @Resource private SecurityProperties securityProperties; @Value("${agree.new.sign:true}") private boolean newSign;}Mock处理:@Beforepublic void init() { MockitoAnnotations.ini

2021-08-26 10:42:58 544

原创 收单-批量支付-批量支付文件规则设计

收单-批量支付-批量文件规则设计1. 文件名2. 文件大小3. 文件编码4. 文件内容格式4.1 基于分隔符4.2 基于固定位数4.2 基于特殊文件格式1. 文件名建议跟批量支付的批次流水保持一致,考虑防重和文件更新的问题。批次流水也需要有对应的规则,比如固定24位,14位日期 + 10位序列号,纯数据+字母等等。2. 文件大小明确文件大小,防止恶意大文件上传。文件大小可以根据,文件内订单明细数量的上限,例如规定明细不超过5000条。测试时按照5000条,所有字段都达到规定的最大长度,生成一个文件,

2021-07-13 14:22:05 587

原创 收单-基于文件方式的批量交易处理思路

UDMP-b3fe91b03c1eb05a186904007ba89e7d9ae6548523-a36218c7-20210514102151-00000001常用.7z

2021-07-13 13:39:26 571

原创 问题之PreparedStatement executeBatch() 更新仅部分有效

问题之PreparedStatement executeBatch() 更新仅部分有效问题背景某业务场景下,需要批量对订单信息进行更新,分成功和失败,更新不同的字段。涉及两张表,订单表和订单扩展表,一共四条不同的SQL。 一开始想的是,PreparedStatement也支持不同SQL的批量处理,直接遍历orderList集合,将所有要更新的sql都通过addbatch()添加进行,然后每100条执行一次。问题代码成功运行,没报错,也打印出了执行SQL,数量和数据都对上了。但是查看数据库,真正更新了

2021-04-28 13:13:14 1039

原创 收单系统迁移

收单系统迁移分享1. 迁移目标2. 迁移分析2.1 评估迁移规模2.2 信息收集2.3 接口分析2.4 数据库分析3. 功能开发3.1 旧系统接口适配3.2 配套功能开发4. 正式迁移4.1 生产环境自测4.2 迁移客户实测1. 迁移目标​ 将旧系统客户无感迁移到新系统中。要实现无感,那么新系统需要完全兼容旧系统的相关接口功能。接口请求的URL不变,请求的字段不变,响应结果与处理的逻辑要相匹配​ 收单商户按批次迁移2. 迁移分析迁移前要充分了解旧系统的相关情况2.1 评估迁移规模通过了解需要

2021-01-20 17:58:50 213

spring-framework-main.zip 源码

spring源码

2021-12-09

空空如也

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

TA关注的人

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