自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(333)
  • 收藏
  • 关注

原创 Kafka-元数据存储(ZooKeeper)

我们前面在部署Kafka的时候,选择的是需要ZooKeeper支持的版本,在 Kafka 2.8 之前的版本中,ZooKeeper 承担了以下关键职责:

2025-07-07 20:21:16 469

原创 Kafka-为什么这么快(零拷贝Zero-Copy)

Kafka的零拷贝(Zero-Copy)技术是其实现高吞吐量的关键优化之一,主要通过减少数据在内核态和用户态之间的冗余拷贝及上下文切换来提升性能。以下是对该机制的详细分析

2025-07-06 21:08:55 423

原创 Kafka-为什么这么快(顺序读写)

我们前面在介绍Kafka的时候,有一个Topic概念,它不仅仅是一个逻辑隔离的概念,也是实际存储内容的地方。在RabbitMQ里面有一个类似的概念,就是虚拟主机(vhost),它只是起到一个逻辑隔离,本身并不存储数据。

2025-07-05 18:15:58 599

原创 Kafka-分布式日志存储系统的设计与高吞吐实践

我们前面讲解了Kafka的几个关键概念,生产者者发送的消息最终都会写到Broker节点的磁盘里面,那么它在本地数据是怎么样的呢?

2025-07-04 21:23:05 868

原创 Kafka-消费者(Consumer)和消费者组(Consumer Group)

我们上个小节介绍了生产者怎么给afka发送数据,本小节我们来介绍消费者(Consumer),以及我们如何消费数据。

2025-07-03 20:56:33 576

原创 Kafka-生产者(Producer)

我们上前面介绍了Topic的基本概念和涉及到Topic核心的分区和副本概念,但是我们还得往里面写入数据才行,然后数据写进入以后我们还得把里面的数据读出来,我们今天首先介绍的负责向Kafka写入消息角色:生产者(Producer)。

2025-07-02 20:19:12 985

原创 Kafka-Leader分区(AR +ISR + OSR)

在 Apache Kafka 中,每个分区都有Leader分区和Follower分区,Leader 分区 是负责处理客户端读写请求的主副本,其副本管理机制通过 AR(Assigned Replicas)、ISR(In-Sync Replicas) 和 OSR(Out-of-Sync Replicas) 确保数据的高可用性和一致性。

2025-07-01 20:04:57 953

原创 Kafka-分区(Partition)和副本(Replica)

我们上个小节介绍了Kafka里面一个很核心的逻辑概念:主题(Topic),在创建Topic的时候,涉及到两个很关键的参数:分区(Partition)和副本(Replica),我们今天就来详细介绍这2个概念。

2025-06-30 20:21:19 781

原创 Kafka-主题(Topic)介绍和使用

在 Apache Kafka 中,Topic(主题) 是消息的逻辑分类单元,所有消息的生产和消费都围绕 Topic 进行。每个 Topic 可以看作一个消息队列的抽象,但 Kafka 通过 分区(Partition) 和 副本(Replica) 机制实现了高吞吐、高可用和水平扩展的特性。

2025-06-29 18:16:39 704

原创 Kafka-单机安装&集群安装

本小节我们将进行Kafka的安装,截止到2025年,最新的Kafka最新版本默认不依赖Zookeeper,而由于刚刚发布,我们业务使用的大部分版本应该都是需要依赖的ZooKeeper的版本。我们选择的是2.8.2版本,这个版本开始可以不依赖Zookeeper,我们后期有需要可以调整。

2025-06-28 20:40:46 735

原创 Kafka-简介与入门

Kafka的设计哲学源于发布-订阅模型,但其创新性地引入了分布式存储和分区化处理机制,使得系统能够高效处理每秒百万级的消息吞吐。这一特性使其迅速成为现代数据管道(Data Pipeline)和流式处理(Stream Processing)的核心组件。

2025-06-27 21:10:59 508

原创 ZooKeeper-知识技能图谱(总结篇)

到目前为止ZooKeeper是我们第三个中间件:前面2个是web服务器(Nginx),代理服务器,当然这里我介绍这部分内容只是我相对比较熟悉部分,实际业务需要需要进行配置。下面就是一个简单总结。

2025-06-26 20:53:04 391

原创 ZooKeeper-案例 (多AZ高可用容灾)

所以我们这里准备了6个节点,AZ1:3个普通节点,AZ2:2个普通节点,一个OB节点。由于OB的特性,可以算这个集群只有5个节点,只要有3个节点就可以正常选举出来Leader。

2025-06-25 21:50:23 240

原创 ZooKeeper-案例(注册订阅)

前面我们介绍介绍了几个常用的代理服务器,本章节我们讲来讲解Zookeeper这个中间件。我们前面讲解了ZooKeeper的基本操作和原理,后面几个小节将通过几个案例来更加深入ZooKeeper。我们的第二个案例就是把ZooKeeper作为订阅中心,来实现信息更新,也就是我们前面讲过的watch机制。

2025-06-25 00:23:22 288

原创 ZooKeeper-案例(注册中心)

这里设计了2个服务,服务a和服务b,他们之间有调用关系,但是他们默认不知道对方的地址。

2025-06-23 20:12:53 328

原创 ZooKeeper-备份(Backup)

ZooKeeper作为一个分布式软件,在生产中一般都是多节点运行的,所以对于备份的需求其实并不高,但是这里还是介绍3个方法。

2025-06-22 17:44:12 352

原创 ZooKeeper-监控(Monitor)

我们虽然前面讲过4字命令和自带的Shell脚本可以读取ZooKeeper的运行状态,但是它并不成体系。还有就是目前云原生的情况下,我们的的监控也需要接入Prometheus和Grafana,所以我们下面就来讲解下我们的监控。目前官方可以直接下载的ZooKeeper版本是3.7.2 和 3.8.4 和3.9.3从配置文件来看都是支持通过metrics方式暴露监控指标。

2025-06-21 17:43:05 381

原创 Zookeeper-权限管控(ACL)

ACL 是 ZooKeeper 权限控制的核心机制,用于定义哪些客户端可以访问特定的 znode,以及它们可以执行哪些操作。ACL 的实现类似于 UNIX 文件系统的权限控制,但它更加灵活。

2025-06-20 21:18:40 900

原创 Zookeeper-四字命令

我们前面已经讲过使用ZooKeeper给我们提供的脚本可以检查集群的角色,但是这个信息还是太少,我们怎么看到ZooKeeper运行详细信息呢,有没有可以查看集群运行情况的命令呢?他就是官方给我们提供了一个最简单的四字命令接口,可以读取Zookeeper的详细运行信息。

2025-06-19 20:21:31 311

原创 Zookeeper-事务日志(Txn Log)‌的阅读

事务日志是二进制的文件,无法直接通过Linux的文件操作命令来读取,必须借助工具(可以是第三方的,也可以ZooKeeper自带的)。

2025-06-18 22:22:10 271

原创 Zookeeper-数据(log)和快照(snapshot)

前面我们介绍了Zookeeper的事务日志(Txn Log)‌,那他在Linux里面究竟是什么样的呢?默认我们未修改数据存储目录的情况下,这个目录/tmp/zookeeper/

2025-06-17 20:19:03 461

原创 ZooKeeper-事务日志(Txn Log)‌和‌内存数据树(DataTree)

ZooKeeper通过‌事务日志(Txn Log)‌和‌内存数据树(DataTree)‌的双重机制保证数据持久化与一致性

2025-06-16 20:05:06 581

原创 ZooKeeper-数据读写流程

上个小节我们介绍了Zookeeper的选举流程,本小节来讲解一个读写流程,作为集群对外提供服务,而我们的客户端连接的时候也会把所有的地址都写到配置文件里面,那么读写数据的时候他具体是怎么实现的呢?

2025-06-15 18:04:35 585

原创 Zookeeper-选举Leader流程

我们前面部署了集群版的ZooKeeper,里面有2个角色,一个是Leader,另外一个是Floower,他们是如何来选举自己Leader呢?

2025-06-14 20:42:59 663

原创 ZooKeeper-数据结构(Znode)

Znode 是 ZooKeeper 数据模型中的基本数据节点,类似于文件系统中的文件或目录。它以树形结构存储数据,并可以包含子节点。每个 Znode 都有一个唯一的路径,用于标识其在 ZooKeeper 树中的位置

2025-06-13 20:52:48 628

原创 ZooKeeper-单机安装&集群安装

ZooKeeper 是一个分布式协调服务,广泛应用于分布式系统的配置管理、命名服务、分布式锁等场景。本文将详细介绍 ZooKeeper 单机安装和集群安装的步骤。

2025-06-12 20:42:48 333

原创 ZooKeeper-简介与入门

前面我们介绍介绍了几个常用的代理服务器,本章节我们讲来讲解Zookeeper这个中间件。

2025-06-11 20:51:12 450

原创 代理服务器-FRP内网穿透&内网映射

FRP(Fast Reverse Proxy) 是一个开源的高性能反向代理工具,通过将内网服务映射到公网服务器(FRPS 服务端),实现外网用户访问内网资源(如网站、数据库、远程桌面等)。

2025-06-10 20:31:50 529

原创 代理服务器-Keepalived&LVS

本小节我们讲使用LVS+keepalived来实现负载均衡+高可用。在keepalive这个软件里面实际有多种模式,这里我们就以简单的主备模式来讲解,后面单独出一个小节来介绍这个模式。

2025-06-09 20:02:35 349

原创 代理服务器-LVS的DR模式

上个小节我们介绍LVS的的NAT模式,但是这个NAT模式所有请求都会经过DR,容易出现瓶颈。今天我们来讲解另外一种模式:DR模式,只有请求会经过DR,请求返回并不会经过DR,而是直接有RS直接返回。这样就大大降低了DR的压力。

2025-06-08 23:33:27 786

原创 代理服务器-LVS的NAT模式

前面两个小节,我们介绍了LVS的相关概念和里面涉及到3种模式和算法。由于算法相对固定,并且Nginx里面也有类似的算法,所以下面2个小节,我们来讲讲里面的其中两种模式。

2025-06-07 17:02:28 898

原创 代理服务器-LVS的3种模式与调度算法

上一小节我们介绍了LVS的概念和部署,本小节来讲解LVS的工作模式和调度算法。本小节的内容都是理论知识,在很多地方其实都能搜索到大致相似的内容。

2025-06-06 20:49:06 903

原创 代理服务器-LVS介绍与安装

前面我们讲了2个代理软件,均是属于应用层面的软件,而且任何一个服务器均可以部署,没有额外要求。今天我们来讲一个基于Linux内核的代理,他的性能是高于前面我们讲的2个代理软件。

2025-06-05 20:24:25 692

原创 代理服务器-HAProxy介绍和应用

上个小节我们介绍了Squid主要是来做主动代理或者透明代理,但是Nginx的另外一个功能,4层代理(负载均衡)一般也用得比较少,主要是做7层代理。如果是4层代理一般我们用另外一个软件来实现:HAProxy。

2025-06-04 21:21:11 211

原创 代理服务器-Squid介绍和应用

前面我们在介绍Web服务器的时候,介绍过Nginx的正向代理,实际上如果要使用正向代理,一般不会使用Nginx来做,而是使用更专业的代理软件:Squid来实现。当然Squid实际上有很多功能,我们这里主要介绍他的正向代理(或者叫透明代理)。

2025-06-03 22:59:38 541

原创 Web服务器-总结篇

我们用了20多小节来讲解Web服务器,当然这里的重点是Nginx,其他两个新应用一般不会直接使用。现阶段的Nginx主要作为Web入口和静态网站使用,其他的后端应用基本上就是自己应用程序自己实现Web服务(Python,NodeJS,GO等),不再需要额外的Web服务器来支持。

2025-06-02 19:35:48 393

原创 Web服务器-Tomcat

我们前面介绍两个Web服务器:Nginx和Apache,今天我们来介绍另外一个Web服务器:Tomcat。

2025-06-01 21:44:24 662

原创 Web服务器-一代经典LAMP

前面我们讲一代经典LNMP,实际上在他之前还有更经典的LAMP,今天我们就来讲解下这里最核心的Apache。早期的运维面试在Web方面经常会问的一个问题,Apache和Nginx的主要是区别是啥。目前在比较新的应用里面已经较少使用Apache,在一些比较旧的系统里面还有不少Apache在运行。

2025-05-31 21:28:38 842

原创 Web服务器-一代经典LNMP

在互联网早期,LAMP是很多网站的配置,也是学习Linux必须掌握的技能,后期随着技术迭代升级出现了衍生版本:LNAMP和LNMP。今天我们就来讲解LNMP的部署。

2025-05-30 22:10:18 320

原创 Web服务器-Nginx监控&备份

任何应用软件,部署以后,都需要考虑到监控和备份的问题。我们这一章的Nginx也不例外。

2025-05-29 21:07:31 376

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除