一、概述Kafka 既是一个高性能的分布式流处理平台,也是一个具有高吞吐量、低延迟和高可靠性的消息传递系统。它不仅仅是一个简单的消息队列,还是一个面向实时数据流处理的基础设施。广泛应用于大数据分析、日志聚合、监控和事件流处理等场景。 二、Kafka架构分析(一)Kafka结构及重要组件 如上图所示,Kafka由Producer、Broker、Consumer 以及负责集群管理的 ZooKeeper 组成,各部分功能如下: Producer:生产者,负责消息的创建并通过一定的路由策略发送消息到合适的 Broker; Broker:服务实例,负责消息的持久化、中转等功能; Consumer:消费者,负责从 Broker 中拉取(Pull)订阅的消息并进行消费,通常多个消费者构成一个分组,消息只能被同组中的一个消费者消费; ZooKeeper:负责 broker、consumer 集群元数据的管理等,在2.8版本及之后,Kafka移除了对Zookeeper的依赖; topic:消息主题。Kafka 按 topic 对消息进行分类,我们在收发消息时只需指定 topic。 par ...
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post$ hexo new "My New Post" More info: Writing Run server$ hexo server More info: Server Generate static files$ hexo generate More info: Generating Deploy to remote sites$ hexo deploy More info: Deployment
Docker
未读1. 前置说明 本文使用阿里云ECS服务器,系统为Alibaba Cloud Linux 3.2104 LTS 64位,是完全兼容CentOS的。 CentOS安装Docker官网:https://docs.docker.com/engine/install/centos/ 2. 安装前卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 直接执行上面的命令,如果出现下面图片的效果,说明系统中没有Docker。 3. 执行安装安装yum-utils软件包 该软件包是一个yum工具集 ...
1. 布隆过滤器大致介绍 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 简单来说,布隆过滤器就是用来检查一个元素是否在一个集合里的,接下来就来具体分析下布隆过滤器。。 2. 底层结构 布隆过滤器的底层数据结构是位图,可以理解为只存储二进制数值的数组,每个位置只能存放0或1,0表示不存在,1表示存在。 3. 在缓存穿透中的应用什么是缓存穿透 在实际的开发中,难免会遇到数据缓存在redis中,当用户访问数据的时候,都是先请求缓存,那么假如要查询的数据在缓存中和数据库中都不存在,当缓存中查询不出数据的时候,会直接查询数据库,就会造成大量的请求作用到数据库,会对数据库造成很大的压力,容易出现宕机的情况,像恶意攻击,就会出现这种情况,请求查询大量不存在的key,极容易发生宕机,这种情况就叫做缓存穿透。 缓存穿透的解决办法 缓存空数据:将从mysql中查询到的空数据缓存到redis中,当 ...