随笔分类 -  中间件

Redis、ElasticSearch、Kafka、Zookeeper
摘要:1. 在 VUE 中使用 MQTT 具体步骤如下所示: 1、初始化 vue 项目 // 创建一个使用vite构建的前端项目 npm create vite@latest // 进入到项目中,执行如下命令安装项目依赖 npm install 2、安装 element plus // 安装element 阅读全文
posted @ 2024-11-09 13:18 tree6x7 阅读(29) 评论(0) 推荐(0) 编辑
摘要:1. 访问控制 1.1 认证 认证:就是验证客户端的身份。 a. 创建认证器 创建认证器大致步骤: 选择认证方式 配置数据源 配置数据源相关参数 ‘目前 EMQX 提供了三种认证方式,包含有: Password-Based,使用客户端 ID 或用户名加密码的认证方式; JWT,客户端可以在用户名或密 阅读全文
posted @ 2024-11-09 13:16 tree6x7 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1. MQTT 主题 MQTT 主题本质上是一个 UTF-8 编码的字符串,是 MQTT 协议进行消息路由的基础。MQTT 主题类似 URL 路径,使用斜杠 / 进行分层: chat/room/1 test/10/temperature test/+/temperature test/# 为了避免歧 阅读全文
posted @ 2024-11-09 13:14 tree6x7 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:1. MQTT 入门 1.1 MQTT 协议 a. 什么是 MQTT MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种基于发布/订阅(Publish/Subscribe)模式的"轻量级"通讯协议,该协议构建于 TCP/IP 协议上,由 I 阅读全文
posted @ 2024-11-09 13:12 tree6x7 阅读(296) 评论(0) 推荐(0) 编辑
摘要:1. 集群方案原理 对于无状态应用(如普通的微服务)很容易实现负载均衡、高可用集群。而对于有状态的系统(如数据库等)就比较复杂。 1.1 业界实践 主备模式:单活,容量对等,可以实现故障转移。使用独立存储时需要借助复制、镜像同步等技术,数据会有延迟、不一致等问题(CAP 定律),使用共享存储时就不会 阅读全文
posted @ 2024-09-30 07:52 tree6x7 阅读(45) 评论(0) 推荐(0) 编辑
摘要:1. 消息可靠性 你用支付宝给商家支付,如果是个仔细的人,会考虑我转账的话,会不会把我的钱扣了,商家没有收到我的钱? 一般我们使用支付宝或微信转账支付的时候,都是扫码,支付,然后立刻得到结果,说你支付了多少钱,如果你绑定的是银行卡,可能这个时候你并没有收到支付的确认消息。往往是在一段时间之后,你会收 阅读全文
posted @ 2024-09-30 07:50 tree6x7 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1. 工作模式 1.1 Work Queue a. 说明 生产者发消息,启动多个消费者实例来消费消息,每个消费者仅消费部分信息,可达到负载均衡的效果。 b. 案例 生产者代码: public class Producer { public static void main(String[] args 阅读全文
posted @ 2024-09-30 07:49 tree6x7 阅读(7) 评论(0) 推荐(0) 编辑
摘要:1. 概述 RabbitMQ 是一个在 AMQP(Advanced Message Queuing Protocol)基础上实现的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。它支持多种客户端如:Python、Ruby、.NET、Java、JMS、C、 阅读全文
posted @ 2024-09-30 07:47 tree6x7 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1. JMS 规范 JMS 即 Java 消息服务(Java Message Service)应用程序接口,是一个 Java 平台中关于面向消息中间件(MOM,Message oriented Middleware)的 API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。与具体平台 阅读全文
posted @ 2024-09-30 07:46 tree6x7 阅读(109) 评论(0) 推荐(0) 编辑
摘要:1. 通信协议 Redis 是单进程单线程的。 应用系统和 Redis 通过 Redis 序列化协议(REdis Serialization Protocol,简称 RESP)进行交互。 1.1 请求响应模式 Redis 协议位于 TCP 层之上,即客户端和 Redis 实例保持双工的连接。 a. 阅读全文
posted @ 2023-02-15 23:09 tree6x7 阅读(236) 评论(0) 推荐(0) 编辑
摘要:Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是:缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较 阅读全文
posted @ 2023-02-15 23:07 tree6x7 阅读(62) 评论(0) 推荐(0) 编辑
摘要:# 1. ZkServer 选举源码 ![](https://img2023.cnblogs.com/blog/1104875/202302/1104875-20230212161737712-14814005.png) ## 1.1 选举准备 ![](https://img2023.cnblogs 阅读全文
posted @ 2023-02-12 16:19 tree6x7 阅读(39) 评论(0) 推荐(0) 编辑
摘要:![](https://img2023.cnblogs.com/blog/1104875/202302/1104875-20230212161035893-519576435.png) # 1. 基础算法 ## 1.1 Paxos 算法 > 一种基于消息传递且具有高度容错特性的一致性算法。 > 摘自 阅读全文
posted @ 2023-02-12 16:16 tree6x7 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1. 集群部署 1.1 集群安装 (1)集群规划 在 hadoop102、hadoop103 和 hadoop104 三个节点上都部署 Zookeeper。 (2)解压安装 在 hadoop102 解压 Zookeeper 安装包到 /opt/module/ 目录下,修改 apache-zookee 阅读全文
posted @ 2023-02-12 15:59 tree6x7 阅读(74) 评论(0) 推荐(0) 编辑
摘要:# 1. 概述 Zookeeper 是一个开源的分布式的、为分布式框架提供协调服务的 Apache 项目。 ## 1.1 工作机制 Zookeeper 从设计模式角度来理解: 是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生 阅读全文
posted @ 2023-02-12 15:54 tree6x7 阅读(58) 评论(0) 推荐(0) 编辑
摘要:# 1. 工作流程 ![](https://img2023.cnblogs.com/blog/1104875/202302/1104875-20230212141211327-1315440536.png) ## 1.1 消费者组概述 Consumer Group(CG):由多个 consumer 阅读全文
posted @ 2023-02-12 14:17 tree6x7 阅读(68) 评论(0) 推荐(0) 编辑
摘要:# 1. 工作流程 ## 1.1 Zk 存储的信息 ![](https://img2023.cnblogs.com/blog/1104875/202302/1104875-20230212140242669-119050085.png) ## 1.2 总体工作流程 **step1~6:** ![]( 阅读全文
posted @ 2023-02-12 14:09 tree6x7 阅读(105) 评论(0) 推荐(0) 编辑
摘要:1. 存储与读写 1.1 Kafka 存储机制 由于生产者生产的消息会不断追加到 log 文件末尾,为防止 log 文件过大导致数据定位效率低下,Kafka 采取了〈分片〉和〈索引〉机制,将每个 Partition 分为多个 Segment。 每个 Segment 对应两个文件 ——「.index」 阅读全文
posted @ 2023-02-12 13:48 tree6x7 阅读(79) 评论(0) 推荐(0) 编辑
摘要:# 1. 发送消息流程 ## 1.1 整体架构 整个生产者客户端由两个线程协调运行,这两个线程分别为主线程和 Sender 线程(发送线程)。在主线程中由 KafkaProducer 创建消息,然后通过可能的拦截器、序列化器和分区器的作用之后缓存到消息累加器(RecordAccumulator,也称 阅读全文
posted @ 2023-02-12 13:05 tree6x7 阅读(42) 评论(0) 推荐(0) 编辑
摘要:# 1. 消息队列 一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。 有两种主要的消息传递模式:点对点模式、发布-订阅模式。Kafka 就是一种“发布-订阅” 阅读全文
posted @ 2023-02-12 12:54 tree6x7 阅读(61) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩