ShardingSphere对接京东白条实战

  “作者

张永伦,京东数科高级软件工程师,Apache ShardingSphere(Incubating) PPMC。长期从事分布式系统的高可用、高并发相关工作。热衷于网络IO、性能优化方面的技术挑战。目前专注于Sharding-Proxy的持续优化和PostgreSQL协议的开发工作。


2018年11月10日,ShardingSphere进入Apache孵化器,团队在经历了短暂的庆祝和喜悦后,立即投入到了3.1.0的开发工作中。3.1.0版本首次支持了DISTINCT子句,并且在全新解析引擎的支持下,能够100%兼容路由至单一数据节点的全部SQL(目前仅MySQL)。正是在这两个重要特性的支持下,Apache ShardingSphere迎来了2018年度的最后一个挑战:对接京东金融的杀手级应用——京东白条!


640?wx_fmt=png

激活京东白条,请扫描二维码↑↑↑


京东白条由于业务体量巨大,数据库不可避免地进行了水平拆分。拆分之后的数据节点规模达到了十万级别,是极度少见的金融级、高并发、海量数据并存的应用系统。为了追求性能极致以及代码的可控性,京东白条之前是在业务框架中,根据分片键替换数据库和表名称进行分片的。


随着业务的发展,通过业务框架进行分片的方式,使得代码的维护成本不断攀升。ShardingSphere在经过了大量系统的验证之后,理所当然的成为了京东白条的数据分片中间件的首选方案,ShardingSphere团队也非常愿意帮助京东白条团队解耦业务和底层技术代码,缓解开发工程师肩上的重担。


虽然开源三年有余,ShardingSphere经历了大量系统的检验,项目已经相对成熟,但面对国内乃至世界上屈指可数的京东金融王牌级产品,仍将是一次严峻的考验。而事实上,对接工作也确实不是一帆风顺,遇到了很多在以往系统上遇不到的深层次问题。本文将这些问题的解决过程记录下来,供大家参考。


640?wx_fmt=png


分布式链路追踪系统


值得一提的是,本次对接大量运用了分布式链路追踪技术,对问题定位起到了事半功倍的作用。京东数科平台开发部的SGM(Service Governance And Monitoring),是一套致力于分布式服务监控、跟踪、预警的综合服务治理解决方案,是实现全链路监控的基础。它的特点:


  • 亚秒级延迟(被监控方法从调用产生到图形展示、预警的总延时在10秒左右)

  • 代码零侵入(启动脚本指定探针即可实现全链路的监控与预警)

  • 全链路分析,快速故障定位(调用链整体分析,每个节点数据库耗时、缓存耗时、日志耗时、网络耗时一目了然,快速根源问题定位)

  • 高吞吐,弹性伸缩(数据结构及算法极度优化,单核心支持5000QPS的计算量,支持横向扩容)

  • 性能影响小(服务平均响应时间在5ms时,性能影响小于3%)

  • 多维度业务监控(灵活可配置的多维度业务监控,如分类监控、比值监控、累加监控、状态转移监控、业务流程监控等)


更多详情请点击官网: http://imsgm.io


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值