前言写这篇文章的起因是由于之前的一篇关于Kafka异常消费,当时为了解决问题不得不使用临时的方案。总结起来归根结底还是对Kafka不熟悉导致的,加上平时工作的需要,之后就花些时间看了Kafka相关的资料。何时使用MQ谈到Kafka就不得不提到MQ,是属于消息队列的一种。作为一种基础中间件在互联网 ...
本文主要讲解 MQ 的通用知识,让大家先弄明白:如果让你来设计一个 MQ,该如何下手 需要考虑哪些问题 又有哪些技术挑战 有了这个基础后,我相信后面几篇文章再讲 Kafka 和 RocketMQ 这两种具体的消息中间件时,大家能很快地抓住主脉络,同时分辨出它们各自的特点。 对于 MQ 来说,不管是 RocketMQ Kafka 还是其他消息队列,它们的本质都是:一发一存一消费。下面我们以这个本质 ...
2021-09-08 19:00 0 988 推荐指数:
前言写这篇文章的起因是由于之前的一篇关于Kafka异常消费,当时为了解决问题不得不使用临时的方案。总结起来归根结底还是对Kafka不熟悉导致的,加上平时工作的需要,之后就花些时间看了Kafka相关的资料。何时使用MQ谈到Kafka就不得不提到MQ,是属于消息队列的一种。作为一种基础中间件在互联网 ...
异步处理: 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种 1,串行的方式 2,并行的方式 串行方式:将注册信息写入数据库后,发送注册邮件,在发送注册短信,以上三个任务全部完成之后才返回给客户端。这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这总做法 ...
volatile是java语言中的一个关键字,常用于并发编程,有两个重要的特点:具有可见性,java虚拟机实现会为其满足Happens before原则;不具备原子性.用法是修饰变量,如:volatile int i. volatile原理 介绍其可见性先从cpu,cpu缓存和内存的关系入手 ...
问题的引出: 传统的OOP程序经常表现出一些不自然的现象,核心业务中总掺杂着一些不相关联的特殊业务,如日志记录,权限验证,事务控制,性能检测,错误信息检测等等,这些特殊业务可以说和核心业务没有根本上 ...
Mycat原理 Mycat的原理并不复杂,复杂的是代码,如果代码也不复杂,那么早就成为一个传说了。Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实 ...
什么是MQ MQ(Message Queue),为消息队列,又叫消息中间件,是类似于数据库一样的应用,需要单独去部署。 消息 – 是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串; 也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。 队列 ...
,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景以下介绍消息队 ...
,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景以下 ...