CodingALife
这个作者很懒,什么都没留下…
展开
-
Kafka(六):Kafka为什么吞吐量大、速度快?
Kafka是大数据领域无处不在的消息中间件,目前广泛使用在企业内部的实时数据管道,并帮助企业构建自己的流计算应用程序。Kafka虽然是基于磁盘做的数据存储,但却具有高性能、高吞吐、低延时的特点,其吞吐量动辄几万、几十上百万。但是很多使用过Kafka的人,经常会被问到这样一个问题,Kafka为什么速度快,吞吐量大;大部分被问的人都是一下子就懵了,或者是只知道一些简单的点,本文就简单的介绍一下Kafka为什么吞吐量大,速度快。一、顺序读写众所周知Kafka是将消息记录持久化到本地磁盘中的,一般人转载 2021-07-31 17:14:12 · 483 阅读 · 0 评论 -
Kafka(五):Kafka 的高性能的源头
1. Kafka 持久化的秘密无论是操作系统还是作为应用程序的 Kafka,都试图提供一个高效的写 API。我们这里分为多个部分对 Kafka 高效持久化(写操作会触发持久化)特性进行分析。1.操作系统的写操作优化现代操作系统为了提高磁盘的读写性能,提供了如下三个技巧:预读(read-ahead):提前将一个比较大的磁盘块读入内存。这源自于磁盘读操作的空间局部性原理。因此,即使应用程序仅仅需要读取 256 byte 的磁盘数据,操作系统至少会读取 4KB; 后写(write-behind)转载 2021-07-31 17:15:05 · 1204 阅读 · 0 评论 -
Kafka(三):两年 kafka 使用经验,遇到过哪些坑?
https://jishuin.proginn.com/p/763bfbd5e0b7转载 2021-07-31 17:15:40 · 259 阅读 · 0 评论 -
Kafka(二):kafka与redis差异
https://www.zhihu.com/question/43557507https://www.cnblogs.com/cxuanBlog/p/11949238.html转载 2021-07-31 17:43:11 · 212 阅读 · 0 评论 -
Kafka(一):Kafka为什么这么快
https://zhuanlan.zhihu.com/p/337861077转载 2021-08-03 15:05:00 · 143 阅读 · 0 评论 -
中间件(十):RocketMQ代码解读4
1、原创 2021-10-27 15:05:12 · 142 阅读 · 2 评论 -
中间件(九):RocketMQ代码解读3
9、NameServer是如何处理Broker的注册请求的?原创 2021-10-27 00:56:54 · 143 阅读 · 0 评论 -
中间件(八):RocketMQ代码解读2
1、Broker启动的时候是如何初始化自己的核心配置的?原创 2021-10-26 21:21:20 · 107 阅读 · 0 评论 -
中间件(七):RocketMQ代码解读1
1、RocketMQ的源码目录结构broker:顾名思义,这个里面存放的就是RocketMQ的Broker相关的代码,这里的代码可以用来启动Broker进程 client:顾名思义,这个里面就是RocketMQ的Producer、Consumer这些客户端的代码,生产消息、消费消息的代码都在里面 common:这里放的是一些公共的代码 dev:这里放的是开发相关的一些信息 distribution:这里放的就是用来部署RocketMQ的一些东西,比如bin目录 ,conf目录,等等 ..原创 2021-10-26 17:41:13 · 150 阅读 · 0 评论 -
中间件(六):RocketMQ的核心底层原理
1、RocketMQ是如何基于Netty扩展出高性能网络通信架构的? Broker有一个Reactor主线程。Reactor主线程负责监听一个网络端口,比如监听2888等端口。短连接:如果你要给别人发送一个请求,必须要建立连接 -> 发送请求 -> 接收响应 -> 断开连接,下一次你要发送请求的时候,这个过程得重新来一遍。每次建立一个连接之后,使用这个连接发送请求的时间是很短的,很快就会断开这个连接,所以他存在时间太短了,就是短连接。 长连接:你建立一个连接 -&g..原创 2021-09-28 11:55:20 · 909 阅读 · 0 评论 -
中间件(五):Broker底层原理
目录写在前面1、生产者往Broker集群发送消息底层原理1.1、创建Topic的时候为何要指定MessageQueue数量?1.2、Topic、MessageQueue以及Broker之间到底是什么关系1.3、生产者发送消息的时候写入哪个MessageQueue?1.4、如果某个Broker出现故障该怎么办?2、Broker是如何持久化存储消息的?2.1、CommitLog消息顺序写入机制2.2、如何让消息写入CommitLog文件近乎内存写性能的?3、基于DLed.原创 2021-09-28 01:51:09 · 504 阅读 · 0 评论 -
中间件(四):秒杀系统架构设计
目录写在前面1、合理的架构、有限的机器资源优化2、方案一:堆机器3、方案二:架构设计3.1、高并发的商品详情页请求3.2、商品团队的秒杀架构优化:页面数据静态化3.3、商品团队的秒杀架构优化:多级缓存总结:3.4、基于MQ的秒杀订单系统架构3.4.1、用答题的方法避免作弊抢购以及延缓下单3.4.2、为秒杀独立出来一套订单系统3.4.3、基于Redis实现下单时精准扣减库存3.4.4、抢购完毕之后提前过滤无效请求3.4.5、瞬时高并发下单请求进入Ro.原创 2021-09-27 20:50:14 · 865 阅读 · 1 评论 -
中间件(三):MQ实现订单系统异步化改造
目录1、优化1----复杂流程加MQ2、什么叫做同步发送消息到RocketMQ?3、什么叫做异步发送消息到RocketMQ?4、什么叫做发送单向消息到RocketMQ?5、优化2---大数据大SQL5.1、大SQL执行5.2、如何将完整的订单数据发送到RocketMQ里去?总结:1、优化1----复杂流程加MQ订单系统仅仅会同步执行更新订单状态和扣减库存两个最关键的操作,因为一旦你支付成功,只要保证订单状态变为“已支付”,库存扣减掉,就可以保证核心数据不错乱。原创 2021-09-27 18:50:18 · 704 阅读 · 0 评论 -
中间件(二):MQ技术
1、技术调研应该怎么做?技术调研:就是对一个技术去找到一些业内常用的开源实现,然后对各种不同的实现都进行一些调研,对比一下他们的优劣势,看看谁比较符合我们的需求,谁比较适合我们来使用。 具体来说,比如对于我们现在的情况,你只知道有一个MQ的概念,但是你要考虑一下: 业内常用的MQ有哪些? 每一种MQ各自的表现如何 ?MQ的优劣势? 这些MQ在同等机器条件下,能抗多少QPS(每秒抗几千QPS还是几万QPS)? 性能有多高(发送一条消息给他要2ms还是20ms)? 可用性能不能得...原创 2021-09-27 17:51:23 · 183 阅读 · 0 评论 -
中间件(一):订单系统整体架构
1、订单系统架构2、订单系统整体架构和流程现在每日几十万订单,日高峰QPS:2000,大促活动QPS:10000。目前注册用户几千万,每日活跃用户一两百万,订单数量每日几十万,随着发展很快达到订单量每日百万,不过现在大促都达到单日百万订单。系统压力来自两方面:1、日益增长的数据量;2、大促活动时每秒上万访问压力。随着数据库中的订单数据越来越多,数据库的读写性能就会越来越差,尤其在大促活动高峰期的时候,数据库访问压力剧增,读写性能会进一步下降,经常出现请求过慢...原创 2021-09-27 15:29:37 · 1851 阅读 · 1 评论 -
Kafka(七):kafka详解--异步、解耦、流量削峰
mq 的作用有哪些?缺点有什么?我们大家都知道作用有解耦、接口异步处理、流量削峰,那么我这里来举例说明下这3个概念分别是什么。解耦首先我们看下耦合较高的情况,谁愿意负责A系统?难道被累死么?负责A系统的大兄弟自作主张引入MQ消息队列后,我管你老王、老张还是老李要什么数据,我放在MQ中,你们要就从MQ中拿,别来烦我、接口异步处理首先来看下没有引入MQ时候,假设打开一个网页随意点一下都需要一秒才返回数据,才响应出来,会不会感觉活在70年代,首次感觉就是 what?我在哪?这什么、、、、转载 2021-04-04 18:11:28 · 7657 阅读 · 0 评论 -
Kafka(十):Kafka概述
第1章Kafka概述1.2.2消息队列的两种模式(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。...转载 2021-01-31 21:16:03 · 229 阅读 · 0 评论