快乐的程序员
kafka如何保证消息高可用 kafka如何保证消息高可用
写在前面kafka保证消息高可用主要是三个方面:集群、partition、副本 集群单机是没有高可用可言的,高可用都是对集群来说的。Kafka 的基础集群架构,由多个broker组成,每个broker都是一个节点 直接读 leader 上的
2024-04-01
四种实现middleware的方式 四种实现middleware的方式
写在前面middleware是一般框架里面常用的形式,比如web框架、rpc框架,通过middleware在流量入口和出口做一些公共事情,包括鉴权、日志、埋点、统计、限流、参数处理、异常处理等等。 在工作中经常会用到,在阅读web框架(gi
2024-03-22
ElasticSearch学习文档-入门篇 ElasticSearch学习文档-入门篇
1 ElasticSearch概述1.1 ElasticSearch是一个基于Lucene的搜索服务器它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,并作为Apache
2024-03-21
消息队列面试连环问:如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理? 消息队列面试连环问:如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?
这四个问题是面试中遇到过最多的,今天就来详细解答一下 如何保证消息不丢失就我们市面上常见的消息队列而言,只要配置得当,我们的消息就不会丢。 先来看看这个图 可以看到一共有三个阶段,分别是生产消息、存储消息和消费消息。我们从这三个阶段分别入
2024-03-20
消息队列黄金三剑客:RabbitMQ、RocketMQ和Kafka全面对决,谁是最佳选择? 消息队列黄金三剑客:RabbitMQ、RocketMQ和Kafka全面对决,谁是最佳选择?
1. 应用场景 RabbitMQ适用于易用性和灵活性要求较高的场景 异步任务处理:RabbitMQ提供可靠的消息传递机制,适用于处理异步任务,例如将耗时的任务放入消息队列中,然后由消费者异步处理,提高系统的响应速度和可伸缩性。 解耦系统
2024-03-20
RocketMQ消息传输模型 RocketMQ消息传输模型
主流的消息中间件的传输模型主要为点对点模型和发布订阅模型。 点对点模型 点对点模型也叫队列模型,具有如下特点: 消费匿名:消息上下游沟通的唯一的身份就是队列,下游消费者从队列获取消息无法申明独立身份。 一对一通信:基于消费匿名特点,下游消费
一文搞定RocketMQ面试 一文搞定RocketMQ面试
1. 消息顺序性问题 通过队列确保顺序性 单个消息队列顺序消费: RocketMQ 支持创建多个主题(Topic),每个主题可以有多个消息队列(Queue)。在单个消息队列的情况下,RocketMQ 能够保证消息的顺序性。这意味着,
如何让缓存失效?90%的人会回答错误 如何让缓存失效?90%的人会回答错误
写在前面这是一个常见的面试题,但是真正能完整回答出来的人少之又少。今天看了一篇文章,发现我之前的思路也是有问题的。作者记录一下,大家一起学习。 常见策略最常见的策略无非就两种:1.先删除缓存再更新db;2.先更新db再失效缓存。 注意,这里
2024-03-14