摘要: ​ 一、秒杀是什么? 秒杀系统的业务逻辑和复杂程度都被大众熟知,其实主要解决的问题有两个——高并发和一致性。其中高并发又分为读和写,要减少用户从服务端读取数据,控制数据的传输大小;写则需要独立处理数据库。一致性是指保证库存数据的准确,超卖和超买都是不能出现的。至于高可用会在最后介绍,通过高可用可以保 阅读全文
posted @ 2022-09-16 13:26 平凡程序猿 阅读(585) 评论(0) 推荐(0) 编辑
摘要: ​ 这次来聊聊Hadoop中使用广泛的分布式计算方案——MapReduce。MapReduce是一种编程模型,还是一个分布式计算框架。 MapReduce作为一种编程模型功能强大,使用简单。运算内容不只是常见的数据运算,几乎大数据中常见的计算需求都可以通过它来实现。使用的时候仅仅需要通过实现Map和 阅读全文
posted @ 2022-09-23 14:57 平凡程序猿 阅读(225) 评论(1) 推荐(0) 编辑
摘要: Hadoop的第一个产品是HDFS,可以说分布式文件存储是分布式计算的基础,也可见分布式文件存储的重要性。如果我们将大数据计算比作烹饪,那么数据就是食材,而Hadoop分布式文件系统HDFS就是烧菜的那口大锅。这些年来,各种计算框架、各种算法、各种应用场景不断推陈出新,让人眼花缭乱,但是大数据存储的 阅读全文
posted @ 2022-09-22 16:01 平凡程序猿 阅读(316) 评论(0) 推荐(1) 编辑
摘要: 前言 在正式落地谈技术之前,先花一些篇幅说说大数据技术的发展史。我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable(如果大家需要可以留言给我,我可以专门解读一下)。 一、 阅读全文
posted @ 2022-09-21 19:34 平凡程序猿 阅读(733) 评论(2) 推荐(2) 编辑
摘要: 前言 如果你第一次接触秒杀,可能还不太理解,库存100件就卖100件,在数据库里减到0就好了,这有什么麻烦的?理论上是这样,但是具体到业务场景中就没那么简单了。今天就聊聊减库存的设计,之后以高可用方案来结束秒杀设计的全部内容。 一、秒杀中的减库存 减库存操作一般有如下几个方式: 1.下单减库存:下单 阅读全文
posted @ 2022-09-20 13:38 平凡程序猿 阅读(1467) 评论(2) 推荐(1) 编辑
摘要: 前言 秒杀请求在高度集中在某一个时间点。这样一来,就会导致一 个特别高的流量峰值,它对资源的消耗是瞬时的 。能够抢到商品的人数是有限的,也就是说10人和1000人发 起请求的结果都是一样的。也就是说真正开始下单时,秒杀请求并不是越多越好。 一、秒杀中的削峰 由于服务器的处理资源是恒定的,用或者不用它 阅读全文
posted @ 2022-09-19 14:21 平凡程序猿 阅读(1366) 评论(2) 推荐(3) 编辑
摘要: 前言 上一篇中提到了秒杀系统的几个要素,接下来我们逐个进行说明。这次要解决的是秒杀活动中的动静分离方案。分离后的数据处理就简单了许多。 一、动静分离是什么? 动静分离就是并不是传统意义的静态页面和动态页面,而是指是否需要根据发送请求的用户进行个性化数据的推送。举个例子,在访问一些商城时,会针对不同用 阅读全文
posted @ 2022-09-17 09:33 平凡程序猿 阅读(427) 评论(0) 推荐(0) 编辑