![](https://img-blog.csdnimg.cn/20210415152329539.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
中间件
文章平均质量分 85
消息中间件,数据库中间件
_子栖_
这个作者很懒,什么都没留下…
展开
-
Elasticsearch 进阶
elasticsearch核心概念、系统架构、分布式集群、路由计算、分片控制原创 2022-12-28 14:40:43 · 478 阅读 · 1 评论 -
Elasticsearch 基本操作
Elasticsearch 基本概念,Elasticsearch 基本查询,Elasticsearch 聚合查询原创 2022-12-07 14:27:46 · 1629 阅读 · 0 评论 -
Dubbo 2.7.15 版本报错问题
Correct the classpath of your application so that it contains a single, compatible version of org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor原创 2022-11-05 12:03:09 · 684 阅读 · 0 评论 -
Elasticsearch启动脚本
Elasticsearch启动脚本原创 2022-10-24 17:23:51 · 1348 阅读 · 1 评论 -
Kafka【再平衡】
kafka 再平衡转载 2022-10-22 10:44:29 · 1627 阅读 · 0 评论 -
kafka consumer
kafka consumer、消费方式、offset、consumer工作流程原创 2022-06-15 20:22:50 · 283 阅读 · 0 评论 -
kafka broker
broker工作流程、节点退役服役、kafka副本、leader选举流程、kafka文件存储、kafka分区副本分配原创 2022-06-09 15:38:59 · 2731 阅读 · 0 评论 -
kafka生产者
kafka生产者原创 2022-04-16 18:58:18 · 2550 阅读 · 0 评论 -
Zookeeper 实现分布式锁
文章目录何为分布式锁?zookeeper 实现分布式锁zookeeper 实现分布式锁实现思路分布式锁案例代码实现何为分布式锁?比如说:“进程一” 在使用该资源的时候,会先去获得锁,“进程一”获得锁之后会对资源保持独占,这样其他进程就无法访问该资源,”进程一“用完该资源之后就会将锁释放,让其他进程来获得锁,那么通过这个锁机制,我们就能保证了分布式系统中多个进程能够有序的访问该临界资源。我们把在分布式环境下的锁称之为分布式锁zookeeper 实现分布式锁为什么要借助 zookeeper 实现原创 2021-09-26 17:08:33 · 584 阅读 · 1 评论 -
Redis 缓存穿透、缓存击穿、缓存雪崩
文章目录缓存穿透问题描述解决方案缓存击穿问题描述解决方案缓存雪崩问题描述解决方案缓存穿透问题描述key 对应的数据在数据源并不存在,每次针对此 key 的请求从缓存获取不到,请求都会压到数据库,从而可能压垮数据库。比如用一个不存在的用户 id 获取用户信息,不论缓存还是数据库中都没有,若黑客利用此漏洞进行攻击可能压垮数据库。解决方案一个一定不存在缓存及数据库查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要去原创 2021-09-27 17:06:58 · 1290 阅读 · 6 评论 -
Redis 实现分布式锁
文章目录问题描述思路分析代码实现代码优化 1代码优化 2代码优化 3问题描述随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的Java API并不能提供分布式锁的能力。为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题!分布式锁主流的实现方案:基于数据库实现分布式锁基于缓存(Redis等)基于Zookeeper每一种分布式锁解决方原创 2021-09-27 15:50:14 · 1269 阅读 · 0 评论 -
Kafka
Kafka文章目录Kafka第一章 Kafka 概述第二章 Kafka 快速入门第三章 Kafka 架构深入第四章 Kafka API第五章 Kafka 监控第六章 Flume对接Kafka第五章 Kafka 面试题第一章 Kafka 概述定义Kafka是一个分布式的基于发布/订阅模式的消息队列,主要用于大数据实时处理领域。消息队列传统消息队列的应用场景好处:解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接p约束可恢复性:系统的一部分组件失原创 2021-09-23 15:11:02 · 98 阅读 · 0 评论 -
初识RocketMQ
文章目录RocketMQ 概述1、RocketMQ 简介2、RocketMQ 发展历史RocketMQ 安装与启动1、基本概念2、系统架构单机安装与启动1、准备工作2、修改初始内存3、启动4、发送/接收消息测试5、关闭 Server控制台安装与启动集群搭建理论1、数据复制与刷盘策略2、Broker 集群模式磁盘阵列 RAID(补充)集群搭建实践RocketMQ 概述1、RocketMQ 简介RocketMQ 是一个统一消息引擎、轻量级数据处理平台。RocketMQ 是一款阿里巴巴开源的消息中间件。原创 2021-08-03 16:38:47 · 208 阅读 · 0 评论 -
RabbitMQ 优先级队列与惰性队列
文章目录一、优先级队列1、使用场景2、如何添加3、实战二、惰性队列1、使用场景2、两种模式3、内存开销对比一、优先级队列1、使用场景假如在我们的系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信消息提醒,但是对于淘宝来说,肯定是要分大客户和小客户的对吧,比如像苹果,小米这样大商家一年起码能给我们创造很大的利润,所以理应当然,他们的订单必须得到优先处理,而曾经我们的后端系统是使用 redis 来存放的定时轮询,大家原创 2021-07-27 11:34:27 · 833 阅读 · 0 评论 -
RabbitMQ 发布确认
RabbitMQ 发布确认1.1 发布确认原理生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出,broker回传给生产者的确认消息中delivery-tag域包含了确认消息的序列号,此外broker也可以设置b原创 2021-06-23 15:36:03 · 1051 阅读 · 0 评论 -
RabbitMQ 延迟队列
文章目录1.1 延迟队列概念1.2 延迟队列使用场景1.3 RabbitMQ 中的 TTL1.3.1 消息设置 TTL1.3.2 队列设置 TTL1.3.3 两者区别1.4 队列 TTL1.4.1 配置类代码1.4.2 生产者代码1.4.3 消费者代码1.5 延迟队列优化1.5.1 代码架构图1.5.2 配置类代码1.5.3 生产者代码1.6 RabbitMQ 基于插件实现延迟队列1.6.1 安装延插件1.6.2 代码架构图1.6.3 配置类代码1.6.4 生产者代码1.6.5 消费者代码1.7 总结1.原创 2021-06-22 21:44:34 · 534 阅读 · 1 评论 -
RabbitMQ 消息应答机制
RabbitMQ 消息应答机制1.1 概念消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长任务并在中途突然将他挂掉,会发生什么情况。RabbitMQ 一旦向消费者传递了一条信息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续发送该消费者的消息,都将无法收到。为了保证消息在发送的过程中不丢失,RabbitMQ 引入了消息应答机制,消息应答就是:消费者在接收到消息并且处理该消息之后,告诉rabbitMQ 它已经处理了,rabbitMQ 就原创 2021-06-21 19:11:00 · 670 阅读 · 0 评论 -
ShardingJdbc
ShardingJdbc1、ShardingJdbc概述官网:https://shardingsphere.apache.org/快速入门:https://shardingsphere.apache.org/document/legacy/4.x/document/cn/quick-start/apacheshardingsphere是一个开源的生态系统,由一组分布式数据库解决方案组成,包括3个独立的产品JDBC、Proxy和Sidecar(Planning)。它们都提供了数据扩展、分布式事务原创 2021-04-15 15:21:32 · 175 阅读 · 1 评论 -
RabbitMQ - 高级
RabbitMQ - 高级文章目录RabbitMQ - 高级24、RabbitMQ高级 - 过期时间 TTL25、RabbitMQ高级 - 死信队列26、RabbitMQ 内存磁盘的监控27、RabbitMQ 的集群搭建28、RabbitMQ高级 - 分布式事务概述24、RabbitMQ高级 - 过期时间 TTL概述过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以消息和队列设置TTL。目前有两种方法可以设置。第原创 2021-04-22 14:30:24 · 188 阅读 · 0 评论 -
RabbitMQ - 中级
RabbitMQ - 中级文章目录RabbitMQ - 中级12、RabbitMQ入门案例 - simple简单模式13、什么是AMQP14、RabbitMQ的核心组成部分15、RabbitMQ的入门案例 - Fanout模式16、RabbitMQ的入门案例 - Direct模式17、RabbitMQ的入门案例 - Topic模式18、RabbitMQ的入门案例 - Headers模式19、使用代码创建交换机与队列20、RabbitMQ的入门案例 - Work模式 - 轮询模式21、RabbitMQ的入门原创 2021-04-22 12:26:30 · 83 阅读 · 0 评论 -
RabbitMQ - 初级
Rabbit MQ - 初级文章目录Rabbit MQ - 初级1、什么是中间件2、中间件技术及架构概述3、基于中间件技术的分布式系统架构4、消息队列协议5、消息队列持久化6、消息的分发策略7、消息队列高可用与高可靠8、RabbitMQ入门及安装安装Erlang安装RabbitMQ9、RabbitMQ管理界面及授权操作RabbitMQ管理界面授权账号和密码10、RabbitMQ之Docker安装虚拟化容器技术----安装DockerDocker上安装RabbitMQ11、RabbitMQ的角色分类1、什原创 2021-04-22 12:23:30 · 496 阅读 · 0 评论 -
ActiveMQ
Linux下ActiveMQ安装完成后不能访问8181端口1. 启动ActiveMQ ,查看8161端口2.发现8161端口前面存在 127.0.0.1修改apache-activemq-5.16.0/conf/jetty.xml文件中的内容3.0重启运行原创 2020-09-29 09:25:03 · 76 阅读 · 0 评论