京东前台PC首页系统技术详解( 三 )


图片优化:电商系统页面会引入大量的图片,虽然图片系统引入CDN服务,但单个域在高并发的时候依然会有堵塞 。为了解决单域问题,我们将图片部署到多个域上,例如img10.360buyimg.com、img11.360buyimg.com、img12.360buyimg.com等等 。但多域会叠加DNS解析耗时,此时页面可以引入预解析指令(dns-prefetch)来减少dns的解析时间,提高图片加载速度 。另外使用懒加载也是优化的一个技巧 。
3.监控&报警
原有的报警信息通过 “系统日志->研发->产品->运营”的方式层层传递,不但处理问题时效长,而且占用研发资源 。为了简化报警流程,现有系统直接将报警信息同步给产品&运营,减少信息流通环节,提高效率 。
增加报警逻辑的同时不影响系统性能,系统通过异步非阻塞的ngx.socket.tcp组件实现消息同步 。具体流程为系统将日志通过ngx.socket.tcp组件传递给分布式任务,分布式任务通过异步方式将日志同步到Elastic集群 。报警系统根据报警规则触发报警信息发送 。(注:使用ngx.socket.tcp组件请合理使用连接池,避免频繁建立连接)
小结
随着首页系统的迭代升级,团队沉淀了蜂巢系统平台以及OpenLua框架 。蜂巢系统通过积木赋能、组件化思想搭建,可快速响应业务需求 。OpenLua框架实现Lua的MVC分层结构,并融入京东内部组件,在满足API性能的同时提升开发效率 。
继续前行,永不止步 。在之后的的研发道路上,将继续沉淀业务需求,强化组件化、标准化思想,深耕蜂巢系统、OpenLua框架,使之更加灵活、高效、易用 。




推荐阅读