“大促”背后的技术 | 当咱们说促销的时候,咱们在谈什么

 

 

 

活动概要算法

在零售创新的趋势影响下,恰逢一年一度618来临之际,在高频、高额、高密度的交易场景下,如何能为用户提供稳定而流畅的购物流程?如何作到经过技术创新打造品牌和合做商的基础设施服务商呢?数据库

 

在刚刚结束的京东云技术沙龙上海站活动中,多位京东的技术大咖与开发者面对面就零售业以及社交电商方面的核心技术以及成功解决方案进行了深刻探讨。后端

沙龙现场座无虚席安全

 

现场百余位开发者热情参与了交流与互动,尤为对“大促”下的数据库服务、企业级监控的设计与实践、社交电商的方方面面以及区块链的智能化溯源等诸多技术领域十分关注。服务器

咱们将沙龙中的部份内容整理、总结后放到了本文中,但愿也能给相关的从业者们提供参考。(公众号回复“PPT0526”可获取沙龙视频&PPT)微信

 

 

京东数据库服务如何应对“大促活动”?网络

京东云产品研发部高级总监 郭理靖架构

 

众所周知,京东商城业务繁多,不少业务在研发设计初期并不想选用太多种类的数据库,由于并不知道着手的业务规模大小,因此开始选择只使用MySQL是最简单的,基于研发的速度考虑有时候还选择写入日志和大字段数据。随着数据积累量增多,用户规模扩大,将来会涉及数据切换的问题。所以,对于这些“后来居上”的业务,仍是要进行一些数据架构优化的工做。框架

京东云数据库“上马”了一些弹性数据库服务,能够作到在一台物理服务器上同时配置多个数据库,将单机利用率提高到比较高的水平;同时配置的灵活调度系统,可以在两个数据库之间完成对压力不大的数据库数据迁移,能帮助客户有效地进行成本控制。另外,在使用MySQL的基础上,性能不可避免地受限于机器,京东商城内部还使用Jproxy这类分布式数据库服务。郭理靖表示,在京东商城的实践中,针对线上系统选择构建两个机房,分别是生产环境以及在灾备环境。运维

 

 

关于智能分析,京东云在助力电商的过程当中,一方面着手SQL日志分析以及容量分析,例如链接数是否是一直在增加、IO压力、CP压力等;同时也尝试作一些故障自愈以及磁盘清理等。

在“京东云的服务实践”方面,在云端提供丰富的数据库服务,例如MySQL、Percona、MariaDB、SQL Server、MongoDB等。从京东云的统计角度来看,国内开发者使用MySQL能够高达95%,另外5%会使用Percona或者MarinDB。

 

 

从海外的调研数据来看,海外数据库用户大约80%以上用户都在用MySQL,而20%如下的用户会选择用MariaDB和Percona,之因此这有么大的差距,缘由可能在官方在国内外的宣传力度上明显的区别的缘由。另外京东云还在安全、审计、日志等诸多方面提供了丰富的功能,另外还提供了Binlog备份和下载。

 

 

在监控引擎方面,京东云的尝试也是比较细致的,其中包括监控服务、报警服务等。值得说起的是,其中全部监控项均可以设置规则,好比CPU内存超过70%,就能够设置一个短信报警,而其中全部的指标都是对接到云监控系统。“咱们也支持只读实例建立,须要只读最大支持建立8个只读实例,每一个只读实例都分配一个独立域名,均可以用域名进行访问。”他补充道。

 

 

谈及数据运维,如何作到故障自动切换?京东云为此设计了比较完善的自动化系统。起初都是手动切换,选择这样的切换方式主要是担忧误切的状况发生,毕竟不少服务经过域名连接数据库,而域名的切换会形成一些延时,时间太长又是服务不可接受的。如今数据库的故障都已经进化到自动切换了。

 

 

数据安全性方面,采用了云硬盘加密的功能,对于用户担忧的数据库信息“被偷窥”的问题,只要启动了数据加密的功能,使用云端RDS就能够充分放心享受其安全保障的服务。对于哪些IP能够访问特定的数据库这个事儿,灵活设置白名单便可。

重点强调的一点,在京东云数据库服务中还涉及到DRDS,所谓DRDS是分布式关系型数据库,追溯本源是将京东商城上的Jproxy技术移植到京东云上,主要做用仍是在数据量特别大的状况下,单机没法支撑的前提下完成分库分表,操控起来比较便捷。

DRDS服务主要解决了如下几个困难:

一、随着数据量和访问量的增加,单机数据库会遇到很大的挑战,依赖硬件升级并不能彻底解决问题,也就是单机数据库容量瓶颈亟需被重视;

二、传统数据库容量扩展每每意味着服务中断,很难作到业务无感知或者少感知等,被认为是扩展窘境;

三、更重要的一点,传统数据库使用成本较高,当业务数据访问量增长到必定程度时,传统数据库须要依赖特定的高端存储和小型机设备,对于用户而言,成本较高。但DRDS的使用,刚好就是能够有效地帮客户进行成本控制。

 

 

具体来讲,DRDS服务提供中间件,例如针对用户表,能够将用户表中的ID进行拆分。当须要查询用户时,并不须要修改SQL语句,DRDS会去解析语句,发现访问的用户数据表,用户ID等信息,其实DRDS起到的做用就是解析SQL语句、分发SQL语句以及汇总SQL语句给用户端,方便用户能够更多聚焦本身的业务逻辑开发等,同时有效提升整个性能。

同时,DRDS能够作到多台部署,但值得注意的一点,整个DRDS系统性能受限于后端实例数量。简单来讲后端的实例量越多,DRDS的性能越好。经过实测,DRDS中间件给SQL带来的延迟是很是低的,DRDS对SQL语句的解析速度进行了专门的优化 ,所以因中间件带来的延迟基本也均可以忽略不计了。

DRDS自己不存储数据,数据存放在后端的RDS MySQL 数据库上。为保障系统稳定性,每一个分库所在的MySQL版本必须一致。DRDS会在每一个RDS实例上建立8个分库,另外还会单首创建0号分库,用于存放非拆分数据。

系统的最大处理能力取决于分库的数量,所以在须要建立以后就应该规划好整个系统的容量以及能力,比较好的作法是根据初步的规划,前期使用小规格的MySQL实例,但足够多的分库数,这样就能够预留出足够的扩容能力。

在技术分享中,郭理靖还系统介绍了扩容的方方面面,例如两核4G的DRDS,性能相对较小,若是将后端RDS升级到更高配置,就被称为是垂直扩容,操做起来十分容易。不管是水平扩容仍是垂直扩容,尽管具体的操做方法不一样,但过程平滑且随时随地都是共通的。

 

   

尽管DRDS 与传统的单机数据库相比,在扩展性上有了巨大的提高,但同时也带来了一些限制,例如可保证同一个分库中的事务一致性,但不支持分布式事务;只支持单个分库内的join操做,不支持跨库的join;只支持UTF8字符集,所以并非任何基于MySQL的应用均可以无疑迁移到DRDS上,还须要进行一些改造。

 

 

企业级监控系统设计与实践

  京东云产品研发部总监 郑永宽

 

做为本场沙龙的第二位分享嘉宾,京东云产品研发部总监郑永宽为开发者们现场带来了主题为“企业级监控系统设计与实践”的技术演讲。

 

监控是什么?监控是运维生命线。

监控解决什么问题?远远不止发现问题!

监控还须要解决发现问题之后的定位,和定位后的止损,从而下降故障MTTR,即故障平均恢复时间。像京东这样的大致量电商,若是发生不明缘由的宕机所致使的损失是十分惨重的。为了高效解决下降故障恢复时间的问题,在故障发生以前提早作好相应故障的恢复预案;在故障发生以后明确故障类型而且准肯定位故障,是很是有效的手段。

为了解决快速响应的问题,监控系统一般须要具有丰富的数据采集手段、多维度数据实时聚合计算、准确的异常检测、及时的告警通知、可定制的dashbord、根因定位与辅助决策推荐,以及预案平台等功能,经过以上功能实现快速止损、业务高可用/可扩展等目标。

根据以上功能定位,京东云会针对每一个系统不一样的业务特征,提供故障恢复预案推荐,用以来保证系统的高效运转;对于监控系统来讲,不管是发现问题、定位问题仍是解决问题,了解其中循环迭代的系统状态十分重要,京东云的监控平台根据丰富的监控手段可提供可靠有效的系统运维状况反馈,同时基于监控数据和业务分析进行多样化的预案推荐,帮助业务快速恢复。

 

 

具体来讲,咱们首先定义了一套统一的监控标准:即监控须要覆盖基础-存活-性能-业务四个层面,从而保证了采集数据的全面,进而避免监控遗漏。即基础监控涵盖了机器的基本指标,好比cpu、内存、硬盘等;存活监控则聚焦机器和服务进程的存活性;性能监控关注服务对外表现的性能指标,好比PV、平响、错误码等;业务监控则是从用户角度,监控系统是否提供正常服务。进一步,根据不一样的报警,咱们能够定位到相应的问题,再辅以对应的预案平台,从而确保了故障第一时间定位与恢复。

 

 

监控系统须要保证数据采集手段丰富化、计算聚合多样化、存储高效化以及数据展现有效化等几个方面。其中数据的存储以及数据可视化展现等是监控系统最基础的需求,无论多庞大的运维系统都是如此。

京东云采用多种采集方式,包括Agent采集,API推送,外部探测点。经过遍及全国的探测点,能够模拟发起各类协议的访问,同时提供API推送接口,支持用户本身发送数据过来,能够进一步展现用户须要的数据。另外咱们自研的tsdb时序数据存储,采用基于Cassandra+自研cache+esmeta的方案,咱们将最近3h的数据存入自研cache,增长了查询的时效性和可靠性。其中自研cache基于的Facebook论文gorilla实现,追求极致的压缩比。经过这些手段,存储的空间能够下降到1/10,同时保证了查询性能。

另外京东云的监控CMDB表现出色。首先CMDB能够将资源和业务同时管理起来,这是监控CMDB解决的第一个问题;另外一方面,大规模集群中的某台机器发生问题后,经过JNS名字服务能够迅速定位受影响的业务,并基于CMDB提供业务/应用/集群的监控配置推荐,这是监控CMDB重点突出的地方。

 

    

谈及如何定位问题,郑永宽总结道,首先监控可视化是关键一环,多维度的聚合计算使数据更有意义,这是基于京东云多年的运维经验总结获得的。京东云的监控体系能够定位多种故障缘由,例如某一业务是否有变动,是否配有相应的报警,网络等资源是否异常,是哪一个业务出现的问题等……经过以上方面的监控,咱们能够知道某一业务的故障恢复操做的执行状况,此方式对故障快速定位以及查找故障来源很是有效。基于以上确认故障缘由的能力,京东云快速迭代升级开发了变动可视化产品,对可能致使故障发生的全部问题来源进行事件监控,从上线操做、配置变动的单任务监控到平台全局事件的监控,进一步助力京东云监控体系定位问题能力的提高。

 

 

问题定位后,为使用户接收到有意义的报警进而快速回复问题,咱们对异常问题进行分析合并,京东云支持各类策略的合并,可按照固定接收人报警、不一样业务范围报警、固定时间报警等策略进行报警,减小告警风暴,另外对于通知下游的对接,咱们实现了邮件、短信、微信、电话等多种方式报警。

将来京东云还会着手配置化管理功能的优化,更好支持事件自动恢复。“结合监控CMDB和报警设置,咱们能够真正把故障和报警联动起来,对于相关的报警事件,监控系统能够自动调取对应的预案,从而达到系统的故障自愈的目标。”

 

 

社交电商SaaS产品技术架构

京东云应用研发部社交电商负责人 赵金勇

 

从整个电商发展来看能够被总结为”四化“,分别是去中心化、场景化、碎片化以及个性化。咱们发现流量成本愈来愈高,“带领着”获客成本、品牌商运营成本也一路居高不下,这恐怕就是品牌商本身不作运营选择其余途径的缘由,正所谓“品牌形象宣传去中心化” 就是这个道理。

 

 

所谓社交电商,必然与”社交”关系密切,进而社交工具天然必不可少。除了凭借五花八门的推送工具,京东云社交电商还凭借京东与生俱来的海量商品以及优点供应链屡获成绩。基于京东大数据营销的能力,海量用户的精准画像以及商品推销、智能选品等这些稳定可靠的基础服务来打造系统。

 

 

京东社交电商支持三级分佣自动结算、灵活设计类目返佣点数、自定义会员晋升规则、自动统计团队销售业绩以及丰富的营销推广玩法等。

技术架构方面,京东云商微服务架构是数据库、硬盘以及统一运维。其中公共平台、开放平台、装修服务还有市场、数据搬运、流量统计等系统都是基于微服务架构,业务层提供统一的、原子化的API接口, 上层业务在这些接口之上构建而成。”

 

 

京东社交电商分三端,分别是买家端、供应商端和PC端。社交电商的系统已接入到京东庞大的商品池,你们能够在总体的商品池中挑选本身的产品,共同的良性生态就此构建。

 

 

此外,咱们还提供基于京东大数据打造的鹊桥插件,鹊桥链接人和货,完成精准营销。从交易完成以后,全部交易数据和货源数据以及货源行为数据汇总到一块儿,京东大数据平台就对全部的数据进行分析,完成实时监控,在此基础上基于数据驱动彰显出广告优化、客群聚类、千人千面、自动化营销。

“总体的系统是基于京东云技术来构建,京东云做为京东对外赋能的窗口,提供一些可信赖的基础服务,包括技术服务以及系统支持,这部分主要涉及电商云”。

 

 

举个例子来讲,北京网库信息技术股份有限公司是国内基于单品供应链的B2B电子商务服务公司,以打造中小微企业的全产业正品采购平台为使命,关注企业优点单品的在线供应链应用,服务包括在线采购、在线批发分销、在线定制等。

自成立以来,公司服务平台积累中小企业用户数据1800多万,旗下B2B平台注册中小企业会员近200万家,为全国超过30万家中小企业提供基础B2B电子商务应用服务,并与其中2400多家具备单品优点的实体企业共同构建了单品电子商务交易平台,在此过程当中与京东社交电商开展了密切合做。

 

 

基于企业级区块链框架系统JD Chain的技术实践

京东数科区块链产品创新负责人 张做义

 

京东区块链品牌名叫京东智臻链,京东区块链的架构体系分为JD Chain和JD BaaS(Blockchain as a Service)两部分,JD Chain做为核心引擎,在数据帐本、共识协议、密码算法、存储等方面引入新的研究成果和工程架构,解决处理性能、伸缩性、扩展性、安全性等基础和关键的技术问题,创建创新性的技术架构和应用方案。JD BaaS是服务平台,提供灵活易用和可伸缩的区块链系统管理能力,无缝融合包括JD Chain、Fabric在内多种区块链系统的部署管理,向企业级用户提供公有云、私有云及混合云环境快速部署能力,下降企业使用成本,加快应用落地。 

谈及服务层,你们比较关注身份、权限、资源调度管理、证书管理还有版本控制、日志记录等。“在今年发布的《2019京东区块链技术实践白皮书》中,5大类、14个应用案例的信息都在列。”

若是是BaaS能够被认为是汽车发动机的“底盘”,有了底盘就能够围绕底盘配置其余零部件,JD Chain就是里面的“发动机”,适用于不一样的场景的区块链应用场景。BaaS帮助企业或者开发者搭上区块链的“顺风车”,并且京东也整合了不少在BaaS平台基础上的应用服务。

“JD Baas、JD Chain是京东区块链的两大技术架构体系。基于区块链去匹配各类各样的应用场景,主题就是怎么用区块链去创造真实的价值,也能够被称为是可持续价值。”

 

 

京东 JD BaaS平台比较重要的特点,就是身份认证服务,这也是区块链和联盟链不一样的地方。联盟链是一个许可链,京东方面身份认证服务,例如身份注册、企业证照审核等一系列内容审核加入区块链,以保障联盟链各主体的合规性、关联性、安全性。

在这个过程当中,不管是企业仍是我的的身份认证信息都会存储到区块链中,在区块链节点之间作一个协同,包括对外展现都是基于身份认证发生一系列关系,这较之无认证的关系发生将有很大的区别,也是将来比较看好的方向。

 

 

京东自主知识产权区块链底层框架JD Chain于2019年3月正式宣布开源,在“万级交易处理、秒级交易确认、海量帐户和交易、动态伸缩、帐户存储、多核并行、密码算法”等方面符合经典区块链对存储、对计算的定义和要求,同时还把Key Value结构用现有recycle极大处理效率,这也是能够支持更高速度的缘由。

 

 

零售、物流与数字科技等领域,是京东区块链主要服务的方向。例如参与广州互联网法院“网通法链”建设、区块链增值税专用发票试点、与宿迁的电子证照打通试点等,实际赋能数字存证、电子发票、电子证照等方面的诸多实际应用。 

举个例子来讲,区块链的数字存证。咱们参与了北京互联网法院和广州互联网法院的区块链项目,须要把使用司法服务的内容搭载一条司法联盟链,主要能够实现什么做用呢?打比方说签署一个合同,去公证处公证是必要流程之一,若是有了这个联盟链,全部的操做均可以在司法‘朋友圈’实现。司法联盟链可被理解为是数字签名的技术,以此判断合同签署的合法性,同时签完的合同会及时备份到这条联盟链中,这样,法院、公证处以及司法鉴定部门,包括合同双方的签署人都可以及时获知该信息。

 

 

此外,京东区块链在防伪追溯方面作得最多,京东区块链防伪追溯平台曾经受住四五次大促考验,用户复购率、用户转化率明显提升,京东目标客群对追溯对消费体验升级、商品品质保证的高度承认。

 

 

 

以上就是这次沙龙活动分享的大体内容。

关注微信公众号"京东云开发者社区",

回复“PPT0526”获取课程视频&PPT。

 

除了大促技术也可点击→“京东云”了解618大促活动!

全场低至1折哦!

 

 


 

相关文章
相关标签/搜索