状态机的介绍和使用

一、状态机简介 1.1 定义 我们先来给出状态机的基本定义。一句话: 状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。 先来解释什么是“状态”( State )。现实事...

2023/08/03 18:00
350
Sharding-JDBC分库连接数优化

一、背景 配运平台组的快递订单履约中心(cp-eofc)及物流平台履约中心(jdl-uep-ofc)系统都使用了ShardingSphere生态的sharding-jdbc作为分库分表中间件, 整个集群采用只分库不分表的设计,共1...

2023/07/27 18:00
347
2023京东零售技术年度盘点

过去一年,围绕开放生态建设、低价心智等主要方向,京东零售技术团队持续攻坚。从百亿补贴、调整流量分配机制为用户提供低价品质好货,到简化商家进驻流程、优化商家体验,带动商家数量增长和...

从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC

一、Shenandoah Shenandoah一词来自于印第安语,十九世纪四十年代有一首著名的航海歌曲在水手中广为流传,讲述一位年轻富商爱上印第安酋长Shenandoah的女儿的故事。后来美国有一条位于Virgi...

2023/05/31 18:22
339
G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析

一、背景 我方有一应用,偶尔会出现GC时间过长(间隔约4小时),导致性能波动的问题(接口最长需要耗时3秒以上)。经排查为G1垃圾回收器参数配置不当 叠加 MySQL 链接超过闲置时间回收,产生大...

2023/06/29 16:00
339
分库分表之拆分键设计

众所周知,在现实世界中,每一个资源都有其提供能力的最大上限,当单一资源达到最大上限后就得让多个资源同时提供其能力来满足使用方的需求。同理,在计算机世界中,单一数据库资源不能满足使...

2023/09/07 18:00
335
为啥不建议用BeanUtils.copyProperties拷贝数据

在实际的业务开发中,我们经常会碰到VO、BO、PO、DTO等对象属性之间的赋值,当属性较多的时候我们使用get,set的方式进行赋值的工作量相对较大,因此很多人会选择使用spring提供的拷贝工具B...

同城售后系统退款业务重构心得

一、重构背景 1.1、退款 到家、小时购、天选退款有2套结构,代码逻辑混乱; 其中小时购、天选部分售后单是和平生pop交互退款,部分是和售后中台交互退款;并且兼容3套逻辑; 痛点:代码繁重,...

2023/11/09 18:00
332
接口优化的常见方案实战总结

一、背景 针对老项目,去年做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。 二、接口优化方案总...

2023/03/07 15:16
329
【实践篇】DDD脚手架及编码规范

一、背景介绍 我们团队一直在持续推进业务系统的体系化治理工作,在这个过程中我们沉淀了自己的DDD脚手架项目。脚手架项目是体系化治理过程中比较重要的一环,它的作用有两点: 可以对新建的...

2023/08/30 18:00
325
如何做好架构设计,架构设计有章可循吗?

设计一个系统的过程,就是建造一座大厦的过程,架构设计的质量直接决定了大厦的质量。 我们进行系统的架构设计时,总是会遇到一系列的问题,比如一个大型系统的架构应该如何起步,从哪里开始...

2023/12/05 18:00
322
库存预占架构升级方案设计-交易库存中心

一、背景 伴随物流行业的迅猛发展,一体化供应链模式的落地,对系统吞吐、系统稳定发出巨大挑战,库存作为供应链的重中之重表现更为明显。近三年数据可以看出: 接入商家同比增长37.64%、...

2023/08/29 18:00
318
我在京东做研发丨京东云数字仓库背后的AIoT技术应用实践

为实现大宗仓储服务全流程数字化 提高大宗仓储行业数字化水平,降低货物灭失风险 促进大宗行业健康快速的发展 京东云释放科技能量,打造出新一代智能高可信的数字仓库 让AI看货、AI守货成为现...

2023/04/05 18:00
316
Java CompletableFuture 异步超时实现探索

简介 JDK 8 中 CompletableFuture 没有超时中断任务的能力。现有做法强依赖任务自身的超时实现。本文提出一种异步超时实现方案,解决上述问题。 前言 JDK 8 是一次重大的版本升级,新增了非常...

架构师日记-从代码到设计的性能优化指南

一、前言 服务性能是指服务在特定条件下的响应速度、吞吐量和资源利用率等方面的表现。据统计,性能优化方面的精力投入,通常占软件开发周期的10%到25%左右,当然这和应用的性质和规模有关。...

2023/05/23 18:00
312
全局视角看技术-Java多线程演进史

一、前言 2022年09月22日,JDK19发布了,此版本最大的亮点就是支持虚拟线程,从此轻量级线程家族再添一员大将。虚拟线程使JVM摆脱了通过操作系统调度线程的束缚,由JVM自身调度线程。其实早期...

2023/03/01 18:00
311
文盘Rust -- 用Tokio实现简易任务池

Tokio 无疑是 Rust 世界中最优秀的异步Runtime实现。非阻塞的特性带来了优异的性能,但是在实际的开发中我们往往需要在某些情况下阻塞任务来实现某些功能。 我们看看下面的例子 fn main(){ l...

2023/04/06 18:00
311
缓存之美——如何选择合适的本地缓存?

1、简介 小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进...

2024/01/16 18:00
307
ElasticSearch - 批量更新bulk死锁问题排查

一、问题系统介绍 监听商品变更MQ消息,查询商品最新的信息,调用BulkProcessor批量更新ES集群中的商品字段信息; 由于商品数据非常多,所以将商品数据存储到ES集群上,整个ES集群共划分了256...

2023/07/12 18:00
304
动态线程池思想学习及实践

相关文档 美团线程池实践:https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html线程池思想解析:https://www.javadoop.com/post/java-thread-pool 引言 在后台项目...

没有更多内容

加载失败,请刷新页面