【原理】Redis热点Key自动发现机制和客户端缓存方案
本文详细讲解下Redis热点key发现机制+客户端缓存的原理。一、redis4.0之基于LFU的热点key发现机制业务中存在访问热点是在所难免的,然而如何发现热点key一直困扰着许多用户,redis4.0为我们带来了许多新特性,其中便包括基于LFU的热点key发现机制。Redis中的LFU思路Least Frequently Used——简称LFU,意为最不经常使用,是redis4.0新增的一类内
MySQL 死锁日志分析方法
作者:京东物流 张凯引言MySQL 死锁是线上经常遇到的现象,但是死锁分析却并不总是件容易的事情,本文介绍 MySQL 死锁日志的分析方法,帮助研发从日志中快速提取有效信息,从而提高死锁原因分析的效率。死锁介绍触发条件死锁的触发条件包括四个:•互斥•占有且等待•不可抢占用•循环等待如下图所示,两个事务加锁顺序不同导致死锁。发生死锁后只需要破坏发生死锁四个条件中的任意一个条件就可以解除死锁状
Taro 鸿蒙技术内幕系列(二):如何让 W3C 标准的 CSS跑在鸿蒙上
基于 Taro 打造的京东鸿蒙 APP 已跟随鸿蒙 Next 系统公测,本系列文章将深入解析 Taro 如何实现使用 React 开发高性能鸿蒙应用的技术内幕背景HarmonyOS 采用自研的 ArkUI 框架作为原生 UI 开发方案,这套方案有完善的布局系统和样式控制,但是他的标准与 W3C 的 CSS 标准存在不一致性。这意味着,如果 Taro 直接使用 HarmonyOS 提供的样式系统
接单流程设计探索
背景在物流系统中,接单是信息流的关键和重要的一环,每个业务场景都会对应一种标准接单流程,例如销售出、采购入等等。标准接单包括统一接口定义、统一数据模型、标准接单核心应用职责划分。而这个标准并不是在接口定义的初期就规划好的,通常会经历业务不断增长而带来的需求迭代、业务融合、组织架构调整或升级引起的流程优化与拆分。这样一些系列事件下来,可能一个接单应用会流转到多个部门,接单流程就会越来越丰富,可能包括
揭秘JDQ限流架构:实时数据链路的多维动态带宽管控
1、背景在数字化转型的浪潮席卷之下,大数据和云计算技术已成为企业创新和发展的关键驱动力。尤其是以京东为代表的电商平台为例,其日常运营中持续生成海量数据,涵盖实时交易记录、点击曝光统计及用户行为轨迹等,这些数据对精准业务决策、深化用户体验优化等方面具有重要意义。然而,随着业务版图的快速扩张,特别是在618、双11等年度大促盛宴中,数据流量呈现井喷式增长,给数据系统带来前所未有的压力。在此情境下,尽管
千万级数据深分页查询SQL性能优化实践
作者:京东零售 曹志飞一、系统介绍和问题描述如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万
【行云流水线】满足你对工作流编排的一切幻想~skr
作者:京东零售 顾铮流水线模型众所周知,DevOps流水线(DevOps pipeline)的本质是实现自动化工作流程,用于支持软件开发、测试和部署的连续集成、交付和部署(CI/CD)实践。它是DevOps方法论的核心组成部分,旨在加速软件交付、提高质量和实现持续改进。流水线的核心是流水线模型,是实现工作流编排,执行的重要基石,一个优秀的流水线模型可以覆盖用户更多的实践场景,按照用户的所思所想
https 的本质、证书验证过程以及数据加密
1. 什么是 HTTPSHTTP 加上加密处理和认证以及完整性保护后即是 HTTPS。它是为了解决 HTTP 存在的安全性问题,而衍生的协议,那使用 HTTP 的缺点有:1.通信使用明文可能会被窃听2.不验证通信方的身份可能遭遇伪装3.无法验证报文完整性,可能已遭篡改HTTPS 并非是一种新协议,只是 HTTP 通信接口部分用 SSL 和 TLS 协议代替。通常,HTTP 是直接跟 TCP
分布式服务高可用实现:复制
1. 为什么需要复制我们可以考虑如下问题:当数据量、读取或写入负载已经超过了当前服务器的处理能力,如何实现负载均衡?希望在单台服务器出现故障时仍能继续工作,这该如何实现?当服务的用户遍布全球,并希望他们访问服务时不会有较大的延迟,怎么才能统一用户的交互体验?这些问题其实都能通过 “复制” 来解决:复制,即在不同的节点上保存相同的副本,提供数据冗余。如果一些节点不可用,剩余的节点仍然可以提供数据服务
Docker运行环境安装
作者:京东科技 林中Docker是一个开放的平台,用于开发、发布和运行应用程序。Docker分离了应用程序和运行应用的基础设施,从而实现了软件的快速交付。利用docker提供的一系列功能,包括构建、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐在Linux上运行,以下以主
主动写入流对@ResponseBody注解的影响
作者:京东零售 柯贤铭问题回溯2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的)商家中心报错(JSON串):{"code":-1,"msg":"失败"}负责的同事看到失败后立即与我展开讨论(因为不是关键业务,所以不需要回滚,修复即可),我们发现新功能模板下载的代码与之前的
【玩转金融素材生成】探索交互式AIGC组合素材生成技术
本文介绍了一种交互式可控组合素材生成技术,本方案基于Stable Diffusion模型,结合位置控制生成技术,实现了金融领域中的多元素素材组合交互式生成能力,增加了素材生成的丰富性以及使用上的易用性,可以帮助设计师和运营人员快速制作banner图或活动页中所需要的组合元素素材。一、引言1.1 金融组合元素介绍什么是金融组合素材?金融场景的设计师在日常工作中经常需要创建和使用各种元素素材,例如
【转载】把大模型做实 把供应链做透: 京东推出言犀大模型
7月13日,2023京东全球科技探索者大会暨京东云峰会在北京举行,全面推出京东言犀大模型、言犀AI开发计算平台、升级支撑大模型落地行业的产品及解决方案,服务千行百业拥抱产业智能。源于产业、服务产业。言犀大模型融合了70%的通用数据与30%京东数智供应链原生数据,具有“更高产业属性、更强泛化能力、更多安全保障”的优势,致力于面向知识密集型、任务型产业场景,解决真实产业问题。“从产业端切入大模型
Spring 应用合并之路(一):摸石头过河
公司最近一年在推进降本增效,在用尽各种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适)。那么,将相近应用做一个合并,减少维护项目,提高机器利用率就是一个可选方案。经过前后三次不同的折腾,最后探索出来一个可行方案。记录一下,分享出来,希望对有相关需求的研发童鞋有所帮助。下面按照四种可能的方案,分别做介绍。另外,为了方便做演示,专门整了两个演示项目:•
简洁至上——探索产品与技术的优雅原则
背景上周开发了一个需求,发现一个历史功能,从产品和技术代码的角度看,将简单的事情变得复杂。这一经历再次深化了我对一个核心理念的认识:简化复杂性是产品设计和软件开发中永恒的挑战。我们必须不断努力,将复杂的逻辑转化为直观、易用的用户功能,并将冗长、难以维护的代码结构变为简洁、效率高的形式。在《人月神话》中作者提到,软件开发的复杂度可以划分为本质复杂度和偶然复杂度。本质复杂度它是一个客观的东西,跟你用的
JavaScript 与 Rust 和 WebAssembly 集成
偶然一次机会,接触了Rust的代码。当时想给团队小伙伴做演示,发现自己并不能在移动端按照文档生成演示demo。我就想,要是Rust代码能转化成JavaScript就好了。结果一搜,还真有。下面整理成文档,分享给大家。为大家解决问题,多提供一种思路、方式、方法。一、分享的目的:▪由 Rust、WebAssembly、JavaScript、HTML 和 CSS 开发多语言程序的工作流程。▪如何设计
Linux内存泄露案例分析和内存管理分享
一、问题近期我们运维同事接到线上LB(负载均衡)服务内存报警,运维同事反馈说LB集群有部分机器的内存使用率超过80%,有的甚至超过90%,而且内存使用率还再不停的增长。接到内存报警的消息,让整个团队都比较紧张,我们团队负责的LB服务是零售、物流、科技等业务服务的流量入口,承接上万个服务的流量转发,一旦有故障影响业务服务比较多,必须马上着手解决内存暴涨的问题。目前只是内存报警,暂时不影响业务,先将内
【架构与设计】常见微服务分层架构的区别和落地实践
作者:京东科技 康志兴前言从强调内外隔离的六边形架构,逐渐发展衍生出的层层递进、注重领域模型的洋葱架构,再到和DDD完美契合的整洁架构。架构风格的不断演进,其实就是为了适应软件需求越来越复杂的特点。可以看到,越现代的架构风格越倾向于清晰的职责定位,且让领域模型成为架构的核心。基于这些架构风格,在软件架构设计过程中又有非常多的架构分层模型。传统三层架构传统服务通常使用三层架构:•门面层:作为服务暴露
MySQL性能优化浅析及线上案例
作者:京东健康 孟飞1、 数据库性能优化的意义业务发展初期,数据库中量一般都不高,也不太容易出一些性能问题或者出的问题也不大,但是当数据库的量级达到一定规模之后,如果缺失有效的预警、监控、处理等手段则会对用户的使用体验造成影响,严重的则会直接导致订单、金额直接受损,因而就需要时刻关注数据库的性能问题。2、 性能优化的几个常见措施数据库性能优化的常见手段有很多,比如添加索引、分库分表、优化连接池等,
大数据实时链路备战——数据双流高保真压测
作者:京东零售 京东零售一、大数据双流建设1.1 数据双流 大数据时代,越来越多的业务依赖实时数据用于决策,比如促销调整,点击率预估、广告分佣等。为了保障业务的顺利开展,也为了保证整体大数据链路的高可用性,越来越多的0级系统建设双流,以保证日常及大促期间数据流的稳定性。建设核心数据链路双机房,双流双活。同时双流建设需要整条链路上的所有环节双机房部署,占用了双倍