一、应用层面

引入缓存:在应用层和数据库层增加缓存层,热点数据放入缓存。如系统中常用的开关、白名单等数据,读取频率高写入频率低,针对这部分数据就可以在JimDB(Redis)中存储一份,JimDB (Redis)会把高频数据存储在内存中,读写性能很高。数据写入缓存时设置一个有效期,更新数据库成功后,异步更新缓存数据。如果实时性要求不高,也可以等缓存失效后,主动更新缓存。引入缓存层,降低数据库压力,提升系统响应速度。

编写并发处理程序:多任务并发处理,充分利用CPU资源。无依赖关系的多条任务可以并行处理,提高系统处理能力。如结算任务,每笔订单之间的结算操作没有依赖关系,可以同时执行多条结算任务

系统结构优化:核心生成流程异步处理,接收用户订单和给用户充值两个流程异步化处理,提高系统处理能力。对用户来说,用户付款成功,等待充值即可。系统可通过worker触发充值动作,设置合理的重试次数,间隔一定的时间进行重试。在到达最终状态前,给用户显示中间状态。拆解大应用,使其微服务化。从功能上进行微服务化以后,应用拆解为PC端、Server端、MQ消息处理端、后台管理端、worker端等五个应用,应用之间功能独立,依赖公司的RPC框架(JSF)和消息框架(JMQ)进行通信。单个应用的内聚性更高,应用之间的耦合度更低。

读写分离:实时性要求不高的数据读取从库,降低主库压力。如对账功能,读取的是前一天的订单数据,这些数据就没必要从主库中读取。关于技术实现上,Spring框架本身有提供,实现其抽象类AbstractRoutingDataSource即可。

变化频率低的页面静态化:充值应用中有很多卡片页,如QQ页卡等,页面上的数据变化的只有广告位。这种类型的页面就可以静态化,定时更新页面,推送到存储介质上,nginx配置location,直接读取页面,降低后端服务的压力。

二、数据库层面

模拟MySQL slave的交互协议,解析数据库的增量BinLog,同步分库的数据到ElasticSearch中。由于数据库主从同步存在延迟的风险,需要准备一个降级方案。在话费充值应用中,数据库写订单成功后,插入一条任务记录,通过任务模型立即同步数据到ElasticSearch中。保证数据同步的实时性。

三、应用部署

在JVM内部隔离分为信号量隔离和线程池隔离,Netflix Hystrix插件提供了完美的支持。JD-Peer(多机房公网出口路由系统)中使用了Hystrix对每一个商家进行了隔离。话费充值应用对接了几十个商家,通过JD-Peer系统跟商家进行交互。

转载于:https://www.cnblogs.com/CHAHA123/p/11054763.html

no.4京东话费充值系统架构演讲读后感相关推荐

  1. 话费充值折扣数据库_《京东话费充值系统架构演进实践》--阅读

    京东话费充值业务线的订单量'水涨船高 ',同时对系统的各项运行指标要求更高,老的系统架构不足以支撑新的业务量,需要对系统进行升级.升级方案从以下几个层面进行. 1.应用层面 引入缓存 在应用层和数据库 ...

  2. 京东虚拟业务多维订单系统架构设计读后感

    阅读文章:京东虚拟业务多维订单系统架构设计 文章网址:https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247486428& ...

  3. 京东B2B业务架构演变读后感

    阅读文章:京东B2B业务架构演变 文章网址:https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247486624&idx=1 ...

  4. 苏宁易购:商品详情系统架构设计读后感

    商品详情系统是一个展示商品基本信息.参数等详情的系统,是商品购买的入口.它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高.在业务上它与周边系 ...

  5. 刘慎宝:京东集团财务系统架构设计之路

    [IT168&ITPUB专稿]本文根据刘慎宝老师在2018年10月17日第十届中国系统架构师大会(SACC2018)现场演讲内容整理而成. 讲师简介: 京东集团高级架构师,10+年互联网研发专 ...

  6. 刘慎宝 :京东集团财务系统架构设计之路

    [IT168&ITPUB专稿]本文根据刘慎宝老师在2018年10月17日第十届中国系统架构师大会(SACC2018)现场演讲内容整理而成. 讲师简介: 京东集团高级架构师,10+年互联网研发专 ...

  7. 架构 | 京东商品搜索架构设计

    电商搜索系统存在以下特点: 数据量庞大.(上亿级别) 高并发.(日均pv过亿.数十亿) 一条商品数据由商品基本信息.价格.库存.促销.评价等组成,这些数据存储在各自业务系统当中.(多数据源导致构建索引 ...

  8. 京东商品搜索架构设计

    电商搜索系统存在以下特点: 数据量庞大.(上亿级别) 高并发.(日均pv过亿.数十亿) 一条商品数据由商品基本信息.价格.库存.促销.评价等组成,这些数据存储在各自业务系统当中.(多数据源导致构建索引 ...

  9. 京东物流AI智能大脑中台系统架构

    来源丨 网络 图源 网络 吴盛楠博士现任京东物流首席数据分析官 (Chief Data & Analytics Officer),负责大数据和 AI 的发展,运用运筹学.统计学.机器学习等算法 ...

  10. 京东11.11大促背后,那些系统架构经历了些什么

    一年一度的京东11.11电商大促,是一次用户的狂欢,也是一次京东智联云架构师们的大型测验.在海量流量.高频用户访问和大量不确定性的DDos攻击之下,系统架构面临了太多考验.在今年京东11.11期间,京 ...

最新文章

  1. 《BI项目笔记》创建标准维度、维度自定义层次结构
  2. 如何在Keras中训练大型数据集
  3. 我的新浪微博,顺便总结下近况
  4. SOPC第三课---同时点亮4个LED灯闪烁
  5. 如何产生QPSK信号
  6. 《BeagleBone开发指南》——1.7 小结
  7. 【系统架构理论】一篇文章精通:Spring Cloud Netflix Eureka
  8. java jedis_Java操作Redis之Jedis用法详解
  9. 华为这款无线耳机斩获11项IFA大奖,11月正式上市
  10. 速成pytorch学习——6天Dataset和DataLoader
  11. php类的继承和,详细对比php中类继承和接口继承
  12. 运营级最新修复版苍穹影视(双端千月)
  13. 查看计算机屏幕颜色软件,电脑屏幕色彩调节工具(f.lux settings)
  14. 淘宝客做不下去怎么办?
  15. 微信小游戏--JS基础
  16. 计算机脚本语言是什么?
  17. jQuery动画与效果
  18. 为什么mos管反相器要用pmos管和nmos管构成
  19. 如何让内容运营渗透产品,带动产品高速成长
  20. 10天学会英语常见词根后缀

热门文章

  1. js实现文字转语音功能tts
  2. 一文揭晓:大数据是什么?大数据如何分类?又该怎么学?
  3. 记录遇到的小问题:Google浏览器在搜索时自动出现搜索记录的问题
  4. Excise_Oop1
  5. apple开发者账号区别
  6. mysql error 1205_【MySQL运维】ERROR 1205 (HY000): Lock wait timeout exceeded的解决办法
  7. The server cannot or will not process the request due to something that is perceived to be a client
  8. Android实现屏幕自动旋转功能
  9. 使用Inno Setup 制作软件安装包详细教程(与开发语言无关)
  10. freeswitch呼叫中心之百度MRCP语音合成识别环境搭建