首页 > 热点

58到家沈剑:如何让你的架构实现“高并发”

随着互联网+的发展,网站规模不断扩大;大数据时代的到来,更是带来了远远超出预计的数据量,数据存储、处理压力随之而来。互联网架构压力

作者:谭盼雨 | 2017-01-23 09:04:31

随着互联网+的发展,网站规模不断扩大;大数据时代的到来,更是带来了远远超出预计的数据量,数据存储、处理压力随之而来。互联网架构压力越来越大,“高并发”的架构能力频频被技术人提及。

2017年3月25日,由飞马网与中生代技术联合举办的技术嘉年华--软件技术领域顶级盛宴,将在龙城丽宫国际酒店隆重开幕。届时,将会有多位业内重量级大咖出席,围绕互联网技术的多个话题展开。其中,来自58到家的沈剑将会专门围绕着互联网架构高可用做相关分享,有没有很期待,有木有!?

近日,笔者提前采访了沈剑,他以58到家的系统架构现状为我们解释了何为“高并发”,另外还跟笔者剧透了即将在技术嘉年华大会上所做的演讲。来,跟随笔者一起去听听他都为我们剧透了哪些内容吧!

专家介绍

123.png

沈剑,58到家技术总监。曾任职于百度,于2011年加入58同城,曾负责过58同城即时通讯、58同城商户平台App、58同城二手交易平台APP等多个系统与项目的设计与实现。于2015年9月被调到58到家,负责到家基础服务与架构平台的搭建。

什么是互联网系统“高并发”?

关于什么是互联网架构“高并发”?沈剑给出的解释是:高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。

作为一个曾负责过58同城和58到家两个不通平台的技术人,沈剑感触颇深,他表示,58到家和58同城的架构重点是不一样的。

・58同城是一个信息平台,其挑战更多是大数据、高并发,架构设计针对性能和系统扩展性的考虑会更多;

・58到家是一个O2O的交易闭环,业务复杂度会更高,架构设计针对业务扩展性和数据一致性考虑会更多。

沈剑告诉我们,58到家成立2年多,时间并不长,互联网架构发展经历了两个阶段:

一、早期快速响应业务需求的WEB+DB阶段;

二、目前对应逐步上升的数据量、并发量、扩展性的服务化阶段。

同时,沈剑强调,58到家的业务是O2O交易闭环,面临的挑战更多是也业务扩展性与一致性。以对账一致性举例有:

・58到家系统内的订单和第三方服务提供商之间的订单是否匹配;

・58到家订单内的款项和支付系统的款项是否匹配;

・支付系统的款项和微信支付宝的款项是否匹配;

・支付系统的款项和营销券系统的款项是否匹配;

・支付系统的款项和自营商家提现系统的款项是否匹配;

他告诉笔者,在技术层面,在并发量较大,系统较多的情况下无法使用事务来保证一致,58到家的做法是:业务监控、实时对账、尽早发现不一致并尽快修复不一致。

沈剑认为,影响系统并发能力的因素有:硬件影响与软件影响。而提高系统并发能力的方式,主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。可以通过使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间等方式来提升单机架构性能。

另外,他透露,58到家在提高系统并发能力方面,采取了在软件架构上的单机性能提升ScaleUp与分布式性能提升ScaleOut,并且重点是后者:WEB层通过nginx水平扩展,服务层通过连接池+配置中心实现自动水平扩展,数据层通过水平拆分来实施水平扩展。

在移动应用爆发式增长的今天,对系统架构高并发的要求越来越高。在共享经济下,技术达人们也越来越愿意共享技术,将自身技术开源出来供同行学习参考,共同为提高系统架构的并发能力出力。对于开源,沈剑也表示认同,认为开源社区是一个技术人员交流学习的平台,可以学习到最新开源技术。并告诉我们58到家也积极地参与了开源,比如58到家开源的binlog闪回,快速回滚工具。但他强调,在选择使用尤其是应用到线上的技术时,要选择成熟的开源技术。

另外,沈剑也跟我们分享了技术管理人员在平衡技术与管理这两方面的经验。他表示,公司在不同阶段对技术人员的要求是不一样的,所承担的角色也是不一样的,作为架构师,重心在技术;而作为管理者,重心在团队。但无论如何,专业能力不能丢,这是核心竞争力。

在被“容量”、“流量”充斥着的移动时代,网络系统架构的高并发能力该如何保障呢?垂直扩展与水平扩展具体该如何实现呢?关于更多“高并发”的技术详情,沈剑还会在大会上为大家分享哪些呢?快来大会现场一睹风采吧!届时,来自阿里、58、京东、当当、百度等众多知名企业的技术大牛齐聚一堂,只为帮你在技术领域中引导护航。盛会虚位以待,只等你快马加鞭!

【责任编辑:谭盼雨】