混合多云第一课——多云多活为何被称为“技术皇冠上的明珠”

当今科技的发展正在推动着产业格局的演进,而产业变革的核心则是信息技术的运用。比方说物联网、5g、人工智能等等。那么信息时代的这种数据的爆炸性增长,给企业业务的连续性带来了巨大的挑战,而传统的灾备中心存在着建设成本高,切换时间长,以及灾备中心的资源不能充分利用等一些不足。所以目前多云多活的这种技术正在逐渐兴起,那么为什么多云多活被称为技术皇冠上的明珠呢?下面我想分享一下京东在这方面的一些实践,京东是如何去做这种多云多活的以及京东的一些产业实践案例,我将分为以下4个方面来讲。

第一个就是说我们多云多活的一个产业价值,第二个是讲我们技术皇冠上的打磨之旅,我们有哪些困难,以及我们京东科技是如何克服这些困难的。第三个讲的是说从技术的理念构建到产品的标准化,我们是如何把这样一个复杂的流程进行串联起来,并且作为一个标准化产品,让客户能够简单的去使用。

最后再分享一下我们在具体的一些产业实践的案例。

1.多云多活的产业价值是什么?

科技让我们生活变得更加美好,我们可以足不出户的进行购物支付,那坐在家中就可以等着我们快递送上门,但是如果说我们的系统发生故障,社会或者个人会造成一些巨大的损失。以下是我们近期全球所发生的一些影响比较重大的一些案例。

在2020年,东京证券交易所由于软件故障,导致于全日本的交易所停业了,一天影响达到数千亿日元,同年的10月,那么法国的一个IT公司也是由于勒索导致它的全球服务的中断,公司的损失到达了这种4,000万欧元,公司的CEO也引咎辞职。

有机构做过一个统计,统计了每个行业在遭受到这种IT系统中断情况下的平均损失。在金融服务和信用卡授权我们能看到都是上百万美元,那么在其他的购物视频点播等等,它的损失达到了10万美元,这是几年前美国的一个数据,在我们中国可能损失就更大了。

我们有什么办法来抵御?那么方法就是建立一个灾备系统,灾备系统能够有效的降低企业遇到一些意外故障的时候的业务中断。

我们中国的一个联盟做过一个调查报告,在建设了容灾体系的情况下,业务停机的损失降低了3.4倍,那么损失的金额从以前的102万美元降低到30万美元,数据丢失的损失降低了3.5倍,从平均的78万美元降低到了23万美元。

虽然容灾体系的建立能够有效的降低企业的损失,但是企业业务连续性的提升其实并不是一件容易的事情,IDC曾经做过一个调查,发现企业在建设提高它的业务连续性方面遇到了一些挑战,比方是说传统的的灾备中心,它的资源利用率不足,不能直接带来生产力的提升,通过灾备中心进行业务切换,那么切换的时间比较长,很难满足一些对业务连续性要求比较苛刻的这种行业的需求,比方说金融保险等等。

其次这种灾备系统建立,还有成本过高,建设困难,管理困难,使用困难等一系列的问题,所以这种企业建设这种灾备中心也不是一件容易的事情。

我们看一下这种业务连续性的演进。

最开始我们可能就是一个单体应用,业务不是在一个机器上,那么如果这个机器出现故障或者业务发生bug,挂了之后,那么整个系统就停止了,是最原始的一个应用。

随后我们把应用进行了拆分,我们把应用部署在多个机器上面,这样即使机器发生故障也不影响,同时我们应用的实例还可以部署多套,即使有一套发生故障之后也不影响整体的对外服务。同时为了进一步提升这种效率,我们还把这种机器或者应用去跨机架去部署,如果机架发生问题,也不会导致我们整个业务中断。这是后来引进的一个单机机房的SOA架构,这种架构并不能去抵御我们整个机房的一个故障,比方说整个机房的电源发生故障了,或者它的网络发生故障了等等,这个时候又衍生出一种同城双活的这种架构。

我们把应用部署在两个机房里面去,数据做主从同步,应用去写主集群,这种方式可以规避我们机房的故障,在面对一些对业务要求性更高的一些行业,比方说这种银行证券等行业,这种方式它没法去抵御自然灾害,比方说我们整个城市受到了地震或者受到了这种暴风的袭击,导致这种业务中断,所以后面我们又衍生出两地三中心架构,在异地建立第三个灾备中心,做异地的备份和业务的备份。

那么在这种情况下,灾备中心往往是不提供服务的,只是在同城业务发生困难的情况下进行切换,这种情况时间比较长,难以满足很多业务的要求。

近些年由于云计算技术的兴起,所以我们又开始这种多云多活的这种建设,把数据进行分片进行拆分,每个机房分片数据,然后业务要进行流量划分,那么当某一个机房出现故障之后,它的业务流量能够在分钟级之内切换到其他机房里面去,对于用户来说,甚至说可能感受不到这种故障的发生,就是我们最近的这种多云多活的一个架构。

好,为什么我们要做多云多活?因为我们经过通过调查发现,多云现在是全球IT的主流的趋势, Flex调查发现,全球已经有92%的企业已经采用了多云的战略。

多云战略是未来企业的主要的方向,企业要充分去利用多云所提供的这种种能力去发展它的业务,没有任何一朵云能够去满足所有业务,用户就发生了多云需求。

IDC调查也同样表明了,未来的用户的业务会急剧的上升,它建议用户关注跨云或者边缘的连接,以及集成。工信部下面的信通院的调查也表明,无论是用户还是企业,都希望能够有融合多个云厂商提供多云服务的一个产品出现,帮助用户进行多云的部署和数字化战略。

我们能够看到:多云不仅是全球的一个趋势,多云在国内已经逐渐的兴起了,从大型企业到很多政务云,他们都已经采用这种多云的架构,对于单一的云厂商来说,采用多云的战略,它的收益会更加明显。

我们看一下企业的用云现状。

那么最左边是一个单云,用户的所有的业务都跑在一朵云上,这种情况下用户就跟这种云强绑定,往往丧失了议价权,成本会比较高昂,同时也受到这种单云故障的风险,如果云发生故障,那么它整个业务就是一个停滞状态,所以这种情况下用户的风险性比较高。

很多企业认识到了单云的风险,又采用多个云的这种方式,把他们的多种业务分布在多个云上,但是每个业务只在一朵云上,这种情况下他们业务还是会承受到一定的威胁,比方说我们某个核心业务在某个云上,如果说这朵云发生故障,那么这一部分业务同样会陷于停滞状态,这种情况下,用户的议价权和成本也受到一定程度的绑定,所以各个业务形成一种烟囱状,不能协同作战。

那么第三种我们称之为真多云,这种方式下多个云做了一个抽象,提供统一的运行的资源,用户会在上面建立统一PaaS组件和使用入口,各个业务可以根据它的业务的选择或需要分布在多个云上,任何一朵云发生故障的话都不影响整体服务,这个我们称之为多云,这也是最理想的一种方式,但这种方式存在着成本投入大,技术门槛高这样一个问题。

我们曾经做过一个调查,采用这种多个云的企业这种方式,他们其实也认为他们在云的使用方面也不是特别满意。

比方说在价格维度,他们议价权会比较弱,云厂商往往会跟他们绑定这种资源的用量,

其次在政策维度可能受到监管合规、反垄断或者、安全的因素,在技术维度如果你跟一个营销商绑定的越久,那么技术栈的深度绑定其实不利于它的创新和发展,同样业务维度的丰富度和质量也比较受限,对于一些中小客户来说,在它的受重视的程度会比较低,它在运维方面响应的速度会比较慢,同样也会降低用户本身的一个业务连续性。

从出海维度,业务覆盖与开通方面也受到一定限制,那么绑定的越久,那么技术与企业的这种风险的在不断加剧,这是采用多个云的企业的一些观点和痛点。

我们看一下我们京东认为的多云应该是什么样的一种方式,我们认为真正多云应该是在以下5个层面进行打通。

第一个我们称之为机房通,机房通不仅仅是指机房之间,还有网络互通,而且还要指我们如果在机房之间部署各种监控去监控你这种网络的质量,你的延迟你的带宽等等,并且可以在这种机房的基础之上和多云基础之上,去划分我们的各种AZ可用区和Region进行进一步的这种抽象。

其次是网络通,网络通常指的是我们不但要Underlay的网络,Overlay的网络,包括我们的容器网络,也要彼此打通,方便我们的应用进行各种层次的访问。

第三个是指数据通,通指的是我们的数据在云上能够去自由的去漂移,自由的去移动,我们的数据能够从一朵云同步到另外一朵云去,而不受限制,这个数据通其实也是我们跨云应用多活的一个基础。

那么第四个是**应用通,**指的是我的应用能够去跨云的去发布、去部署,我们的应用多活也是处于这种应用通这样一个层次,可以把握应用部署在多个云上并行的去进行管理。

第五个是指的是管理通,管理通指的是说我们的资源从资源层面的管理,从我们的运维层面、运营层面以及安全层面都有一个统一的管控措施。

所以我们认为只有实现了在机房通、网络通、数据通、应用通和管理通这5通,才能是一个真正的多云的架构。

我们再看一下多云多活的价值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ESXeiTKf-1679301882114)(https://oscimg.oschina.net/oscnet/up-2e2f94b8cce3bd4f5750c1218d8628774c5.png)]

首先来说多云多活对于用户来说,它能够使用户的业务连续性有保障,还能够控制用户的故障半径,减少因为单一机房或者单一云厂商发生故障,而给业务带来业务中断的风险。

第二个是多云多活,可以做我们多云战略的一个很好的支撑,当你的业务分散在不同云上,那么就可以根据各种不同云的技术和技术栈,它的优势采用不同的方式,可以很好的去支撑多云战略,业务就更加灵活。你不会被云厂商进行某个方面的绑定,同时你还可以去避免它的定价束缚、技术的绑定等等。

第三个是可以帮助用户进行有效成本的控制。那么传统的灾备中心,灾备只是提供这种冷备的方式,通常不提供生产力,或者说只用于一些这种只读的方式。多云多活,它的多个数据中心可以同时对外提供服务,能够让我们这种资源利用率得到最大程度的提升。其次它还可以根据不同厂商的价格和策略,动态的在多个云里面去调整它的流量,而且这种调整代价极低,所以我们可以根据各个流量价格去动态去分配我们流量,充分去实现我们成本的一个最优化。

第四个还可以很方便的进行业务的弹性伸缩,那么各个数据中心那么都是可以读写的,都是可以随时进行扩容的,而且流量的这种调整支持各种的分流策略,可以很灵活的根据业务的需求进行调整。

2.要实现“多云多活”,需要解决哪些核心难题?

那么第二点我们看一下,为什么说我们是技术皇冠上的明珠?

多云多活的打磨之旅是怎么样的?

多云多活虽然有上面我们所提及的种种优点,但是多云多活的建设其实也面临着很大的困难。

第一个就是说异构多云的资源,我们怎么去统一的去纳管?每朵云对外接口、API、产品形态都是不一样的,如果要去适配的话难度会比较大。

其次是说多云多地域,它的之间的数据实际性如何进行漂移的,数据时效性怎么保证,一致性怎么去保证,这是第二个问题。

第三个就是说多云之间我们能够做流量去怎么去进行调度,有些什么样的纠错和保护措施。

第四个是说我们现在是很多企业采用这种微服务的方式,我们的微服务框架是怎么去支持多云方面等等。这4个问题是我们在多云多活建设所面临的4个主要问题。

先看一下多云的统一管控问题,对于多云的管控,我们进行了一个把整个多云管控抽象出一个我们称之为Open Cloud的这样一个抽象层,由抽象层负责去对接下面底层的各个云厂商,而Open Cloud对上提供统一的接口和API对接各种应用,包括我们这种企业的应用,包括我们这种多云多活,都是在Open Cloud上进行统一的接口对接的。

这样的好处就是说用户不用再去逐一的去适配每个云厂商的千差万别的接口了,而只需关注业务的自身发展就可以了。除此之外,我们的Open Cloud也帮助用户可以重新替换规划能力,。当然从管控层面进行统一抽象之后,对于用户来说就管理管控更加容易了,也降低了用户的这种运维成本。

看一下具体的一个图。

用户有两个自建的IT机房,然后业务分布在两个不同的云上,这种情况下我们就可以把这4个机房做1个抽象,比方说我们既可以把机房123把它抽象成1个VPC,也可以把第一个机房作为1个VPC,23机房和A云统一成为一个VPC,通过这种方式向上去做它这种资源的整合,在上面再去搭建我们统一的这种PaaS组件,进行这种跨云的多活发布等等。

通过Open Cloud这个层次屏蔽底层各多元的复杂度,构建一个物理分离,逻辑统一的这样一个层次去满足用户的运行时环境。

那么用户的业务在使用的时候,就不用感知多云的技术差异了,对于它来说像是一个单一的云一样去部署发布和运维,同时这种方式用户也可以把公有云作为一个弹性池,如果说当某个业务这种峰值到来的时候,我本地的机房不能满足负荷,那么它就可以很容易的把这种需要的资源弹到公有云上去,由公有云来承接一部分流量,从而满足整个业务的一个峰值。

通过这种方式,我们用户这种业务规划也能够更灵活,那么成本也能够得到降低,因为你不用去维护很多这种机房,而随时可以去往公有云上去弹资源。

目前我们Open Cloud支持这种公有云、私有云以及虚拟化等各个平台以及各种云服务商的接入了,目前已经支持了10多个云服务商的接入,而且也支持VMWare这种方式,这种方式之下,用户可以去这种统一的 Open cloud上去构建自己的VPC实现网络的隔离,去划分自己的子网。

同时我们还提供虚机和物理导入能力,也可以把自己目前在机房或者在云上的主机通过导入的方式放到我们的平台里面去,而且还提供统一的接口和界面在各个云上去创建我们的虚机。通过open cloud我们可以实现对我们的运维和使用带来极大的便利。

第二个就是数据在多个云之间是如何做漂移的,数据的一致性和安全性怎么来解决?

那么数据复制其实是多云中的一个很大难点,那么我们京东为了解决在数据在不同地域不同机房里的这种复制问题,我们专门做了一套我们称之为数据复制中心DRC这样一个平台,来进行我们的数据复制。它可以支持多种同构或者异构的数据库的单向或双向同步,同时它能够支持缓存以及消息队列的同步订阅。DRC其实目前已经成为我们京东零售和京东科技进行单元化应用多维的一个基石。

DRC有一个三高一低的特点,三高,它具有高可用、高可靠、高性能以及低延迟这个特点,可以看它这个架构图,而这个图里 DRC它其实会分为生产者和消费者两个方式,生产者负责从源数据库抽取了全量、增量数据,进行数据过滤一些这种策略,这些数据通过GRPC的方式发送给消费者,然后消费者会对数据进行一些优化处理,比方说执行一些并行策略,进行SQL合并等等,把这个数据写到目标库里面去。通过生产者与消费者的这种方式,我们就能够在源端和目标端分别进行各自的优化,通过这种方式我们能实现很高的性能和可靠性。

好,下面我们看一下DRC的几个核心特性,就是刚才我们说的三高一低。

第一个是数据高可靠,我们可以支持全量校验,数据抽取的时候可以做数据进行一一校验,同时还具备一定的修复功能。第二个也可以对在增量同步的时候,增量实时的进行数据的一个比对。第三个也是特有的它提供一个数据轨迹的功能,针对一些重要业务的数据,它可以开启这种数据轨迹,这个数据是从哪同步到哪来的,同步的情况怎么样?

第四个它还具有比较完善的这种数据冲突检测的手段,如果说数据发生冲突之后,还可以我们去制定以什么样的这种策略来解决这种冲突。

第二个是说的是链路高可用。你整个DRC它实际上是一个集群的模式,它任意一个节点的故障之后,都可以把上面的任务快速的切换到工作任务正常节点去,同时我们还支持断点续传,把整个任务切换之后能够迅速的去自动去继续有上次的这种任务,而不需要去重新执行。

第三个是高性能。在云端和目的端都采用了种种方式来进行这种性能这种提升。比方说我们采用了SQL合并,而且这种并行技术复制效率比通常的这种方式会高很多,同时它还能够根据我们的任务的不同特点,在线扩缩容,而且扩容期间是不影响整个数据传输的。

那么第四个是一个低延迟,那么整个DRC能够做到一个很低的数据延迟, 延迟能够小于50毫秒。在我们京东内部的一个实际环境下,比如说我们从北京到宿迁两个机房,那么TP99只有20毫秒这样一个延迟。

我们下面看一下主要架构。

主要分为前面的控制台,调度引擎以及双活管道三个部分构成。前面的控制台我们提供数据源的配置,我们的agent这些管理,并且提供种种监控,我们的字段对比等等,同时还可以去进行一些操作记录,异常记录等等。

好,第二部分就是我们的引擎,我们可以分为消费者与生产者,那么消费者生产者是通过这种链路进行同步,另外我们的采集模块还会对任务的进度进行监控,去看看这种任务的执行情况怎么样,你的任务是什么样的,如果发生异常之后还会产生告警,通知我们的管理员进行处理。

下面是它的数据管道,数据管道它专门针对多活提供了特殊的配置,有专门的多活管道,还有这种处于日常的迁移同步的数据管道,以及给大数据用的ETL管道,它会针对每一种管道的特性做一定程度的优化,去满足不同管道的场景的特征。

那么我们底层目前也支持很多这种数据库,包括常见的My SQL,MongoDB、Clickhouse等等,包括Oracle都可以支持,包括还可以支持我们的缓存,以及Kafka这种中间件都可以步,功能非常强大,是我们目前京东零售和京东科技做应用的异地多活的一个基石。

我们具体看一下DRC-MySQL为例,看一下具体怎么去做的。

首先来说他会去做一个源端的数据抽取,由consumer做目标端的数据插入,那么在抽取的时候它可以有多种方式,可以进行这种全量的抽取,全量加增量顺序抽取,还有一种特有的全量加增量这种交替的方式,为什么会有这种方式?因为在我们的源端的这种数据库里面,可能由于数据过多,bin-log比较大,所以bin-log我们会及时的通过一种交替的方式把bin-log及时的抽取过来,然后存到本地进行缓冲。

那么当全量这种数据抽取完成之后,我们再把它的整个数据发送给consumer,这样就避免了我们历史数据过大,抽取时间很长,导致bin-log被覆盖的问题,同时在这种consumer端,我们也采用了这种多种方式进行这种性能的提升,比方说我们针对多个表,我们可以以表的维度进行这种并发的去进行写入。这种方式就能够极大的提升效率,但这种方式适用于表之间的业务关联性不强,它可以满足这种最终一致性。对于数据一致性要求比较高,我们还可以进行事务之间的并行。

那么第二种可以去根据你的事务的运行特点,去找出可以去并发执行的事务。比如说我们下面看这个例子,12345这5个事务分别去执行,我们通过分析这个事务就发现,那么1和23和45这两个事物是可持续并行执行的,我们再去进行这种写入的时候,这两个事务就会并行写入,通过种种的一系列并行策略,我们就能够达到一个很高的吞吐量,同时一个很低的延迟去满足我们在多云多活或异地多活这样一个对数据同步的高吞吐量低延迟这样一个场景。

在很多场景里面,其实就是在一些金融场景里面对事务的一致性要求比较高,所以我们这边还提供分布式事务。

它可以去支持这种XA、TCC和TAC这几种模式,去满足在微服务调用下,跨单元或者跨异地调用的一致性,同样它也具有很高的可靠性,它也是一个分布式的这种集群。

比如说事故发生故障之后,它可以去自动的就去回滚,并且去进行超时的检测,同时它具有很高的观测性,提供事务、各种管理后台、监控指标以及日志等等。

好,我们看一下第三个挑战,流量是如何进行这种切分和调度的,以及在这种过程当中,我们有些什么样的保护措施等等。

流量的切分我们是通过我们称之为一个流量网关这样一个组件来实现的,那么用户的流量从最上面我们可以看到到达流量网关,那么流量网关之后,流量网关会根据我们的配置或者策略,将流量根据指定的算法分分到不同的单元里面去,同时它的管理模块还可以去进行日志的采集,监控、告警以及运维管理等等。

除此之外,我们流量网关还具有流量这种纠错功能。如果它发现流量发错了,它会自动的把流量根据我们策略转发到正确的单元里面去,同时流量网关我们还可以支持限速熔断以及支持应用的各种发布模式,比方说蓝绿发布、灰度、权重等等,它提供这种Prometheus这种监控指标,比如说单元维度,host维度的纠错统计等等,这些数据治理的一些能力它都能够提供。

这边是它的一个功能全景图


最右边我们可以看到其他主要功能还是在这种流量的路由方面,比方说它在HTTP路由,就提供URL重写、重定向等等功能,左边是那些管理功能,包括还能提供一些我们日志管理监控管理,能够对业务进行一些分组,所以流量网关是我们进行整个流量划分,流量这种纠错,流量管理的一个核心的组件。

那么第二个我们称之为应用网关Phevos。

应用网关本质上是一个API网关,它负责把前端发过来的http的这种请求转发成对应的API调用,然后发给后面的微服务,它分为三层,有前端的font,后端的 server负责各种处理,以及的规则中心进行各种规则的这种管理和调度。

我们讲的是应用网关的一个功能全景图.

我们可以看到在前端它可以负责这种节点的伸缩,API的分发、流量控制、负载控制等等,在后端的它主要就进行流量的控制,比方说能进行协议的转换,参数的转换,报文的映射,同样它有熔断、降级的这种功能。

第三个是它的控制台,它既然是个API网关,那么在控制台上就提供整个API全生命周期的管理,比如说API的一些配置,API的部署授权等等,同样它还提供运维管理功能,比方说叫权限管理,配置管理的这种集群管理等等,都会通过我们的后置台进行很方便进行配置,这是我们的应用和应用网关。

好,第四个就是微服务的单元化支持,就是我们如果在多云的环境下,并如何进行满足我们的微服务的这样一个调用。

微服务我们称之为JMSF它当时采用了双模技术,同时支持我们的微服务和网格,为用户提供统一的一个微服务的能力,它是将服务的注册与发现,服务的负载均衡,服务的治理、服务的路由、服务的鉴权等等统一的进行平台化,提供给用户一个统一的服务治理能力。

我们在微服务平台支持这种常用的istio,spring cloud、dubbo这些常用的组件,并且还可以去对接 Nacos、SGM这些组件。

我们看一下微服务是怎么支持多云的。

首先在部署方面,我们可以采用一种多集群的部署方式,那么用户的流量从我们DNS或者CDN分发到各个不同的机房里面去,由LB和我们前面说的流量网关转发到后端上面去。那么云的这种lb这种流量转发的功能,它会把这种流量转发到后面的这种应用网关以及这种微服务里面去。那么JMSF也同样的具备这种流量控制能力,跨云同步和跨云访问的能力。

其次我们的这种多云服务,它具备多云的注册的能力,每一个这种云服务中心都可以有一个独立的这种注册中心,同样每个注册中心它也可以去聚合多云区的各个服务,并且把它相应的自动标识所属的云区域,那么服务实例也可以去拉取我们云上的这种调用,进行相关这种策略的配置及调用等等。

在多云的服务调用方面,我们有三种不同的策略进行这种配置,比方说默认的就是说我们不分区域提供一个全局的调用服务。第二个是说进行只是进行本地调用,只调用处于同一个云地域或者机房里的这种服务。第三个我们还可以配置首先是本地优先,那么服务优先选择本地域或者本地的服务,如果说本机房或本机房的机器没有或者发生故障之后,再去其他地域去寻找,通过这种方式我们就能够去满足我们多云的调用服务,在多云和性能之间做一个很好的平衡。

我们看一下我们JMSF的主要特性。

第一个是说它可以兼容我们的主流的开源的服务框架,包括Istio、Sprintcloud、Dubbo等等,都可以去支持

第二个它可以去支持已有的微服务进行这种迁移的方式。第一个,那么你的新应用是通过Sidecar模式,实现无侵入迁移,那么进行这种方式,无需做更多的工作。再一个是你的微服务,可以通过我们的服务同步机制参与到这种新架构里面去。

第三个就是说我们还可以支持复杂的业务场景,我们可以支持支持网格与注册中心相互同步、调用,支持同一服务下混合架构部署,支持Sidecar和SDK的虚机,容器混合场景,支持多集群服务网格,支持星链容器网络模式,支持容器Host网络模式,支持多控制面网格服务。我们的这种微服务可以进入各种服务框架,支持这种已有的应用服务的简便的接入,支持各种复杂应用场景。

好,我们下面看一下我们是如何把那些技术理念这种碎片化的东西是如何进行标准化,形成一个产品化的。我们介绍一下京东单元化的这样一个实践。

3.从技术理念构想到标准产品化,京东是如何做的?

这是京东单元化和应用多活的一个简版,实际比较复杂。

我们京东大概是会有大概三个这样一个数据中心,分别是北京中心,北京我们称之为中心单元另外还有两个是宿迁和广州,我们称之为普通单元。

那么中心单元是有全量的数据,所有数据都在北京中心单元,而普通单元分别是有部分的一些买家,我们说用户的一些数据,用户数据会从这种普通单元往中心单元里面去同步,而商家数据只是从中心单元往普通单元里面去同步,这样的话我们每个单元里面都有了这种相应的商家和用户的数据,所以说能够做到一个请求,能够在每个单元里面进行闭环的调用,避免跨单元调用,变成性能的延迟。

当然有一些特定的数据,比方说我们的库存等等。库存这个意思是说全局的统一的管控,那么对于一些这种库存,那么所有的这种数据我们还是要路由到中心单元去进行统一管控的,那么对于中心单元来说它是一个核心,所以中心单元我们做双机房的一个热备,通过这种方式我们实现了这种应用的跨地域的多活,无论是宿迁单元还是广东单元发生故障之后,它的流量能够在分钟之内往中心单元或者说往其他单元去切换,中心单元有额外的核心的机房的热备。

好,我们再看一下我们的多云多活系统。

多云应用多活系统,它是以用户的应用为中心,以混合云的云舰为底座的一个产品,它能够帮助用户在同城或者异地建立一套与本地的这种生产系统完全相对应的一个多活系统,分布在多个云端的多个机房,能同时对外提供服务。

当故障发生的时候,那么多活系统可以在几分钟之内实现业务流量的切换,最大程度的降低故障的影响,那么用户在几分钟时间之内,甚至可能感受不到业务发生故障了,那么这个系统有什么样特点?这个一是我们实现了这种跨云的多活模块,不仅仅是分布在我们一朵云里面,而且可以划分在不同的云平台里面,那么业务流量我们可以按需的进行泳道式的路由。

第二个我们可以实现这种跨云的发布,可以通过我们统一的管控平台进行这种多云之间的统一的发布和部署。

三这种请求,我们通过一定的合适的配置,我们能够实现各个组件和服务,能够在一个单元之内请求闭环,减少跨机房当中单元调度,从而避免性能的损失。

第四个是数据一致性,通过DRC实现数据的毫秒级同步,有完备的数据路由、异常检测机制,在数据路由的每个层次,我们都具有这种写保护措施,防止我们数据的异常

这是我们通过了一个信通院的最高机制的认证,叫做“先进级”,也是说国内第一个能提供这种多云多活力的一个厂商。


其他厂商可能通过这种资质,它只是在自己的单一的公有云上通过这种资质,而我们是能够在多云这个环境里面下提供这种多活能力,那么这个是目前国内是唯一的一个。

我们看一下我们整个多活的一个架构,我们整个多活目前是支持单元多活,我们称之为异地多活和同城多活两种方式,这种方式下你的RTO就是你的系统切换时间能小于两分钟,那么RPO根据我们的网络情况和部署的架构不同,最高能够做到0,整个架构就是最左边的,我们称之为一个多活的管控层,最上面是云舰这样一个平台构成的,那么云上我们有了这种流量网关进行流量的分发配置,还有应用网关把流量转化成这种API,然后是后面的微服务,下面还有数据库和中间件等等,那么整个平台它具有这种流量保护的功能,那么就是说每一次的服务请求之后,它都会根据最新的路由规则进行计算,如果是这种非法流量就拒绝处理。

其次它这种流量纠错的功能,在流量网关应用网关及微服务过程都可以进行流量冲突检测。如果发现流量打到错误单元,那么它重新会将流量路由到正确单元里面去。第二个时候它可以有本地优先的这种调用策略,优先调用本单元的服务,从而减少这跨单元调用给我们带来的新性能损失。

同时它也进行链路透传,把一些关键的路由信息透传下去,这个主要是给我们后面SGM监控提供支持的。

刚才我们说了我们整个应用多活,实际上是基于京东云云舰这样一个混合多云操作系统之上的。

我们为什么要基于混合多云操作系统?因为云舰它有几个特点,第一个是说它向下会融合一个多云的环境,它能够屏蔽下面多种云的差异,向上提供一个统一的接口,那么实现多云一体应用一致的运行,就极大的去降低了我们应用多云多活需要分别适配每朵云这样一种特性,那么这种适配工作交给云舰去做了。

第二,云舰能够向上去提供业务的所需的能力,它提供这种常见的 PaaS组件,包括数据库、中间件、微服务,同时还包括各种链路追踪监控,运维管理等等各种措施,帮助应用多活把整个组件串成一块,提供一个整体的生态能力。

云舰的用户使用跨云多活像使用一朵云一样,用户不需要去面对各种不同的云,它有相同的这种界面,同样的操作同样接口去管理,那么云舰目前已经在我们京东内部已经是使用了多年的,包括我们在双11、618、春晚里面,都是通过这种云舰进行跨云的这种跨机房这种多活以及这种管控的。

我们看一下我们这个称之为单元多活动异地多活单元的一个架构。

用户的流量从最上面来到我们GDNS里面去,我们GDNS会随机的根据它的策略,把流量分流到不同的单元里面去,那么流量再到我们的流量网关之后,流量网关会根据我们的配置或者路由规则进行计算,如果说它发现当前打过来的流量不属于本单元,那么它会把流量会转发到对应的单元里面去,进行一个单元的纠错,把正确流量然后向后转发给应用网关Phevos,Phevos同样它也会去进行一个单元的这种流量的这样一个判断。

如果他同样也发现有些逃逸流量不属于本单元,那么同样他也会进行一个流量纠错,把这种流量转发到对应单元里面去。

那么流量网关现在是一个HTTP层的纠错,那么应用网关是RPC这样的纠错,当流量到达到后面的这种微服务之后,那么微服务各个单元微服务的注册中心会形成一个双向的同步,保证我们每个微服务的配置都是一致的,那么用户的应用在微服务里面去访问本单元内部的,包括像数据库缓存消息队列这样的服务,做到整个链路在本单元这类型闭环,我们把这种数据层包括这种数据库缓存或消息,通过我们DRC进行一个双向同步。好,这是这个异地单元的一个多活架构。

那么下面管控层它会部署在一个三机房高可用的管控层里面,底下是我们的一个云舰。

这个是一个同城多活的架构。

总体架构跟单元都非常类似,它的差别就是说首先我们的流量它不是根据规则,是一个比例按比例进行划分的,因此不需要一个纠错功能。

其次它的这种主备单元里的这种业务是写主单元里面的数据库、消息和缓存,这个数据再同步到我们的备单元里面去,备单元里面的数据通常情况下不对外提供服务,或者说只提供只读的服务,这是同城多活和异地多活的一个最重要的区别。

我的这种被占面积的这种服务是写主站里面的数据。(这句话不明白,如有的话,删除掉吧)

好,为了满足我们这种同城、异地多活这种场景,同时为了满足各种云里面千差万别的设施,我们把整个应用多活抽象和提炼出一套单元化的模型,来支持业务的灵活的配置。


比如说我们有多活空间,分为这种同城多活和单元化异地多活两种空间,每个空间我们还有单元的这种模型,有路由变量的模型,有单元规则的模型,有域名的模型,每个模型里面还有具体的一些属性,通过这一整套的模型的完整定义,就能通过应用多活去适配用户的各种复杂场景,以及多云环境下的一个差异。

好,我们定义了模型之后,然后我们的这种管控端会根据我们的模型去实时监控我们的模型配置,如果说发现我们的配置发生了变化,那么这个时候它会把我们当前的最新的配置或者模型推送到我们的各个组件里面去,发送给流量网关、应用网关、微服务,或数据的这种访问代理里面去,组件根据最新的流量规则进行应用或者禁流等等。


整个组件为了去满足用户的各种环境里的复杂的场景的,我们提供可插拔能力,定制的一些标准的接口。那么在各个不同的这种环境下,我们只要按这种标准的接口去对接相应的组件就可以了。

那么当如果我们某个单元发生故障或者说我们需要做流量调整的时候,我们提供单元流量快速这种切换能力。

它可以在我们的这种工作台上通过web界面进行控制,也可以调动API进行控制。那么在切换任务的时候会自动生成一个工单,只要通过流程审批之后,把工单自动的转成切换任务,进行这种切换。

那么切换任务我们主要分成这4个阶段。

第一个就是准备阶段,第二个是禁流阶段,第三个是同步阶段,第四个是切换阶段。那么准备阶段我们会去做一些校验的措施,包括这种组件是否可用,它的健康度怎么样,包括这种用户的流量是否发生了这种迁移或者变化,进行前置性的这种判断和处理。

第二个是禁流,如果说用户的流量在这种切换过程当中,用户的流量发生了变化,那么它会有这种禁流规则,防止在切换过程当中,由于数据打到不同单元,把数据写乱这种情况,禁流不仅是上层的流量网关禁流,在流量网关、应用网关、微服务等等各个层面,它都会进行一个禁流处理。

那么第三个是一个同步阶段,那么他会去检测每个单元的数据的一个同步情况,如果说发现数据有积压,会根据我们的配置进行切换,或者说等待的这种数据同步完成之后再进行切换,这个是可以根据我们的业务场景进行配置的。

然后第四个就是切换阶段,它会根据我们的新的规则发布出去,去调整用户的流量,最后完成一个切换的过程。

好,刚才说的大致阶段,这就是一个多活发布的一个详细流程了。比如我们看最开始的前置,他会去进行一一的校验,然后对组件进行一个禁流,这样每个操作都是可以对它超时时间、等待时间、并行度等等都是可以去配置的。同时我们也提供这种默认的策略,默认策略可以去适合绝大多数的切换场景,那么对于一些特殊场景,我们可以进行各种各样的调整和配置。

如果说我们流量要发生变化怎么样?比方说我今天发现其中一朵云就发生降价了,有优惠了,我想把它流量更多的去切换到这个云上,这时候我们怎么做?这是我们现在的这种变更方案。

分流流量这种变化很简单,我们只需要在我们管控层面设置一个新的这种单元规则,比如说我们可以指定,打个比方说把单元4的流量调整成50%,那么其他的单个单元并分50%,这种单元规则配置完成之后,发布一个新的规则就可以了。

如果说我们扩容,要去扩充一个新的单元,或者一个类似于说新的机房的这个时候,我们首先要做到准备好一个新单元,在新单元里面部署好应用,然后把这个数据从其他单元里面同步到我们新单元里面去,等数据同步完成之后,我们再配置一个新的单元规则,在那单元新的单元规则发布出去,就完成了一个新的单元的接入了。

那么下线单元就比较简单的,我们只需要把要下线单元的流量切成0,然后再发布一个新的规则,就可以把这个单元比较容易的进行下线。那么无论是这种分流策略的变化,还是做这种新增单元的策略的发布,你都是可以在分钟级甚至秒级直接实现。


整个这种操作无论是这种发布还是说这种切换,其实对用户来说其实都是比较很复杂的一个操作,所以我们专门提供可视化界面,帮助用户去管理。

那么我们可以定义我们的各个空间以及单元,是可以去定义各种单元流量的划分方式,划分比例,可以去在微服务里面去定义我们单元化的路由策略,转发策略等等,可以去在数据同步里面配置保护策略。

第二是DRC里面去配置我们的数据同步的策略、链路以及查看我们数据同步的状态。这是一个怎么去发布配置,我们是通过一个这种yaml文件进行发布的,这是切换。

然后这是一个例子,我们可以看到最开始两个单元都是同时有流量的,然后某一个点由于某种故障,我们就把黄色的流量把它切走了,切到这种蓝色流量里面去,我们看到在某个时间点里面黄色流量变为0的。

那么过一段时间我们把故障处理完成之后,去把流量切回来,你就看到流量就重新的恢复到原先的这种正常情况。就通过这种监控我们可以很容易的去观察我们整个流量的一个变化措施。

好,下面我们来看一下全链路监控。

全链路监控我们称之为SGM,它支持从移动端、前端、服务端一个整体的全链路监控,并且能够把三种链路的监控做一个串联的分析,帮助用户定位问题,让用户整个链路上的各种运行情况的一目了然、非常清楚。

那么除了它能提供这种整个链路的一个监控之外,它还可以去让用户从一个开发者的角度,通过一些配置完成一些业务层面的监控。

比方说你不需要通过去做一些埋点,就能完成类似于比如说像渠道转换这样一个监控,类似一种BPM监控的功能。整个前端的监控,它对用户的监控是一个无代码无侵入的,用户不需要修改代码,只需要进行一些配置,就能够进行这种整个链路的监控了。SGM的监控也是在我们京东内部大规模使用。

SGM监控在应用多活方面,我们可以提供进行监控的流量的指标,比如说TPS耗时,接口成功率等等,同时它还可以进行一些调用链的分析,分析每一笔这种调用的耗时状态等等,还可以进行一些这种调用链的拓扑图的划分,提供不同时期的这样图表的对比能力,帮助我们去发现某一个点的一些异常的原因,并且还可以自从这种告警日志和告警的能力。

4.多云多活的产业实践

下面讲一下我们多云多活的产业案例的一个分享。

第一个是达达集团的一个分享。

好,我们第一个案例是达集团的一个跨云多活的一个案例,达达以前是把业务分布在某个公有云和他自己的IDC机房里面的,达达跟到家合并之后,它需要跟到家的业务做一个上下端打通。同时以前由于达达使用这种单云的时候,大概是在2017年到2018年的时候,网络发生过好几次故障,给到他的业务造成一些困惑,所以达达到后来决定采用这种跨云多活的这种方式。

首先达达把他原先在机房里面自建的一些PaaS迁到我们京东云上,改用京东云的PaaS组件,同时完成一些云原生的改造。

第二个它把微服务的注册中心迁移到云上,去实现了一个跨云的多云的部署,它的业务可以去在多云里面去就近的部署和调度。

第三步是进一步去实现数据的一个双向的同步,进行业务的拆分,完成它的单元化的改造。

最后,它完成了流量的调度策略和分发特性的升级,完成流量调度方案的优化和各种措施。

那么在他完成这种跨云双活的改造,到当年它的双11就成功的支撑了每日1,000万订单这样一个处理。

同时在这个过程当中达达的业务和到家以及这物流进行了一个无缝的整合和打通,整个链路都非常顺畅,同时在到从它原先的这种架构到跨云多活架构的这种整个过程当中,它还实现了传统的架构到云原生架构的一个升级,实现了技术的升级换代。

同时在云上它还能够更好的去执行资源层面的一个弹性伸缩的管理。达达在2020年的时候就实现了,除了大数据之外就实现成本节约这种上千万元。

达达集团的部门负责人也说,通过这种跨云双活的能力,他把这种算力和资源都迁移到了云上,在整个计算资源层的弹性方面,成本压缩以及业务稳定性方面都得到了提升。同时在过程当中也实现了技术架构的梳理与升级,并且实现全链路业务的打通,取得非常好的收益。这是达达的一个案例。

下面我们再看一下这种爱回收的一个多云建设。

爱回收它原来是在一朵单云上,那么后来他由于种种原因,他决定需要去建立一个跨云多活的这种方式。

那么爱回收的这种跨云多活,它分为几个批次来进行的,第一首先说它把应用进行了一个分类,它把应用分为普通的这种应用,以及需要高频次去调动的基础应用,把应用梳理完进行分类之后,再根据各个应用的这种调用关系和依赖关系进行一个批次的划分,按批次进行迁移。

那么在每个批次进行迁移的时候,它首先进行这种数据库的改造,把数据库完成一个跨云的部署,然后两边的数据做一个单向的同步。那么完成了数据库的部署之后,还得把它的应用做一个双云的跨云的部署。首先让数据写原先的主集群,那么然后备集群就是只读。那么完成了这种基础应用的双活之后,还再进一步的做应用的跨云的多活。通过这种分批制的跨云和迁移的这种实现方式,爱回收很好的完成了这种同城多活场景下的一个双活的场景。

那么通过这种同城双活,它很好的实现了它的业务的一个弹性,同时它整体成本跟原先相比整体下降了20%。

同时在这种过程当中,他也完成了这种对于整个它的业务的一个梳理,实现了业务的架构解耦。它原来的一些可能就要去循环调动的一些这种方式改成了单次调用,整个业务更加轻便和灵活。

通过应用多活进行同城双活的案例。我们可以看到无论是达达还是爱回收,通过实施多云多活,取得业务连续性的提升和一个成本的整体下降。多云多活,之所以被称为技术皇冠上的明珠,除了是说它具有巨大的价值,能够极大的去提高用户的业务连续性之外,还因为它具有巨大的实现难度。我们京东根据多年内部实践和打磨的这种技术,把它整理抽象出来,进行了一个产品化,像我们应用多活产品能够帮助用户在较短的时间之内去搭建一个跨多云多活的系统,帮助用户在业绩连续性方面得到有效的提升,谢谢大家。

相关推荐

GPT-6凌晨上线智能UI:智能UI时代的技术架构重构与应对之道

从命令行到图形界面,计算机行业用了三十年证明了同一件事:人类需要视觉的、空间的、可重复的交互表面,纯文字从来只是过渡形态。智能界面的出现,意味着AI行业第一次大规模承认了这个规律——对话是创造的接口,界面是使用的归宿。生成的界面如何稳定下来?个人的数据与身份如何安全地沉淀?Agent的行动能力如何可信地放大?谁能把这三个问题答好,谁就站在了Personal Agent图形界面时刻的浪潮之巅。

京东科技开发者 211

AI 会写代码之后,交付为什么还没变快?

AI 写代码,只是这场变革的起点,而不是终点。真正决定一个组织能否吃到 AI 红利的,不是"能不能用 AI 写出代码",而是敢不敢用 AI 重新设计交付流程、重新划分角色分工、重新组织团队结构。研发视角能把工具和个人推到极致,却会在组织的边界前止步;只有站上组织视角,把AI × 工具一路推进到AI × 组织,那些被 AI 照出来的摩擦,才会真正被抹平。国际技术部 Multi AI Native 想做的,正是这件事——让 Agent 成为你可靠的数字战友,让每一次迭代交付都快一个量级;

京东科技开发者 306

OxygenData-Vibe搭建:用 AI Coding重新定义数据看板搭建

长期以来,数据看板开发主要有两种方式:一种是使用标准化 BI 工具,交付快、成本低,但图表样式、交互体验和功能扩展都受限于 BI 本身的能力;另一种是自研定制开发,能够充分满足复杂和个性化需求,但需要投入大量研发资源,交付周期也更长。比如一个通过 BI 只需要 1 天就能搭建出来的看板,如果采用自研方式,可能需要投入 30 PD 的研发人力。既然 BI 交付这么快,为什么不把所有看板需求都交给 BI?原因在于,业务某些场景需要的不只是把数据展示出来。

京东科技开发者 366

当我谈数据库高可用时我谈些什么

大家都经常听到说数据库的双1,那双1指的是什么呢?参数=1(最安全)≠1(更快但可能丢)每次提交都把 redo 刷盘0/2:攒着刷,崩溃丢最近 1 秒每次提交都把 binlog 刷盘0/N:攒着刷,崩溃丢最近若干条"双 1"(都设为 1)= 单机不丢已提交事务的前提。生产核心库必须双 1;代价是每次提交两次 fsync。小结:单机层用 WAL 提速、用 2PC 保证 redo/binlog 一致、用崩溃恢复裁决半成品事务、用双 1 兜底持久性。

京东科技开发者 311

ScoAI:面向供应链的运筹原生决策智能

ScoAI 关注的并非 AI 能否进入供应链,而是 AI 参与供应链决策之后,哪些内容适合通过数据学习,哪些关系必须显式计算,以及哪些结果需要依据执行记录进行验证。其基本分工是:供应链业务定义问题、资源与行动后果,运筹学表达目标、约束和协同关系,AI 提供可复用的估计与判断。真正用于改进后续决策的,不仅是模型生成的初始结果,还包括实际采取的行动及其产生的业务反馈。

京东科技开发者 401

拆解海博 AI-Native 落地保障:海博团队 AI 知识库能力建设

绕了一大圈,回头看,我们其实一直在解开头那三个结:AI 读不懂系统、影响面靠人脑记、测试预期没处查。做到这里,本质上是把"AI 用不好"这个问题,从"是不是该换个更强的模型"重新定义成了"怎么把上下文经营好"。顺着这个思路,我们攒下了这么几样东西:•。

京东科技开发者 554

从零构建一个生产级记忆型 AI Agent —— AgentScope 项目全景技术与学习指南

domain 层端口接口(domain)职责适配器实现(infra)对话流水账读写经验记忆检索/落库请求级幂等四态会话元数据 CRUD会话级 Skill 选择态Skill 元数据HITL 权限网关(domain 内含逻辑,见第四篇)StreamSink技术中立的流式下沉(client 层桥接)以幂等端口为例,头部注释明确写道:实现 domain 端口,持有实体不出 infra 边界,对外只暴露嵌套视图GateResult。

京东科技开发者 610

数据涅槃:Agentic 重塑搜推数据生产体系

当前大模型已经能够理解需求、生成代码和解释错误,但数据生产的难点并不只是“写出一段 SQL”。一个需求还要经过数据源确认、口径澄清、加工编排、资源规划、任务提交、调度运行、结果交付和故障处置。任何一步缺少都可能让“看起来正确”的任务变成生产事故。

京东科技开发者 373

81.8 秒的视频,我们改了 15 个版本:一次纯 Codex 驱动的 AI-native 视频实践

81.8 秒、15 个版本,这些数字真正想说明什么?视频制作正在从一组专业软件里的复杂操作,变成一场围绕目标、参考和反馈展开的持续对话。AI 已经可以接住从脚本到交付的大量工作。你可以把精力留给更重要的部分:理解观众、选择故事、判断好坏。过去停在 PPT 和脑海里的想法,现在有机会被快速做成一支能看、能改、也愿意转发的视频。如果明天就要介绍你手头的项目,你最想先把哪一步交给 AI?

京东科技开发者 463

Codex 驱动的移动端AI全栈开发:从 Relay 原型图到可交付链路

AI 编程工具降低了跨端开发门槛,但“让 AI 写页面”并不等于“完成移动端交付”。PC 运营端页面通常以功能闭环为中心,设计约束较弱,研发可以基于组件库快速搭建;移动端 C 端页面直接面对用户,Relay 原型图和 UI 设计稿不仅是视觉参考,更是交互、信息层级、状态反馈和业务信任感的综合契约。

京东科技开发者 589

Claude Code vs Codex 记忆体系深度对比

Claude Code —— 分层自动记忆系统四层分层架构(CLAUDE.md / Auto Memory / Session Memory / AutoDream)构成自优化闭环,系统主动捕获、分类、去冗并跨会话接力经验。走的是自动化优先路线——让机器替人记忆、替人整理,以少量可控性的不确定换取强大的经验积累能力。Codex —— 声明式契约系统两层扁平架构(AGENTS.md 静态声明层 + 会话上下文层),记忆完全由人显式订立、显式修改,系统只读契约、绝不擅自变更。走的是可控性优先。

京东科技开发者 623

上游给空、下游拿到 -1,我把故障一直追到了 commons-beanutils 的构造函数

这篇手记是一份事后复盘,写在我们已经把修复推上线、把测试用例跑绿、把约束文档沉淀进团队库之后。非研发同事,可以直接从第八章开始看,前七章都是讲排障和代码分析。故障本身不复杂,修复也不复杂,但这次排查真正让我想写下来的,不是技术本身——而是从问题提报到解决全程AI的作用:问题定位:业务方反馈了一个异常单号说「下发失败」,一线运维同事直接在日志系统捞到相关的系统日志,用IDE打开下游代码库,把异常信息给到JoyCode——AI 直接指向了问题是serialType值非法,系统只接受0和1,而当前上游给的是-1。

京东科技开发者 718

SKill测评:谁才是真正的Skill之王?

巧合的是,阿里近期开源了一款名为 Skill-Up 的测评工具——它专门面向 Agent Skill 开发者,支持在 Claude Code、Codex、Qoder CLI 等真实 Agent Engine 环境中验证 Skill 的功能正确性,并可将失败用例转化为精准的修复指引,同时支持本地与 CI 环境的持续回归。2026年,Skill 的热度不减,已成为 AI 辅助编程领域的标配。在日常研发中,无论是沉淀个人经验,还是将团队的优秀范本标准化,将知识“蒸馏”为 Skill 已是大家的常规操作。

京东科技开发者 635

让AI真正参与工作!JoyDesk已上线京东云

JoyDesk提供覆盖AI资产管理、权限控制、安全策略、审批审计、运营监控等企业级治理能力,支持按组织、角色和项目进行精细化权限管理,并支持私有化部署,确保企业数据边界清晰、AI行为全程可追溯、安全策略灵活可配置,满足金融、政企等行业对数据安全和合规治理的要求,让AI真正成为企业可信赖的生产力。JoyDesk支持MCP协议、标准API、技能等多种开放接入方式,可快速连接企业现有业务系统,将业务能力封装为AI可调用的技能和专家,让AI能够理解业务流程、调用业务系统、完成业务任务,而无需改变企业原有IT架构。

京东科技开发者 668

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手【最终版】

这个项目展示了AI Agent 在垂直内容创作领域端到端自动化:从内容理解到播客输出,全流程 AI 驱动多模态融合:文字、图片、音频、视频统一处理专业级音频质量:音色设计 + 智能混音,输出广播级品质低门槛使用:可视化配置 + 自然语言交互,无需技术背景。

京东科技开发者 560

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(高级篇)

这是一个 AI 驱动的播客创作助手,专注于从文字/视频/音频内容识别到播客制作的全流程。你可以用自然语言与它对话,也可以上传视频和音频,它会理解意图、调用相应的语音合成工具,把他们变成真实的播客音频。

京东科技开发者 727

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(进阶篇)

这是一个AI 驱动的音频内容创作助手。你可以用自然语言与它对话,它会理解意图、调用相应的语音合成工具,把文字变成真实的播客音频,并保存在本地。关于项目的详细介绍见第一篇文章:第一个 AI Agent 项目:从零搭建 AI 音频创作助手(入门篇)这篇文章更多介绍进阶篇添加的功能。

京东科技开发者 550

【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手(入门篇)

这个项目让我第一次把前端、后端、AI Agent 三块内容独立串联起来。技术选型上每一块都是当下主流的方案,实际跑通整条链路之后对"全栈"有了更具体的感受。框架版本要锁定:LangChain 这类快速迭代的框架,版本差异带来的问题远比你想象的多先跑通链路,再追求完美:新手阶段能把用户输入 → AI 处理 → 结果展示这条链跑通,比深入某个技术点更有价值多看官方文档:相比博客和教程,官方文档更新及时,特别是 LangGraph 这种新框架后续计划继续迭代,欢迎交流!

京东科技开发者 609

ICLR 2026 | 面向序列决策的贝叶斯集成方法

在这篇工作中,我们关注的是。

京东科技开发者 296

ICML 2026|NaviAgent:面向 Oxygen 智能体的可扩展工具编排

大型语言模型(LLM)越来越多地作为函数调用代理,调用外部工具来处理超出其静态知识范围的任务。然而,它们通常一次只调用一个工具,缺乏对任务结构的全局视图。由于工具之间往往相互依赖,这会导致错误累积和可扩展性差,尤其是在扩展到数百或数千个工具时。为了解决这些局限性,我们提出了NaviAgent,一种显式的双层架构,它通过基于图的工具关系建模将任务规划与工具执行解耦。在规划层,基于 LLM 的代理决定是直接响应、澄清意图,还是检索并执行一个独立于工具间复杂性的工具链。

京东科技开发者 388

实测 9 款 AI 架构图工具:从 Mermaid 美化到 GPT-Image2,一份选型清单

支持 5 类图(架构图、工作流图、时序图、数据流图、生命周期/状态机图),主题 4 种(Classic、Signal Flow、Blueprint、Editorial)+ 3 种色彩模式(Dark / Light / System Auto),输出格式含 HTML、PNG、SVG、WebM、Share Card PNG、JSON IR。它把提示词图库、图像生成案例、参考图编辑流程和命令行工具整合在一起,让 AI Agent 能直接调用 GPT Image 2 模型完成文生图、图生图、参考图编辑等任务。

京东科技开发者 904

别再守着 Claude Code 了——学会指挥它自主干活

回到开头那句:别再一句一句地喂它、然后守着屏幕。真正的用法是——把一件事想清楚、划好边界、给它一个能自我验证的目标,然后交出去。你会发现,省下来的时间不是一点半点。把重复的判断和执行还给机器,把真正需要你的判断留给自己。

京东科技开发者 586

CVPR 2026|Oxygen XR 团队在原生鱼眼高斯泼溅技术上带来新突破

京东零售技术团队联合清华大学提出DirectFisheye-GS框架,创新性地将鱼眼相机模型原生嵌入3D高斯泼溅管线,通过跨视角联合优化策略直接处理鱼眼图像,避免了传统去畸变预处理导致的信息损失。该方案在多个公开数据集上达到SOTA性能,有效解决了单视角优化引起的几何畸变和视角不一致问题,同时保持与现有3DGS工具链的兼容性。技术已应用于电商3D重建和4D体积视频等场景,显著提升了沉浸式体验。相关论文被CVPR 2026接收,为宽视场场景重建提供了高效解决方案。

京东科技开发者 355

拆解海博 AI-Native 落地保障:Harness、双 Loop、知识库与技能自主迭代实践

海博研发RoadMap 的落地,彻底终结了 AI 编程“对话式玄学”的旧模式,真正落地了AI Native 研发工程化。它证明 AI 规模化赋能研发的核心,不在于堆砌大模型能力,而在于用工程思维重构 AI 的工作范式:用结构化流程替代随机对话,用固化规则约束模型行为,用持续沉淀实现能力复利,用分层架构支撑规模化落地。

京东科技开发者 638

让 AI 快速「读懂」你的代码仓:Joy-Code-Graph 云端图谱服务的三次进化

代码知识图谱不是要取代 AI 的智能,而是要补齐它对代码全局关系的认知盲区。当 AI 能一眼看清「谁调用了谁、改动会波及哪里」,它写出的代码才真正靠谱;当这份认知安全地留在自己手里、随时被 Joygen 调用、并且永久沉淀在代码仓里——AI 编程的体验,才算真正上了一个台阶。这,就是我们做 Joy-Code-Graph 云端服务的初衷。能力共享,数据自主;一次建图,长期受用。

京东科技开发者 751

【Coding生态】从代码托管到 AI 能力底座:与Coding一起共建 AI 研发生态

前两种框架能够很好地支撑对话式能力和预设流程式能力。它们适合基于提示词或预设工作流完成研发问答、知识查询、流程编排等任务。但在更复杂的研发场景中,仅仅“回答问题”还不够。当用户业务逻辑复杂时,一旦场景进入真实落地阶段,例如下载代码、修改文件、执行命令、安装依赖、运行测试、读取完整代码文件,或者与自有系统联动、将结果渲染到 Coding 页面、推送到京 ME,AI 应用需要的不只是知识能力,还需要真实的代码库操作能力和独立可执行环境。

京东科技开发者 768

GPT-5.6、ChatGPT Work 与 Codex 更新食用指南

三档模型当前都提供 1,050,000 tokens 上下文、922,000 tokens 最大输入和 128,000 tokens 最大输出,接受文本与图像输入、输出文本,并支持 web search、file search、Computer Use、MCP、Tool Search、Skills、Apply Patch 等工具。Work 可以读取你提供的文件,通过插件连接 Slack、Google Drive、SharePoint、邮箱、日历、CRM 或项目系统,调用获批工具,并在执行中展示进度。

京东科技开发者 868

把业务流程沉淀成高质量 Skill 的实践路径

使用Record & Replay创建的Skill,尽管创建流程简单,但它的本质实际是让 AI 去操作页面,这不但有可能影响我们对电脑的操作,还有可能无法稳定复现。创建Skill时,可以使用 Codex 的 Record & Replay 插件,把一次手工操作录下来,再让 AI 生成可复用流程。刚开始切换时,很容易遇到接口报错,可以让Codex排查原因进行优化,直到可以稳定执行;补充相应业务背景,说明这件事为什么要做,谁会用,输入从哪来,输出给谁看。电脑休眠、关机、软件没开时,本地任务可能无法执行。

京东科技开发者 835

政企前台AI-Agent的架构实践:打造可复用的 AI 服务平台-【灯塔计划】

不止是爆火的龙虾,还是各种Skills,MCP、Agent,脱离的具体的场景谈方案,最后只会是一场空。这一套可复用的 AI 服务平台,截止目前,通过前后端对接规范文档,多项能力已快速接入到各个场域的不同端平台,大幅降低研发成本, 并且各业务线新场景的接入从原来的 “开发驱动” 转为 “配置驱动”,接入周期从天维度缩短至小时级。

京东科技开发者 864

京东 Oxygen xLLM 大模型推理引擎正式捐赠开放原子开源基金会,共建国产 AI Infra 生态

下一阶段 AI 基础设施的核心命题,不是简单的算力堆叠,而是让工程本身变得智能——让调度系统能自主感知负载特征并动态优化,让推理引擎能根据模型结构和硬件特性自动生成最优执行方案,让整个 AI 工程链路具备自感知、自决策、自优化的能力。未来,Oxygen xLLM 的项目官网、社区沟通渠道及微信社区将陆续向开发者开放,诚邀芯片厂商、模型厂商、云厂商、企业用户及个人开发者共同参与,让国产大模型推理引擎在开放生态中加速成长。硬件层,原生支持 GPU / NPU / MLU 多类 AI 芯片,深度适配国产芯片。

京东科技开发者 1005
上一篇: 作为移动开发你不能不了解的编译流程
下一篇: 深入了解 JavaScript 内存泄漏
京东云开发者
京东云开发者 企业官方账号 企业官方账号
博客等级 码龄8年 1万+粉丝 2140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值