- 博客(2478)
- 收藏
- 关注
原创 秒送LBS场景下的C端SOA服务容灾建设之-数据备份篇
在面向服务的架构(SOA)系统中,容灾能力是保障系统稳定性的重要组成部分。通过引入多数据中心部署自动化故障转移、数据备份等技术手段,可以有效提升系统在面对突发灾难事件时的恢复能力。例如,采用主从复制和异地多活架构,可以确保在某个数据中心发生故障时,其他数据中心能够迅速接管业务,避免服务中断。此外,定期进行灾难恢复演练和系统压力测试,也是提高容灾能力的关键措施。通过这些手段,SOA系统能够在各种极端情况下保持高可用性和稳定性,从而为用户提供持续可靠的服务。今天重点聊一下LBS场景下的数据备份方案。
2025-04-25 10:54:08
469
原创 当系统闹脾气:用「因果推断」哄稳技术的心
因果关系学习皮毛中~~~~~~1)因果推断的基本概念因果关系,又称为因果性,简称因果,是一个事件(即“因”)和第二个事件(即“果”)之间的作用关系,其中后一事件被认为是前一事件的结果。一般来说,一个事件是很多原因综合产生的结果,而且原因都发生在较早时间点,而该事件又可以成为其他事件的原因。统计相关性是指两个或多个变量之间的关联程度。如果两个变量通常一起变化(无论是同向还是反向变化),它们就是相关的。然而,相关性并不意味着因果关系。
2025-04-25 10:50:41
680
原创 从 Java 到 Go:面向对象的巨人与云原生的轻骑兵
作者:京东科技 王奕龙Go 语言在 2009 年被 Google 推出,在创建之初便明确提出了“少即是多(Less is more)”的设计原则,强调“以工程效率为核心,用极简规则解决复杂问题”。它与 Java 语言生态不同,Go 通过编译为和在占据主导地位,它也是 Java 开发者探索云原生技术栈的关键补充。本文将对 Go 语言和 Java 语言在一些重要特性上进行对比,为 Java 开发者在阅读和学习 Go 语言相关技术时提供参考。
2025-04-25 10:49:47
387
原创 简洁至上——探索产品与技术的优雅原则
1.复杂的事情简单化2.简单的事情标准化3.标准的事情流程化4.流程的事情自动化我们先踏出第一步化繁为简简化复杂性不仅能在短期内提高开发效率和代码质量,也对产品和技术的长期价值产生深远影响1.当我们考虑如何简化一个给定的任务的每一步时,这不并是在偷懒。相反,我们是在明确实际上要完成的任务是什么,以及如何更容易做到。2.我们对某些无意义的新功能说“不”的时候,不是在限制创新,是在保持环境整洁,以免分心。3.软件的简单性是可靠性的前提条件。
2025-04-23 17:49:44
974
原创 接单流程设计探索
组件通常被定义为规则执行的最小单元,我们最常见的是普通组件,也就是调用就执行,这是大部分系统目前都在使用的组件。其实在流程规则中,组件就像编译语言,还应该具备布尔组件、条件组件、循环组件、并行组件、异常捕获组件等等。由于这些组件都可以包含在普通组件中,通过代码来实现条件、循环等逻辑。所以在执行流程定义时,无法清晰识别这些本应体现在流程中的逻辑。组件定义通常还有一个值得关注的就是组件的数量,哪些逻辑可以归类到一个组件中,哪些需要分开。
2025-04-23 17:44:56
903
原创 简洁至上——探索产品与技术的优雅原则
1.复杂的事情简单化2.简单的事情标准化3.标准的事情流程化4.流程的事情自动化我们先踏出第一步化繁为简简化复杂性不仅能在短期内提高开发效率和代码质量,也对产品和技术的长期价值产生深远影响1.当我们考虑如何简化一个给定的任务的每一步时,这不并是在偷懒。相反,我们是在明确实际上要完成的任务是什么,以及如何更容易做到。2.我们对某些无意义的新功能说“不”的时候,不是在限制创新,是在保持环境整洁,以免分心。3.软件的简单性是可靠性的前提条件。
2025-04-23 17:44:25
555
原创 质量视角下的系统稳定性保障--稳定性保障常态化自动化实践
随着系统数量增多,复杂度提高,线上应急问题时有发生;加之需投入大量人力进行服务治理和验证,为了减少日常应急问题及提前排除风险,发起对生产系统的持续综合性治理,实现常态化稳定性治理。在常态化治理过程中我们将识别问题等重复性有规律的工作实现自动化,技术人员更专注于解决问题。通过自动化的方式每日对线上核心UMP、Logbook、主机、数据库、ES、Redis风险进行巡检,降低人工review工作量。稳定性治理重在持续,过程中可能会遇到痛点和艰难,值得技术人用技术不断提升。
2025-04-21 16:12:23
549
原创 大促系统优化之应用启动速度优化实践
本文记录了在大促前针对SpringBoot应用启动速度过慢而采取的优化方案,主要介绍了如何定位启动速度慢的阻塞点,以及如何解决这些问题。希望可以帮助大家了解如何定位该类问题以及提供一些解决此类问题的思路。(本文使用的SpringBoot版本为2.6.2,JSF版本为1.7.6-HOTFIX-T2)下面我们来总结一下我们都做了什么1、Tomcat启动关闭TLD文件扫描。2、应用启动Hbase预热异步化,其实这块我们可以应用到其他场景,大家可以检查下自己的项目启动的时候有没有同步预热的场景。
2025-04-21 16:07:42
1028
原创 循序渐进搭建复杂B端系统整洁架构
PICASO是一套以领域驱动设计(Domain-Driven Design, DDD)作为思想内核,专门为集成式复杂业务系统设计的通用基础框架。它的命名来自“PICASOIs aContextualAbilitySOrchestrate Framework(PICASO是一种基于上下文的能力分解与编排框架)”的首字母缩写。
2025-04-21 16:05:54
1030
原创 DeepSeek 正当红,聊聊大模型应用的四大关键要素和未来
技术的发展并非一蹴而就,而是经历从萌芽到成熟,再到广泛应用的过程。20多年前的PC互联网和10多年前的移动互联网的兴起,都经历了这样的阶段,如今,从周期和技术成熟度来看,AI大模型也正站在爆发的前夜。DeepSeek R1 的出现,不仅展示了大模型的强大能力,更以开源和低成本的姿态,为更多企业和开发者提供了平等的机会。短短一个多月,国内众多公司纷纷接入,甚至包括腾讯、阿里等行业巨头。
2025-04-18 15:13:41
773
原创 3D空间视频生成技术探索与应用
近年来,随着社交媒体、流媒体平台以及XR设备的快速发展,沉浸式3D空间视频的需求迅猛增长,尤其是在短视频、直播和电影领域,正在重新定义观众的观看体验。2023年,苹果公司发布的空间视频技术为这一趋势注入了新的活力,2025年以来,轻量化AI/AR眼镜迎来爆发,持续推动对3D空间视频内容的需求。然而,尽管消费端对3D内容的需求不断上升,供给端仍面临创作瓶颈,主要体现在可用于拍摄3D视频内容的专业相机设备稀缺、制作专业度要求高以及成本高昂等问题。
2025-04-18 15:12:45
690
原创 【前瞻技术布局】咖啡机器人:具身智能技术首阶段探索与实践
我是一名京东具身智能算法团队的研究人员,目前,主要专注在真实场景真实机器人下打造一套快速落地新场景的具身智能技术架构,聚集机器人操作泛化能力提升,涉及模仿/强化学习、“视觉-语言-动作”大模型等方法研究。本文主要以第一阶段咖啡机器人任务场景为切入点,来阐述所取得的技术突破,以及后续技术优化方向。如下是机器人全程自主完成打咖啡的视频。具身智能,指的是配备实体身躯、支持物理交互的智能体所展现出的智能形态。凭借这一智能形式,机器人及其他智能设备得以在复杂多变的现实世界中执行各类任务。
2025-04-18 14:58:58
902
原创 《数据开发治理平台 + JBDP Copilot:让数据价值“码”上兑现》
JBDP Copilot贯穿数据开发全流程,支持SQL/Python代码生成、优化、纠错、注释等6大能力。:基于京东云弹性算力,支持千万级任务调度,支持资源按量付费,有效控制资源使用成本。据抽样统计,企业数据任务中32%的延迟由低效SQL引起(如未优化的嵌套查询)进入【数据开发治理平台】→ 工作台右上角开启“JBDP Copilot”开关。目前该功能为白名单阶段,需开通数据开发治理平台后提交。三、漫说数据:看AI如何帮助数据开发提效。一、什么是京东云数据开发治理平台?一、什么是京东云数据开发治理平台?
2025-04-15 10:01:18
245
转载 如何秒级实现接口间“幂等”补偿:一款轻量级仿幂等数据校正处理辅助工具
本文工具并不重要,重要的是与大家一起探讨一些解决方案,给大家提供一种思路。如上图所示,由于服务超时后,应用B内部仍在持续执行,此时恢复手段是:人工介入,梳理数据后,人工将应用B的数据进行回退,或者人工将应用A的数据进行补齐推动流程向后走,人工保证A和B之间的数据一致性。接口的幂等性,需要调用方和服务提供方相互配合才行,倘若服务提供方提供的接口支持幂等性,双方按照约定接口入参中的uuid作为唯一序列号进行防重,但服务提供方每次的重试调用(无论上次调用成功与否)uuid都会改变,这就会使得幂等失效。
2025-04-14 09:48:10
53
转载 【灯塔计划】供应链时序大模型探索
由于大部分纯时序大模型输出的是确定性的预测,没有预测的概率,这样无法计算RL中KL散度,策略概率的损失,我们构建了一个公用的组件,适配所有的时序模型(不限于大模型),我们利用分布建模的方法,将时序的预测以及好坏的预测假设服从N(μ,1)的正态分布,对于均值的计算则直接利用输出的预测的均值则可以计算而成,这样可以快速输出预测的概率。大部分的数据来自于京东的销量数据,我们收集京东食品、服装等多品类近3年来的基础销售数据,并且在不同的维度上进行时序的聚合,多品类和多维度的数据扩充了数据的丰富度和异构程度。
2025-04-11 10:03:37
61
转载 别再把JSF当HTTP:远程调用不背“包”袱!
然而,我注意到,在日常开发中的很多代码中, 设计JSF接口时,倾向于将返回对象设计得像HTTP请求的响应,包含。因此,正确的RPC接口设计应该与本地方法的设计一致,返回值简单明了,异常通过抛出异常的方式处理。这就是我们正常设计一个本地方法的方式, 通过java的异常机制,我们定义出可能的业务异常, 比如入参错误异常, 系统执行异常等等, 然后再调用时, 通过抛出异常来处理错误.同时, 在JSF框架中,异常会通过RPC框架进行序列化和传输,调用方可以正常地捕获到服务提供方抛出的异常。
2025-04-10 16:33:43
31
原创 京东中台化底层支撑框架技术分析及随想
作者:京东零售 徐开廷本文大约1.7万字,阅读需要13分钟。导读:近几年,除AIGC外,软件领域相关比较大的变化,就是各相关业务领域开始如火如荼地建设中台和去中台化了。本文不探讨中台对公司组织架构涉及的变化和影响,只是从中台化演进的思路,及使用的底层支撑技术框架进行分析探讨,重点对中台及前台协作涉及到的扩展点及热部署包的底层技术细节,结合京东实际落地情况,对涉及的核心技术框架进行源码初探分析,探讨技术框架的考虑点,拓宽大家的思路,欢迎大家审阅。
2025-04-08 11:11:50
983
原创 ClickHouse 的“独孤九剑”:极速查询的终极秘籍
通过上述特点,我们可以清楚地看到,ClickHouse 的高性能查询能力并非偶然,而是其架构设计和技术创新的必然结果。无论是列式存储、向量化执行引擎,还是数据压缩技术、分布式架构,这些特点共同作用,使得 ClickHouse 在处理大规模数据分析时表现出色,在大数据的江湖中独步天下。
2025-04-07 13:18:22
562
原创 动态化-罗码(京东科技一码多端解决方案)介绍
动态化-罗码(后文统称动态化)是一个全自主研发的一站式跨平台解决方案,一份代码,可以在iOS、Android、H5及华为HarmonyOS运行。在研发团队使用后可大幅降低研发人力成本;为业务提供实时触达、A/B触达等能力以提升业务投放效率;同时保障了C端用户优秀的用户体验。
2025-04-07 13:15:49
918
原创 【灯塔计划】【积微成著】规模化混沌工程体系建设及AI融合探索
定义明确的稳定性指标,用以衡量系统在实验过程中的状态,稳定性指标可以是技术监控指标、业务监控指标或用户体验指标等。快递快运终端系统是服务于一线快递小哥及站点管理者的日常工作作业实操系统,是京东物流作业人员最多、物流揽派作业最末端以及作业形态多元化的系统。
2025-04-02 11:27:22
997
原创 字符串替换研究
1、使用现成的AhoCorasick算法进行实现,是性能与稳定性最优的选择,非常强调性能,还是可以自己实现Trie树来实现;2、在真实的使用过程中,因为大部分的商品名称最多出现几个关键词,并且待替换的关键词往往都是比较多的,可以将这么关键词找出找出几个有代表性能的词,做前置判断,商品名称中是否存在;再进行全量替换;如待替换的关键词有:政府补贴、国补、支持国补;那么我们并不是直接就循环这个待替换的关键词组,而是找出这么关键词中都有的关键字”补”先判断商品名称中是否存在“补”字后,再做处理;
2025-04-02 11:23:37
378
原创 【LangChain】一文读懂RAG基础以及基于langchain的RAG实战
本文介绍了RAG的基础过程,在langchain框架下如何使用,再到提供两个个例子进行了代码实践,最后又简要介绍了企业级别RAG构建的内容。最后希望大家能有所收获。码字不易,如果喜欢,请给作者一个小小的赞做鼓励吧~~
2025-04-02 11:22:47
687
转载 动态化-罗码(京东科技一码多端解决方案)介绍
当时通过调研发现,市面上的跨端技术多以页面维度进行支持,对于局部卡片模式的跨端没有很好的解决方案,我们决定自研一个能够和原生卡片共存的区域卡片动态化技术,目标如下图所示,被放大的两个卡片使用动态化技术实现,不改变其余楼层的原生实现方式。这里分为两种类型产物的运行,首先是JSEngine,在iOS系统使用系统提供的JSCore、在安卓系统使用V8引擎、在Web使用浏览器的WebKit,由一个专门的JS线程在一个最早的时机(比如APP启动)进行JSEngine的加载,加载完毕后,就形成了了业务产物运行的环境;
2025-04-02 09:41:48
30
原创 业务复杂度治理方法论--十年系统设计经验总结
软件设计的核心在于降低复杂性。–《软件设计的哲学》业界对于复杂度并没有统一的定义,斯坦福教授John Ousterhout从认知负担和工作量方面给出了一个复杂度量公式子模块的复杂度cp乘以该模块对应的开发时间权重值tp,累加后得到系统的整体复杂度C这里的子模块复杂度cp是一个经验值需要注意:如果一个子系统特别复杂,但是很少使用及修改,也不会对整体复杂度造成太大影响。例:spring框架内部代码较为复杂,但由于几乎不需要我们去变动,所以对系统的整体复杂度影响并不大。
2025-03-31 14:34:54
834
原创 【转载】golang内存分配
在 1.10 以前 go 的堆地址空间是线性连续扩展的, 比如在 1.10(linux amd64)中, 最大可扩展到 512GB. 因为 go 在 gc 的时候会根据拿到的指针地址来判断是否位于 go 的 heap 的, 以及找到其对应的 span, 其判断机制需要 gc heap 是连续的. 但是连续扩展有个问题, cgo 中的代码(尤其是 32 位系统上)可能会占用未来会用于 go heap 的内存. 这样在扩展 go heap 时, mmap 出现不连续的地址, 导致运行时 throw.
2025-03-31 14:32:11
176
原创 缓存之美:万文详解 Caffeine 实现原理(下)
是一个 MPSC 的缓冲区,采用了分段的设计,将缓冲区划分为多份,根据线程的探针值哈希到不同的缓冲区,减少竞争的发生,并使用CAS操作来保证多线程下写入操作高效执行。队列按照从头节点到尾节点的顺序消费,使用频率相对较低的元素先被驱逐,在相同频率的情况下,优先保留主空间中的元素而不是窗口区元素。在文中提到过每个分区的双端队列使用了 LRU 算法,被访问过的元素会被放在尾节点,但对元素进行驱逐时并不以 LRU 的顺序为准,而是会参考频率草图中记录的元素频率,保证使用频率高的被保留,低的被驱逐。
2025-03-27 10:31:51
1006
原创 AI时代轻松保护软件版权,京版通让产品安心起航!
一旦软件遭遇侵权,比如未经授权的复制、分发、展示或修改等行为,持有软著的开发者可以依法采取法律手段维护自己的合法权益,不仅能够要求侵权方立即停止侵害行为,消除影响,还可以依据实际损失或侵权人的违法所得,请求相应的经济赔偿。对于软件开发者而言,及时进行软件著作权登记,不仅是对自身智力成果的保护,也是维护市场公平竞争秩序的重要手段。拥有软件著作权证书的软件产品,往往被视为技术实力雄厚、创新能力强的代表,它不仅证明了软件的合法性和原创性,还体现了软件的市场价值和潜力,在市场上更容易获得用户的信任。
2025-03-25 10:12:00
262
原创 监控系统原理揭秘-数据运算篇
由于篇幅有限,这篇文章只介绍了数据计算中的一部分,要想实现容错性高、计算精准的数据计算服务,需要考虑很多场景。例如,算子并行计算时,某个算子突然不可用,如何恢复数据的计算结果?并行算子间,每个算子的计算负载不一致又该如何处理?欢迎大家一起讨论~
2025-03-24 15:58:59
974
原创 引入JaCoCo导致的类型转换问题分析
内部类被反编译后,可以发现access$100的方法并没有被定义,但是分析来看name是内部类Goods的私有属性,但是外部类可以直接引用这个属性,从语法结构上讲这是被允许的,这就需要编译器在编译过程处理这种操作,在编译器看来,外部类和内部类是两个独立的类,如果外部类想要访问内部类的私有属性,其实是与封装原则相悖的。那么“[Z”这个类型又是从何而来呢?合成属性/方法是由Java编译器在编译过程中自动生成,并不是研发显示编写的,而是为了支持编译器内部的实现细节而生成的,下面针对合成方法进行一个举例说明。
2025-03-24 15:55:18
996
转载 多智能体强化学习的算力调度创新,打造更智能、可靠、经济的推荐系统
DRQN的作用:传统的DQN在处理全可观测环境时表现出色,但在部分可观测环境(Partial Observable Markov Decision Process,POMDP)中,由于无法获得完整的状态信息,性能会受到限制(例如我们的召回 Agent),在这种情况下,智能体需要利用历史信息来推断当前的环境状态。DRQN将深度Q网络与循环神经网络相结合,使用GRU来处理序列化的观测数据,使得当前的Q值估计不仅依赖于当前的观测,还依赖于过去的观测序列,可以在部分可观测的场景下更好地处理Q估计问题。
2025-03-24 14:11:23
83
转载 三十分钟入门基础Go——Java小子版
这种实现方式虽然足够明确和简单明了,但也存在一些问题,尤其是在设计标准库的时候,因为标准库必然涉及到接口设计,接口的需求方是业务实现类,只有具体编写业务实现类的时候才知道需要定义哪些方法,而在此之前,标准库的接口就已经设计好了,我们要么按照约定好的接口进行实现,如果没有合适的接口需要自己去设计,这里的问题就是接口的设计和业务的实现是分离的,接口的设计者并不能总是预判到业务方要实现哪些功能,这就造成了设计与实现的脱节。例如go的最大优势之一“协程”,由于文章目的就没有特别详细展开,有兴趣的同学可以继续学习。
2025-03-21 17:46:34
37
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人