1 / 23
文档名称:

构建高并发高可用的电商平台架构实践.doc

格式:doc   大小:588KB   页数:23页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

构建高并发高可用的电商平台架构实践.doc

上传人:wdggjhm62 2020/10/30 文件大小:588 KB

下载得到文件列表

构建高并发高可用的电商平台架构实践.doc

相关文档

文档介绍

文档介绍:构建高并发高可用的电商平台架构实践一、 设计理念  1.     空间换时间1)     多级缓存,静态化客户端页面缓存(httpheader中包含Expires/CacheofControl,lastmodified(304,server不返回body,客户端可以继续用cache,减少流量),ETag)反向代理缓存应用端的缓存(memcache)存数据库Buffer、cache机制(数据库,中间件等)2)     索引哈希、B树、倒排、bitmap哈希索引适合综合数组的寻址和链表的插入特性,可以实现数据的快速存取。B树索引适合于查询为主导的场景,避免多次的IO,提高查询的效率。倒排索引实现单词到文档映射关系的最佳实现方式和最有效的索引结构,广泛用在搜索领域。Bitmap是一种非常简洁快速的数据结构,他能同时使存储空间和速度最优化(而不必空间换时间),适合于海量数据的的计算场景。2.     并行与分布式计算 1)     任务切分、分而治之(MR)在大规模的数据中,数据存在一定的局部性的特征,利用局部性的原理将海量数据计算的问题分而治之。MR模型是无共享的架构,数据集分布至各个节点。处理时,每个节点就近读取本地存储的数据处理(map),bine)、排序(shuffleandsort)后再分发(至reduce节点),避免了大量数据的传输,提高了处理效率。 2)     多进程、多线程并行执行(MPP)并行计算(puting)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器/进程/线程来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。和MR的区别在于,它是基于问题分解的,而不是基于数据分解。3.     多维度的可用1)     负载均衡、容灾、备份随着平台并发量的增大,需要扩容节点进行集群,利用负载均衡设备进行请求的分发;负载均衡设备通常在提供负载均衡的同时,也提供失效检测功能;同时为了提高可用性,需要有容灾备份,以防止节点宕机失效带来的不可用问题;备份有在线的和离线备份,可以根据失效性要求的不同,进行选择不同的备份策略。2)     读写分离读写分离是对数据库来讲的,随着系统并发量的增大,提高数据访问可用性的一个重要手段就是写数据和读数据进行分离;当然在读写分离的同时,需要关注数据的一致性问题;对于一致性的问题,在分布式的系统CAP定量中,更多的关注于可用性。3)     依赖关系平台中各个模块之间的关系尽量是低耦合的,可以通过相关的消息组件进行交互,能异步则异步,分清楚数据流转的主流程和副流程,主副是异步的,比如记录日志可以是异步操作的,增加整个系统的可用性。当然在异步处理中,为了确保数据得到接收或者处理,往往需要确认机制(confirm、ack)。但是有些场景中,虽然请求已经得到处理,但是因其他原因(比如网络不稳定),确认消息没有返回,那么这种情况下需要进行请求的重发,对请求的处理设计因重发因素需要考虑幂等性。4)     监控监控也是提高整个平台可用性的一个重要手段,多平台进行多个维度的监控;模块在运行时候是透明的,以达到运行期白盒化。4.     伸缩1)     拆分拆分包括对业务的拆分和对数据库的拆分。系统的资源总是有限的,一段比较长的业务执行如果是一竿子执行的方式,在大量并发的操作下,这种阻塞的方式,无法有效的及时释放资源给其他进程执行,这样系统的吞吐量不高。需要把业务进行逻辑的分段,采用异步非阻塞的方式,提高系统的吞吐量。随着数据量和并发量的增加,读写分离不能满足系统并发性能的要求,需要对数据进行切分,包括对数据进行分库和分表。这种分库分表的方式,需要增加对数据的路由逻辑支持。2)     无状态对于系统的伸缩性而言,模块最好是无状态的,通过增加节点就可以提高整个的吞吐量。5.     优化资源利用1)     系统容量有限系统的容量是有限的,承受的并发量也是有限的,在架构设计时,一定需要考虑流量的控制,防止因意外攻击或者瞬时并发量的冲击导致系统崩溃。在设计时增加流控的措施,可考虑对请求进行排队,超出预期的围,可以进行告警或者丢弃。2)     原子操作与并发控制对于共享资源的访问,为了防止冲突,需要进行并发的控制,同时有些交易需要有事务性来保证交易的一致性,所以在交易系统的设计时,需考虑原子操作和并发控制。保证并发控制一些常用高性能手段有,乐观锁、Latch、mutex、写时复制、CAS等;通常是保证一致性的重要手段,这个在数据库的设计中经常会用到。3)     基于逻辑的不同,采取不一样的策略平台中业务逻辑存在不同的类型,有计算复杂型的,有消耗IO型的,同时就同一种类型而言,不同的业务逻辑消耗

最近更新

沪教版六年级下册数学期末测试卷及完整答案(.. 6页

浙教版六年级下册数学期末测试卷附参考答案(.. 7页

苏教版一年级下册科学期末测试卷及完整答案【.. 8页

苏教版二年级下册科学期末测试卷附完整答案【.. 7页

苏教版六年级上册科学期末测试卷及完整答案(.. 8页

苏教版六年级下册数学期末测试卷附完整答案(.. 7页

苏教版小学二年级下册科学期末测试卷及参考答.. 7页

《军事理论小组展》 45页

苏教版小学科学六年级上册期末测试卷及参考答.. 7页

苏教版科学二年级下册期末测试卷带答案(综合.. 7页

苏教版科学六年级上册期末测试卷【培优】 7页

苏教版科学四年级下册期末测试卷及参考答案【.. 9页

苏教版科学小学二年级下册期末测试卷有答案 7页

苏教版科学小学五年级上册期末测试卷【b卷】 8页

西师大版六年级上册数学第七单元 负数的初步认.. 5页

西师大版六年级下册数学第三单元 正比例和反比.. 7页

部编版三年级上册道德与法治期末测试卷及答案.. 7页

部编版五年级上册道德与法治期末测试卷附完整.. 7页

部编版四年级上册道德与法治期末测试卷附参考.. 7页

(完整版)六年级下册数学期末测试卷及参考答.. 6页

(小学段)比例的应用练习题带答案(培优b卷).. 7页

(小学段)负数练习题【各地真题】 6页

(新)急救相关知识考试题库含答案(考试直接.. 53页

人文完整版医师定期考核题库 693页

人大网教试题 14页

大学生消费调查报告 32页

《冯海军机械与人》 19页

2024年福建南平下半年事业单位讲座历年公开引.. 245页

桌游工作室创业计划书 8页

行政费用分析报告 28页