复杂SQL治理实践 | 京东物流技术团队

2024-01-29
阅读 11 分钟
480
软件在持续的开发和维护过程中,会不断添加新功能和修复旧的缺陷,这往往伴随着代码的快速增长和复杂性的提升。若代码库没有得到良好的管理和重构,就可能积累大量的技术债务,包括不一致的设计、冗余代码、过时的库和框架以及不再使用的功能。这些因素都会导致软件结构的脆弱,增加系统出错的可能性,我们俗称为“代码腐...

简单一招竟把nginx服务器性能提升50倍

2024-01-29
阅读 3 分钟
784
接到重点业务需求要分轮次展示数据,预估最高承接 9w 的 QPS,作为后端工程师下意识的就是把接口写好,分级缓存、机器扩容、线程拉满等等一系列连招准备,再因为数据更新频次两只手都数得过来,我们采取了最稳妥的处理方式,直接生成静态文件拿 CDN 抗量

给你一颗“定心丸”——记一次由线上事故引发的Log4j2日志异步打印优化分析

2024-01-29
阅读 9 分钟
721
自知是人外有人,天外有天,相信对于Log4j2的异步日志打印早有老师或者同学已是熟稔于心,优化配置更是信手拈来,为了防止我在这里啰里八嗦的班门弄斧,我先将谜底在此公布:_log4j2.asyncQueueFullPolicy=Discard & log4j2.discardThreshold=ERROR__,这两个Log4j2配置在强依赖的RPC服务方系统或中间件系统出现问题且业...

幻兽帕鲁来啦!京东云召唤你一键开服,快来私服联机

2024-01-26
阅读 4 分钟
903
《幻兽帕鲁》是一款备受瞩目的开放世界生存建造游戏,近期火爆全网。玩家可以在游戏世界中收集神奇的生物“帕鲁”,并利用它们进行战斗、建造、农耕、工业生产等各种活动。

京东广告算法架构体系建设--在线模型系统分布式异构计算演变 | 京东零售广告技术团队

2024-01-26
阅读 5 分钟
1.1k
算法策略在广告行业中起着重要的作用,它可以帮助广告主和广告平台更好地理解用户行为和兴趣,从而优化广告投放策略,提高广告点击率和转化率。模型系统作为承载算法策略的载体,目前承载搜索、推荐、首焦、站外等众多广告业务和全链路的深度学习建模,是广告算法算法创新和业务迭代发展的重要基石。

让错误码规范起来吧

2024-01-26
阅读 12 分钟
1.1k
描述:如果错误码的命名或描述不清晰,可能导致其他开发人员难以理解其含义。举例:例如,一个错误码命名为“ERR1001”,没有进一步的注释或描述,可能导致其他开发人员不知道这个错误码代表的具体问题。

一种轻量分表方案-MyBatis拦截器分表实践

2024-01-26
阅读 9 分钟
901
部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。

bean的一生

2024-01-25
阅读 13 分钟
425
你曾读spring源码 “不知所云”、“绞尽脑汁”、“不知所措”嘛🤣🤣🤣那这篇文章可能会对你有所帮助,小编尝试用简单、易懂的例子来模拟spring经典代码👉Spring Bean生命周期及扩展点,让你能够轻松的读懂Spring Bean的生命周期,更加深入的理解Spring。那好,下面小编将从如下几个步骤来介绍✍️✍️✍️1》回顾Spring Bean相关知识点1....

《Hive编程指南》读书笔记

2024-01-25
阅读 4 分钟
409
最近刚接触写Hive SQL,却发现许多查询的执行速度远不如预期。为了提升查询效率,我去阅读了《Hive编程指南》,希望通过理解其底层机制来找到优化的方式,并为未来能编写出高效的SQL奠定基础。谨以此文做个记录。

热更新适配ibatis原理浅析

2024-01-25
阅读 4 分钟
513
在研发过程中,每个研发同学在联调、自测阶段中总会频繁的去执行编译、构建、打包的动作,遇到比较大的项目,执行一套流程下来,往往需要3-10分钟左右,极大的降低了研发的速度,基于以上痛点,我们基于JAVA Agent技术开发出一套插件【藏经阁热更新插件】,通过热更新方式,实现了修改代码即时生效,极大的降低研发的打...

CDP技术系列(三):百万级QPS的人群命中服务接口性能优化指南

2024-01-24
阅读 4 分钟
740
CDP系统提供了强大的标签和群体的构建能力,面对海量数据的标签和群体,我们采用了Bitmap+ClickHouse的存储与计算方案。详细内容可以参考之前文章。

CDP 技术系列(二):ClickHouse+Bitmap 实现海量数据标签及群体组合计算

2024-01-24
阅读 5 分钟
1.2k
我们都知道数据仓库的概念,它的里边存储了我们所有的数据,其中就包含了标签或群体所依赖的数据,但是这些数据并不能直接拿来使用,想要变成业务需要的标签或群体数据,还需要进行加工。

CDP技术系列(一):使用bitmap存储数十亿用户ID的标签或群体

2024-01-24
阅读 4 分钟
1.3k
一、背景介绍CDP系统中目前存在大量由用户ID集合组成的标签和群体,截止当前已有几千+标签,群体2W+。大量的标签都是亿级别数据量以上,例如性别、职业、学历等均,甚至有群体中的ID数量达到了数十亿+。并且随着用户ID池的不断增加,标签和群体本身包含的ID数量也随之增加,如何存储如此多的数据,标签与群体之间的组合...

2023京东零售技术年度盘点

2024-01-23
阅读 7 分钟
894
过去一年,围绕开放生态建设、低价心智等主要方向,京东零售技术团队持续攻坚。从百亿补贴、调整流量分配机制为用户提供低价品质好货,到简化商家进驻流程、优化商家体验,带动商家数量增长和平台生态活跃,再到将大模型结合到内部大量业务场景,探索效率提升……快速响应、助力业务的同时,京东零售技术团队继续夯实增强...

大数据平台红蓝对抗 - 磨利刃,淬精兵!

2024-01-23
阅读 4 分钟
353
目前大促备战常见备战工作:专项压测(全链路压测、内部压测)、灾备演练、降级演练、限流、巡检(监控、应用健康度)、混沌演练(红蓝对抗),如下图所示。随着平台业务越来越复杂,红蓝对抗的作用愈来愈明显,下面将详细介绍大数据平台在大促备战工作中是如何开展红蓝对抗的。

代码的艺术-Writing Code Like a Pianist

2024-01-22
阅读 6 分钟
544
如何评定一个系统的质量?什么样的系统或者软件可以称之为高质量?可以从三个角度来看,一是架构设计,例如技术选型、分布式系统中的数据一致性考虑等,二是项目管理,无论是敏捷开发还是瀑布式开发,都应当对技术负债进行清理,对代码进行重构等,最后离不开的是代码质量,代码质量的高低直接影响系统的可维护性和可扩...

ElasticSearch集群灾难:别放弃,也许能再抢救一下 | 京东云技术团队

2024-01-22
阅读 10 分钟
865
1 前言Elasticsearch作为一个分布式搜索引擎,自身是高可用的;但也架不住一些特殊情况的发生,如:集群超过半数的master节点丢失,ES的节点无法形成一个集群,进而导致集群不可用;索引shard的文件损坏,分片无法被正常恢复,进而导致索引无法正常提供服务本地盘节点,多数据节点故障,旧节点无法再次加入集群,数据丢...

Spark SQL五大关联策略

2024-01-22
阅读 3 分钟
625
选择连接策略的核心原则是尽量避免shuffle和sort的操作,因为这些操作性能开销很大,比较吃资源且耗时,所以首选的连接策略是不需要shuffle和sort的hash连接策略。

画眉(京东科技设计稿转代码平台)介绍

2024-01-22
阅读 4 分钟
909
随着金融App业务的不断发展,为了满足不同场景下的用户体验及丰富的业务诉求,业务产品层面最直接体现就是大量新功能的上线及老业务的升级,随之也给研发带来了巨大的压力,所以研发效率的提升就是当前亟需解决的问题,今天我们来看下“画眉”平台是如何帮助前端研发同学提效的。

Ngnix常用配置及和基本功能讲解

2024-01-19
阅读 7 分钟
685
Ngnix已经广泛应用于J-one和Jdos的环境部署上,本文对Ngnix的常用的配置和基本功能进行讲解,适合Ngnix入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Ngnix的基本功能配置是由它提供的。1.1 配置文件结构Nginx的配置文件(conf/nginx.conf)整体上分为如下几个部分:配置层级图如下所示。1.2 配置...

把Mybatis Generator生成的代码加上想要的注释

2024-01-19
阅读 8 分钟
969
在日常开发工作中,我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中,注释并不是我们想要的,所以一般在Generator配置文件中,会设置不自动生成注释。带来的问题就是自动生成代码之后,我们还要自己去类文件中把注释加上,如果生成的类较少还好,如果有生成...

到店商详架构变迁

2024-01-18
阅读 2 分钟
395
一、项目背景到店商详是平台为京东到店业务提供的专属商详页面,将传统电商购物路径打造成以LBS+门店属性的本地生活服务交易链路。二、架构变迁1、 主站商详扩展点优点:到店侧仅关注业务,无需过度关注服务部署、性能优化等。缺点:涉及方较多,需求开发周期长,上线依赖方多;到店侧无法了解到全流程,不利于长期迭代...

行云部署前端架构解析-前言 | 京东云技术团队

2024-01-18
阅读 3 分钟
566
一个简单的自我介绍项目规模截止目前上万次代码提交,总代码行数1超过21万行,其中人工维护的代码超过 13万行,近千个文件。前端线上服务直接对接的后端服务,达十多个。跟很多应用一样, 它有行云的入口, 也有独立的服务, 还有单独的插件接口它是行云的子应用, 也是其它应用的主应用技术栈代码本身是 monorepo 的结构,...

如何做标准化?| 京东云技术团队

2024-01-18
阅读 3 分钟
432
在现代信息化的市场环境和社会中,标准化已经成为了各种行业的一个重要的标志。标准化不仅可以提升生产效率,减轻质量问题,还可以增加产品的可靠性和互通性。在这篇文章中,我们将探讨如何做标准化,为您提供详细的指导和建议。

千万级数据深分页查询SQL性能优化实践

2024-01-17
阅读 4 分钟
1k
如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系;并对外提供各种关系查询,比如查询用户的关注商品或店铺列表,查询用户是否关注了某个商品或店铺等。但是最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象...

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

2024-01-17
阅读 4 分钟
851
随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙原生应用,也可将现有的小程序转换为鸿蒙原生应用。

如何实现数据库读一致性

2024-01-17
阅读 5 分钟
440
举个例子:某系统实现读写分离,读数据库是写数据库的备份库,小李在系统中之前录入的学历信息是高中,经过小李努力学习,成功获得了本科学位。小李及时把信息变成成了本科,可是由于今天系统备份时间较长,小李变更信息时,数据已经开始备份。公司的HR通过系统查询小李信息时,发现还是本科,小李的申请被驳回。这就是...

一文让你对mysql索引底层实现明明白白

2024-01-16
阅读 3 分钟
581
开篇:图片是本人随笔画的,有点粗糙,望大家谅解,如有不妥之处,请联系我们,感谢。一、索引到底是什么.索引是帮助mysql高效获取数据的排好序的数据结构.索引是存储在文件里的.数据结构: 二叉树 HASH BTREE如果没有索引的话,循环一条一条的找,找一次就是一次IO,这样速度就会很慢我们知道数据库数据都是存在磁盘上...

想提高阅读代码的效率?试试这些工具吧!| 京东云技术团队

2024-01-16
阅读 4 分钟
750
程序员间有句名言——“Talk is cheap, show me the code!”源码的确相较于言语更接近程序真实的状态,包含了更多的一手信息。因此,无论是刚开始学习代码的小白还是久经沙场的代码大神,不管是学习优秀的开源项目还是做老项目的重构,代码阅读都是开发者必备的技能之一。但在业务场景越来越复杂、迭代越来越快的背景下,提...

CDN静态资源加速&Lighthouse性能监测

2024-01-16
阅读 4 分钟
589
Lighthouse是谷歌开发并开源的web性能测试工具,用于改进网络应用的质量,可以将其作为一个Chrome扩展程序运行,或从命令行运行。只需要为其提供一个需要审查的地址,Lighthouse就会对页面进行一连串的测试,生成一个有关页面性能的报告。