![](https://img-blog.csdnimg.cn/860418ab1b7a4a02b173c7c3718b452f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
中间件
文章平均质量分 88
介于应用系统和系统软件之间的一类软件,使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用。
鱼找水需要时间
千里之行,积于跬步;万里之船,成于罗盘
展开
-
常用消息中间件知识点
消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。原创 2023-12-28 07:15:00 · 978 阅读 · 7 评论 -
程序员的25大Tomcat面试问题及答案
Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器。原创 2023-12-27 08:30:00 · 1295 阅读 · 13 评论 -
程序员的38大Redis面试问题及答案-下
Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。它可以用作数据库、缓存和消息中间件,并在性能、可扩展性和灵活性方面表现出色。原创 2023-12-25 07:00:00 · 952 阅读 · 0 评论 -
程序员的50大Redis面试问题及答案-上
Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。它可以用作数据库、缓存和消息中间件,并在性能、可扩展性和灵活性方面表现出色。原创 2023-12-24 20:45:00 · 1822 阅读 · 3 评论 -
程序员的20大RabbitMQ面试问题及答案
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。 RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。 所有主要的编程语言均有与代理接口通讯的客户端库。原创 2023-12-24 08:15:00 · 2693 阅读 · 6 评论 -
程序员的21大Netty面试问题及答案
Netty是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能服务器和客户端。原创 2023-12-24 07:45:00 · 2248 阅读 · 0 评论 -
程序员的50大MongoDB面试问题及答案
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库原创 2023-12-23 07:45:00 · 1570 阅读 · 0 评论 -
程序员的27大Kafka面试问题及答案
Kafka是Apache旗下的一款分布式流媒体平台,Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。 它最初由LinkedIn (领英)公司发布,使用Scala语言编写,与2010年12月份开源,成为Apache的顶级子项目。 它主要用于处理消费者规模网站中的所有动作流数据。原创 2023-12-21 22:45:00 · 1628 阅读 · 0 评论 -
elasticsearch 跨索引联合多条件查询
Elasticsearch 是一个实时的分布式、RESTful 风格的搜索和数据分析引擎。可以在承载了 PB 级数据的成百上千台服务器上运行。原创 2023-04-04 22:24:10 · 6362 阅读 · 9 评论 -
redis cluster(集群)模式-基于docker 哈希槽分区
哈希槽分区在数据和节点之间又加入了一层,把这层称为哈希槽(slot),用于管理数据和节点之间的关系,现在就相当于节点上放的是槽,槽里放的是数据。一个集群只能有16384个槽,编号0-16383(0-2^14-1)。这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。解决了节点和槽的关系后,接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot = CRC16(key) % 16384。以槽为单位移动原创 2022-01-20 13:19:41 · 1026 阅读 · 0 评论 -
Docker安装tomcat, mysql,redis(单机版)
步骤搜索镜像拉取镜像查看镜像启动镜像 服务端口映射停止容器移除容器tomcat安装docker search tomcatdocker pull tomcatdocker images tomcat// tomcat镜像创建容器实例(也叫运行镜像)docker run -it -p 8080:8080 tomcatdocker run [OPTIONS]-p 小写,主机端口:docker容器端口-P 大写,随机分配端口i:交互t:终端d:后台即可通过 http:原创 2022-01-19 17:48:59 · 783 阅读 · 1 评论 -
Curator实现分布式锁(可重入 不可重入 读写 联锁 信号量 栅栏 计数器)
Curator实现分布式锁(可重入 不可重入 读写 联锁 信号量 栅栏 闭锁)原创 2023-01-08 17:30:58 · 4808 阅读 · 72 评论 -
ZooKeeper分布式协调服务(节点分类、事件监听、java集成)
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等原创 2023-01-02 17:47:40 · 4444 阅读 · 38 评论 -
EMQX Cloud全托管的 MQTT 消息云服务
EMQX Cloud 是 EMQ 公司推出的一款面向物联网领域的 MQTT 消息中间件产品。作为全球首个全托管的 MQTT 5.0 公有云服务,EMQX Cloud 提供了一站式运维代管、独有隔离环境的 MQTT 消息服务。在万物互联的时代,EMQX Cloud 可以帮助您快速构建面向物联网领域的行业应用,轻松实现物联网数据的采集、传输、计算和持久化。原创 2022-09-10 16:03:20 · 2703 阅读 · 10 评论 -
ElasticSearch全文搜索引擎 -Spring Boot操作ES(SpringData概述、Spring Data Elasticsearch、基本操作、ElasticSearch操作文档)
目录1. Spring Data概述2. Spring Data Elasticsearch3. 实现基本操作4. ElasticSearch操作文档1 Spring Data概述Spring Data是spring提供的一套连接各种第三方数据源的框架集,它支持连接很多第三方数据源,例如:数据库redisElasticSearchMongoDB等包括数据库在内,很多第三方数据都可以使用SpringData操作,非常方便。2 Spring Data Elasticsearch上原创 2022-04-03 10:28:00 · 6842 阅读 · 0 评论 -
Kibana查询语言(KQL)AND、OR匹配,模糊匹配
一. 前言现在大多数的公司都会使用ELK组合来对日志数据的收集、存储和提供查询服务。ElasticSearch + Logstash+ Kibana。查询数据库,如果是MySQL,那么就需要使用MySQL的语法;同样的,在Kibana上查询数据,也需要使用Kibana的语法,而Kibana的查询语法叫做Kibana Query Language,简称KQL。二. KQL简单介绍KQL(Kibana Query Language),也就是在Kibana上面进行查询时使用的语法。Kibana中也可以使原创 2022-03-23 22:13:08 · 18365 阅读 · 1 评论 -
SpringData集成Elasticsearch
Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的 开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch„)的写法,可以在几乎不用 写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些 常用的功能。Spring Data官网 Spring Data Elasticsearch 介绍Spring Data原创 2022-03-20 17:35:04 · 3917 阅读 · 0 评论 -
Elasticsearch笔记(集群插件、kibana、什么是倒排索引)
Elasticsearch 中的集群、节点、索引、文档、类型集群是一个或多个节点(服务器)的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索 引和搜索功能。群集由唯一名称标识,默认情况下为“elasticsearch”。此名称很重要,因为如果节点设置为按名称加入群集,则该节点只能是群集的一部分。节点是属于集群一部分的单个服务器。它存储数据并参与群集索引和搜索功能。索引就像关系数据库中的“数据库”。它有一个定义多种类型的映射。索引是逻辑名称空间,映射到一 个或多个主分片,并且可以有原创 2022-03-20 15:51:05 · 5509 阅读 · 0 评论 -
Springboot整合Rabbitmq,Direct、Fanout、Topic
rabbitmq,springboot,Direct,Fanout,Topic原创 2022-06-05 00:15:07 · 3771 阅读 · 0 评论 -
SpringBoot-Kafka(生产者事务、手动提交offset、定时消费、消息转发、过滤消息内容、自定义分区器、提高吞吐量)
pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.6.0</version> </dependency>原创 2022-05-11 23:06:57 · 5890 阅读 · 2 评论 -
Docker安装Kafka(docker-compose)、EFAK监控
安装DockerDocker安装mysql EFAK监控面板会用到EFAK监控面板容器安装1、kafka需要zookeeper管理,所以需要先安装zookeeper。 (PS:2.8版本以后kafka-Kraft 模式不再依赖zk,目前别的很多组件都依赖zk注册,所以还是以zk举例)2、下载zookeeper镜像$ docker pull wurstmeister/zookeeper$ docker pull wurstmeister/kafka启动zk镜像生成容器docker run原创 2022-05-08 17:50:08 · 6828 阅读 · 4 评论 -
Kafka-Kraft 模式(不依赖Zookeeper)
Kafka-Kraft 模式1. Kafka-Kraft 架构左图为 Kafka 现有架构,元数据在 zookeeper 中,运行时动态选举 controller,由controller 进行 Kafka 集群管理。右图为 kraft 模式架构(实验性),不再依赖 zookeeper 集群,而是用三台 controller 节点代替zookeeper,元数据保存在 controller 中,由 controller 直接进行 Kafka 集群管理。这样做的好处有以下几个:Kafka 不再依赖外原创 2022-05-01 20:09:10 · 6095 阅读 · 0 评论 -
Kafka快速入门(Kafka消费者)
Kafka 消费者1. Kafka 消费方式2 Kafka 消费者工作流程2.1 消费者总体工作流程2.2 消费者组原理Consumer Group(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,是所有消费者的groupid相同。• 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。 • 消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。消费者组初始化流程1、coordinator:辅助实现消费原创 2022-05-01 20:06:24 · 8114 阅读 · 3 评论 -
Kafka快速入门(Kafka Broker)节点服役和退役、手动调整副本
Kafka Broker1. Kafka Broker 工作流程1.1 Zookeeper 存储的 Kafka 信息(1)启动 Zookeeper 客户端。 bin/zkCli.sh(2)通过 ls 命令可以查看 kafka 相关信息。ls /kafkaZookeeper中存储的Kafka 信息1.2 Kafka Broker 总体工作流程1)模拟 Kafka上下线,Zookeeper中数据变化(1)查看/kafka/brokers/ids 路径上的节点。ls /kafka/b原创 2022-05-01 19:01:51 · 4994 阅读 · 0 评论 -
Kafka快速入门(生产者)同步异步发送、分区、消息精确一次发送、幂等性、事务
Kafka 生产者1. 生产者消息发送流程1.1 发送原理在消息发送的过程中,涉及到了**两个线程——**main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。1.2 生产者重要参数列表-参数名称-描述bootstrap.servers生产者连接原创 2022-05-01 18:50:20 · 4430 阅读 · 0 评论 -
Kafka快速入门(命令行操作)
Kafka 命令行操作Kafka基础架构主题命令行操作1)查看操作主题命令参数bin/kafka-topics.sh-参数-描述–bootstrap-server <String: server toconnect to>连接的 Kafka Broker 主机名称和端口号。–topic <String: topic>操作的 topic 名称。–create创建主题。–delete删除主题。–alter修改主题。原创 2022-05-01 18:13:11 · 5591 阅读 · 0 评论 -
Kafka快速入门(安装集群)
安装部署1.1.1集群规划hadoop102hadoop103hadoop104zkzkzkkafkakafkakafka1.1.2集群部署0) 官方下载地址:官网1)解压安装包tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/2)修改解压后的文件名称 mv kafka_2.12-3.0.0/ kafka3)进入到/opt/module/kafka 目录,修改配置文件cd config/vim ser原创 2022-05-01 18:08:06 · 4574 阅读 · 0 评论 -
Kafka快速入门(介绍)
定义Kafka是 一个开源的 分布式事件流平台 (Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。消息队列的应用场景传统的消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信。消息队列的两种模式Kafka 基础架构(1)Producer:消息生产者,就是向 Kafka broker 发消息的客户端。(2)Consumer:消息消费者,向 Kafka broker 取消息的客户端。(3)Consumer Grou原创 2022-04-25 23:27:40 · 3800 阅读 · 0 评论