架构设计

一招MAX降低10倍,现在它是我的了| 京东零售技术团队

一.背景性能优化是一场永无止境的旅程。到家门店系统,作为到家核心基础服务之一,门店C端接口有着调用量高,性能要求高的特点。C端服务经过演进,核心接口先查询本地缓存,如果本地缓存没有命中,再查询Redis。本地缓存命中率99%,服务性能比较平稳。随着门店数据越来越多,本地缓存容量逐渐增大到3G左右。虽然对垃圾回收器和JVM参数都进行调整,由于本地缓存数据量越来越大,本地缓存数据对于应用GC

京东技术
操作系统
2024-05-10 11:32

深入理解分布式锁:原理、应用与挑战| 京东物流技术团队

前言在单机环境中,我们主要通过线程间的加锁机制来确保同一时间只有一个线程能够访问某个共享资源或执行某个关键代码块,从而防止各种并发修改异常。例如,在Java中提供了synchronized/Lock。但是在分布式环境中,这种线程间的锁机制已经不起作用了,因为系统会被部署在不同机器上,这些资源已经不是在线程间共享了,而是进程之间共享资源。为了解决这个问题,分布式锁应运而生。本文将详细解析分布式锁的原

京东技术
软件结构
2024-05-09 14:55

单体到微服务架构的涅槃重生之路?

在技术演进的历史长河中,单体架构曾是众多项目的起点,但随着业务需求日益复杂,微服务架构凭借其灵活性和可扩展性逐渐成为新宠。行业内对此有着激烈的讨论,尤其是互联网大厂和行业技术大佬们对微服务架构的看法颇具影响力。

智在碧得
软件结构
2024-05-08 15:13

系统整容纪:责任链设计模式的应用实战(爆灯了,研发工期由45天降为1天)

本文通过介绍使用责任链设计模式的背景和经历,来使得读者加深对于此设计模式的印象,甚至受到一定的启发来对自己当下所参与、所负责的项目进行“整容”,从而提升系统的“美感”。分享工作中的点点滴滴。一、背景在下所负责的系统中有这么一个模块,分区模块,直接看这个词的话相信很多人都会疑惑甚至是误解,其实其真正的含义就是“路由”,接下来我简单描述一下何谓“路由”。相信大家都有过网上购物的经验,每当我们下完订单后

京东技术
操作系统
2024-04-28 10:27

贵金属智慧金库的建设实践

智慧金库建设的目标不仅实现自动化、可视化和信息化,同时对上线智慧金库后的性能和效率指标要实现高于人工模式,同时降低人工成本。

danny_2018
设计模式
2024-04-25 09:53

高可用 - 隔离原则

前言当讨论高可用时,那么必然有与之对应的低可用甚至不可用,但无论是哪种可用描述,其中都暗含了一个大众共识,即不存在稳定运行的系统程序。事实上,几十年前图灵也论证过类似的问题,称为“停机问题”,具体的描述是:能否为A计算机编程,使得程序才能在有限时间内推断出计算机B是否会停止运行?图灵使用了十分简洁但严谨的反证法论证了停机问题,具体论证方式在这里就不赘述了,最终的结论就是不存在这种程序,也就是说,很

京东技术
操作系统
2024-04-24 16:37

写给职场新人|从迷茫到屡获殊荣的技术人成长之路

1.锚定方向:学生生涯的一次探险如果用一个词语概括我的本科阶段,那大概就是“迷茫”。大三前,我一直在寻找自己的热情所在,自动化专业课程内容太过理论,在个人层面没法落地。恰巧在大三Python Programming这门课中,花几个小时就能开发一个软件,并被很多人使用,这对于一个结果导向型的人来说是件非常有成就感的事情,这件事也坚定了我转计算机的信念。在那之后便开始了自学,通过较为高效的自学方法论,

京东技术
操作系统
2024-04-19 15:04

工程中实践的微服务设计模式

最近在读《微服务架构设计模式》,开始的时候我非常的好奇,因为在我印象中,设计模式是常说的那23种设计模式,而微服务的设计模式又是什么呢?这个问题也留给大家,在文末我会附上我对这个问题的理解。本次文章的内容主要是工作中对微服务设计模式的应用,希望能对大家有所启发。事务发件箱模式事务发件箱模式:将消息保存在数据库 “发件箱”表 作为事务的一部分policy 为处理投保的微服务,以投保事务为例:如上图所

京东技术
操作系统
2024-04-19 15:02

基于Redis实现基本抢红包算法

简介:[key, value]的缓存数据库, Redis官方性能描述非常高, 所以面对高并发场景, 使用Redis来克服高并发压力是一个不错的手段, 本文主要基于Redis来实现基本的抢红包系统设计.发红包模块: 1:发红包模块流程图如下:用户首先输入红包金额和红包个数, 然后生成当前红包标识, 并使用二倍均值算法生成随机金额的红包, 然后将生成的红包存入缓存Redis数据库中, Redis

京东技术
操作系统
2024-04-17 10:55

DDD落地指南-架构师眼中的餐厅

    在去年、我整理了一篇名为《如何做架构设计?》的文章,主要探讨了架构设计的目标和过程,然而、那是一篇概括性的文章,用于启发思路,并不是具体的实践指南,因此、我一直期望给出具体参考案例。      我几乎忘了这件事,如今回顾、我发现并没有合适的案例可供参考,现有的案例要么不完整、要么是与业务耦合的特定场景,要么无法支撑研发落地。所以我决定从实

京东技术
操作系统
2024-04-16 10:50

大报文之道:优化策略与实践

写在前面在做正常的需求开发时,当我们提供了一个接口或是调用别人接口时,我们需要考虑接口除了正常的逻辑处理外,还需要考虑接口能接收报文的上限,性能,响应时间等一系列非功能性需求。如果不注意这些问题,就可能在某一天的某个时刻收到一系列系统告警,严重者甚至导致系统不可用,引发线上事故。如涉及明细列表相关的接口中没考虑明细的上限,某一时刻上游下发了一个大明细从而可能就引发了上述的问题。这就是日常所说的大报

京东技术
操作系统
2024-04-16 10:49

万字长文,聊聊我在锦礼成长的这一年

”学而不思则罔,思而不学则殆“,本文记录了作者在锦礼侧工作1年间遇到的思考与成长、挑战与困难,也是对过去工作的总结与反思,分享出来,希望对大家有所帮助。本文约10000字如果觉得页面很长那是因为截图和留言很多,哈哈00引言光阴似箭,来到锦礼产品线已满一年了,这期间深刻的了解到B端不同解决方案之间的巨大差别,当然也遇到过很多挑战与困难,有业务团队认可的成就感,有眼高手低造成系统BUG的挫败感,有担任

京东技术
基础设施
2024-04-15 10:52

浅谈从浏览器输入URL到页面渲染的流程

浏览器输入URL到页面渲染完成,这个过程大致可分为两个阶段:网络通信和页面渲染。 一、网络通信 互联网内各网络间设备的通信遵循TCP/IP协议,利用TCP/IP协议进行网络通信时,会通过分层与对方通信。数据传输的过程:由应用层产生数据后,经过传输层的分段处理(添加TCP或UDP包头)、网络层(添加IP地址信息)、数据链路层(封装成MAC帧)、物理层传输电信号。

京东技术
设计模式
2024-04-10 14:07

通俗易懂关于Paxos的直观解释

一、Paxos是什么 在分布式系统中保证多副本数据强一致性算法。 没有paxos的一堆机器, 叫做分布式 有paxos协同的一堆机器, 叫分布式系统

京东技术
数据架构
2024-04-10 14:03