应用开发

高并发系统的艺术:如何在流量洪峰中游刃有余

前言我们常说的三高,高并发、高可用、高性能,这些技术是构建现代互联网应用程序所必需的。对于京东618备战来说,所有的中台系统服务,无疑都是围绕着三高来展开的。而对于京东庞大的客户群体,高并发的要求尤为重要。用户对在线服务的需求和期望不断提高,系统的并发处理能力成为衡量其性能和用户体验的关键指标之一。高并发系统不仅仅是大型互联网企业的专利,对于任何希望在市场中占据一席之地的公司来说,能够处理大量并发

京东技术
IT综合
2024-08-05 13:48

防御性编程:让系统坚不可摧

1. 引言面对复杂多变的运行环境、不可预测的用户输入以及潜在的编程错误,如何确保软件在遭遇异常情况时依然能够稳定运行,是每位开发者必须面对的挑战。防御性编程(Defensive Programming)正是为解决这一问题而生的一种编程范式,它强调在编程过程中预见并防范潜在的错误和异常情况,从而增强软件的健壮性和稳定性。作为一种细致、谨慎的编程方法,通过提前考虑并防范可能出现的错误,从而有效减少软件

京东技术
IT综合
2024-07-25 14:03

京东百万级调度系统(Buffalo)架构解密

一、调度系统简介Buffalo调度是一款京东自主研发的分布式DAG作业调度系统。为京东的数据开发工程师、算法工程师、数据分析师等用户提供了离线作业的编排&调试、监控运维、DAG调度等系统能力,致力于打造行业领先的稳定高效、产品简洁高体验、任务监控全面、资源容器化、系统能力开放化的ETL调度系统。在京东调度系统核心面临的挑战有以下几个:1.业务复杂带来的依赖关系复杂:复杂的数据链路,使得部分

京东技术
IT综合
2024-07-24 14:47

广告在线模型系统负载均衡策略实践

一、背景简介1.1、现状•实际生产环境中,复杂业务系统对分布式服务集群架构的依赖。•服务集群异质化节点的容器化部署,机器性能超卖现象不可避免、性能不均情况时有发生。•服务集群各硬件组件出错率不可避免[1],上层业务相关的应用软件系统需考虑容错设计。•大促流量分布变化难以准确预见,系统服务稳定性与机器资源成本之间需进行妥善权衡。1.2、问题•集群内负载不均,整体资源利用率低。•单节点过载容易触

京东技术
IT综合
2024-07-23 14:15

《软件设计哲学》:新“代码整洁之道”

工作三年以来一直对写出设计优雅且可读性较好的代码抱有执念,最初接触到的关于代码整洁和软件设计的书是《代码整洁之道》,这本书大概在我入职半年时读完,并在很长的一段时间内将其中谈到的“每个方法只做一件事”、“方法长度最多不要超过 5 行”和“优秀的代码都是自解释的,很少会有注释”等等观点奉为圭臬,但是由于其成书较早,其中的一些观点显然已经不再使用当前业务开发环境了。就拿前两点来说,看上去能让每

京东技术
IT综合
2024-07-22 12:20

基于 Three.js 的 3D 模型加载优化

作为一个3D的项目,从用户打开页面到最终模型的渲染加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得。

vivo互联网技术
Javascript
2024-07-19 11:40

RaftKeeper v2.1.0版本发布,性能大幅提升!

RaftKeeper是一款高新能分布式共识服务,完全兼容Zookeeper但性能更出色,更多关于RaftKeeer参考Github,我们将RaftKeeper大规模应用到ClickHouse场景中,用于解决ZooKeeper的性能瓶颈问题,同时RaftKeeper也可以用于其它大数据组件比如HBase。v2.1.0作为v2.0.0后的重要版本,引入了一系列新特性,包括异步创建snapshot。该版

京东技术
IT综合
2024-07-15 15:11

消息队列,聊聊发送消息的4种姿势~

微服务开发中经常会使用消息队列进行跨服务通信。在一个典型场景中,服务A执行一个业务逻辑,需要保存数据库,然后通知服务B执行相应的业务逻辑。在这种场景下,我们需要考虑如何发送消息。

码农谈IT
Java
2024-07-10 10:26

幂等性:构建稳健分布式系统的关键

幂等性对于构建大规模、数据完整性不受影响的弹性分布式系统至关重要。幂等性的重试策略是分布式事务的一个优秀替代方案,后者更复杂且随着扩展更难以管理。

张哥说技术
IT综合
2024-07-10 10:25

解码分布式系统:深入探讨CAP定理和ACID特性

CAP定理和ACID特性是分布式系统设计和操作中的基本概念。 它们强调在分布式系统中维护一致性、可用性和分区容忍性的固有权衡和挑战,以及确保可靠事务处理的需求。 通过理解这些概念,开发人员和架构师可以在设计系统时做出明智的决策,以满足特定需求并有效应对现实世界的条件。

码农谈IT
IT综合
2024-07-08 15:48

转转游戏MQ重构:思考与心得之旅

1 背景 1.1 起始之由 1.2 重构前现状 1.3 问题分析 2 重构 2.1 目标 2.2 制定方案 2.3 部分细节设计 3 总结

码农谈IT
IT综合
2024-07-04 10:49

记录一次使用easypoi时与源码博弈的过程

最近刚刚接手了保险一线之声平台的开发和维护工作,第一个需要修复的问题是:平台的事件导出成excel功能在经过一次上线之后突然不可用了,于是就开始了几轮痛苦的排查以及与源码博弈的过程。二、问题描述一线之声在事件查询菜单下支持将结果导出为Excel,程序中使用easypoi+apache-poi实现,此功能一直正常使用,直到从2024-04-12 12.04.39之后的任务全部都导出失败三、

京东技术
Java
2024-07-03 16:31

不存在的场景真的不存在吗?

背景:近期在跟进业务中发生了一些问题,并从中学习了一些避免问题产生的经验。通过这些问题也引发了我的一个疑问:“不存在的场景真的不存在吗?”,本篇文章将探讨这一问题,并尝试分析问题产生的原因。场景举例:在项目研发和测试过程中,常常会出现以下几种场景:场景一:测试人员:有一个数据为空的场景还没有验证。研发人员:这个场景不会出现,因为没有删除逻辑。场景二:研发人员:本次需求时间紧任务重!这里肯定不会出现

京东技术
Java
2024-06-26 14:16

JDK11升级JDK17最全实践干货来了

1、前言如果你仍在使用JDK8,那你是否曾经遇到过OutOfMemoryError的问题?你是否曾经为JVM的调优问题感到困扰?本篇文章将为你介绍一种能够提供百倍性能提升的垃圾回收器,也许能够解决你的问题。上篇文章给大家带来了JDK8升级JDK11的最全实践,相信大家阅读后已经对JDK11有了比较深入的了解。2021年9月14日,Oracle发布了可以长期支持的JDK17版本,那么从JDK11到J

京东技术
Java
2024-06-25 14:46

从打点平台谈打点治理

本文介绍了打点治理的概念和其对于数据质量保障的重要性,分享了日志中台在打点治理方面的解决方案与实践经验。文章从用户痛点和打点治理的难点出发,介绍了日志中台如何通过质量标准的制定、在线化流程的建设和相应的配套工具来解决这些问题。

ITPUB社群
IT综合
2024-06-19 16:02