
MQ
用心去追梦
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
项目实战-linux下安装activeMQ
1.下载ActiveMQwget https://archive.apache.org/dist/activemq/5.16.3/apache-activemq-5.16.3-bin.tar.gz如果下载比较慢,可以进入官网下载,如下:http://activemq.apache.org/components/classic/download/然后将下载好的压缩包上传到linux环境下2.安装ActiveMQ2.安装ActiveMQ安装路径如下:/usr/software/activemq原创 2021-09-28 16:05:22 · 534 阅读 · 0 评论 -
如何基于netty实现mq 编程思路
消费者netty客户端与nettyServer端MQ服务器端保持长连接,MQ服务器端保存消费者连接。生产者netty客户端发送请求给nettyServer端MQ服务器端,MQ服务器端在将该消息内容发送给消费者。body:{“msg”:{“userId”:“123456”,“age”:“23”},“type”:“producer”,”topic”:””}生产者投递消息给MQ服务器端,MQ服务器端需要缓存该消息如果mq服务器端宕机之后,消息如何保证不丢失持久化机制如果mq接收到生产者投递消息原创 2021-09-08 17:50:57 · 653 阅读 · 0 评论 -
如何基于多线程队列简单实现mq
public class ThreadMQ { /** * Broker */ private static LinkedBlockingDeque<JSONObject> broker = new LinkedBlockingDeque<JSONObject>(); public static void main(String[] args) { // 创建生产者线程 Thread producer =原创 2021-09-08 17:46:05 · 325 阅读 · 0 评论 -
Mq消息中间件名词
Producer 生产者:投递消息到MQ服务器端;Consumer 消费者:从MQ服务器端获取消息处理业务逻辑;Broker MQ服务器端Topic 主题:分类业务逻辑发送短信主题、发送优惠券主题Queue 存放消息模型 队列 先进先出 后进后出原则 数组/链表Message 生产者投递消息报文:json...原创 2021-09-08 17:29:21 · 128 阅读 · 0 评论 -
Mq与多线程之间区别
MQ可以实现异步/解耦/流量削峰问题;多线程也可以实现异步,但是消耗到cpu资源,没有实现解耦。原创 2021-09-08 17:27:52 · 873 阅读 · 0 评论 -
Mq处理业务逻辑
先向数据库中插入一条会员数据,让后再向MQ中投递一个消息,MQ服务器端在将消息推送给消费者异步解耦处理发送短信和优惠券。原创 2021-09-08 17:26:13 · 232 阅读 · 0 评论 -
分布式消息技术 Kafka
Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。Kafka主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。高吞吐率。即使在非常廉价的商用机原创 2021-08-08 22:09:34 · 202 阅读 · 0 评论 -
Kafka、ActiveMQ、RabbitMQ、RocketMQ 区别以及高可用原理
为什么使用消息队列其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。解耦看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C原创 2021-08-08 21:47:57 · 199 阅读 · 0 评论 -
redis之mq实现发布订阅模式
https://github.com/smltq/spring-boot-demo/blob/master/mq-redis概述Redis不仅可作为缓存服务器,还可用作消息队列,本示例演示如何使用redis实现发布/订阅消息队列。在Redis中,发布者没有将消息发送给特定订阅者的程序。相反,发布的消息被描述为通道,而不知道(如果有的话)可能有哪些订阅者。订阅者表示对一个或多个主题感兴趣,只接收感兴趣的消息,而不知道(如果有的话)发布者是什么。发布者和订阅者的这种解耦可以实现更大的可伸缩性和更动态.原创 2021-08-02 11:22:57 · 391 阅读 · 0 评论 -
Redis 与 MQ 的区别
Redis是一个高性能的key-value数据库,它的出现很大程度补偿了memcached这类key-value存储的不足。虽然它是一个数据库系统,但本身支持MQ功能,完全可以当做一个轻量级的队列服务器使用。不过,Redis只是提供一个高性能的、原子操作内存键值队,具有高速访问能力,虽可用做消息队列的存储,但是不具备消息队列的任何功能和逻辑,要作做为消息队列来实现的话,功能和逻辑要通过上层应用自己实现。Redis从2.0版本开始支持发布/订阅指令,发布者调用redis的publish方法往特定的chan原创 2021-08-02 10:07:01 · 504 阅读 · 0 评论 -
简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响
面试大厂时,一旦简历上写了Kafka,几乎必然会被问到一个问题:说说acks参数对消息持久化的影响?这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。所以无论是为了面试还是实际项目使用,大家都值得看一下这篇文章对Kafka的acks参数的分析,以及背后的原理。(1)如何保证宕机的时候数据不丢失?如果要想理解这个acks参数的含义,首先就得搞明白kafka的高可用架构原理。比如下面的图里就是表明了对于每一个Topic,我们都可以设置他包含几个Partition,每.原创 2021-07-02 22:49:41 · 222 阅读 · 0 评论 -
RocketMQ简介
RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。RocketMQ优点1 RocketMQ去除对zk的依赖2 RocketMQ支持异步和同步两种方式刷磁盘3 RocketMQ单机支持的队列或者topic数量是5w4 RocketMQ支持消息重试5 RocketMQ支持严格按照一定的顺序发送消息6 RocketMQ支持定时发送消息7 RocketMQ支持根据消息ID来进行查询8 RocketMQ支持根据某个时间点进行原创 2021-06-29 17:27:12 · 944 阅读 · 0 评论 -
Windows和Linux下apache-artemis-2.10.0安装配置
window下安装配置一、官网下载http://activemq.apache.org/artemis/download.html二、百度网盘下载链接:https://pan.baidu.com/s/1KBMw0mAwaCfsZ1g6D42Zdw提取码:to0q三、下载完成后,解压到任意目录,我是解压到了D:\jenkins_cj四、以管理员运行cmd五、切换到D:\jenkins_cj\apache-artemis-2.10.0\bin目录下D:cd /D:\jenkins_cj\ap原创 2021-06-29 11:48:06 · 1157 阅读 · 0 评论 -
Kafka常见名词
Broker MQ服务器端 构建一个kafka服务 多个Broker 多个kafka集群。Producer: 生产者:向Broker中投递消息Consumer:消费者:从mq服务器端Broker 当中获取消息。Consumer Group: 消费者组 在同一个消费者组中是不能够消费同一个分区中消息的,在多个不同的消费者组中,多个不同消费者可以消费到同一条消息。Topic: 主题:存放消息的队列分类 根据业务来实现分类 比如邮件主题、短信主题、优惠券的主题,逻辑概念。Partition原创 2021-06-24 18:03:47 · 202 阅读 · 0 评论 -
Kafka消息队列模型
Kafka 的消息队列一般分为两种模式:点对点模式和发布订阅模式Kafka 是支持消费者群组的,也就是说 Kafka 中会有一个或者多个消费者,如果一个生产者生产的消息由一个消费者进行消费的话,那么这种模式就是点对点模式如果一个生产者或者多个生产者产生的消息能够被多个消费者同时消费的情况,这样的消息队列成为发布订阅模式的消息队列队列模型非常简单 topic主题:队列 就是消息的分类。...原创 2021-06-24 18:02:10 · 521 阅读 · 2 评论 -
Kafka设计原理
1.高吞吐、低延迟:kakfa 最大的特点就是收发消息非常快,kafka 每秒可以处理几十万条消息,它的最低延迟只有几毫秒;2.高伸缩性:每个主题(topic) 包含多个分区(partition),主题中的分区可以分布在不同的主机(broker)中;3.持久性、可靠性:Kafka 能够允许数据的持久化存储,消息被持久化到磁盘,并支持数据备份防止数据丢失,Kafka 底层的数据存储是基于 Zookeeper 存储的,Zookeeper 我们知道它的数据能够持久存储;4.容错性:允许集群中的节点失败,某个原创 2021-06-24 17:59:44 · 95 阅读 · 0 评论 -
Kafka使用场景
活动跟踪Kafka 可以用来跟踪用户行为,比如我们经常回去淘宝购物,你打开淘宝的那一刻,你的登陆信息,登陆次数都会作为消息传输到 Kafka ,当你浏览购物的时候,你的浏览信息,你的搜索指数,你的购物爱好都会作为一个个消息传递给 Kafka ,这样就可以生成报告,可以做智能推荐,购买喜好等;传递数据异步实现发送优惠券、短信操作度量指标Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;日志记录整合elk流式处理流式处理是有一个能够提.原创 2021-06-24 17:45:11 · 238 阅读 · 0 评论 -
为什么kafka性能非常高
使用到零拷贝技术 属于linux操作系统内核自带;顺序读写分区模型架构生产者投递消息 批量投递模型消息压缩原创 2021-06-24 17:38:32 · 156 阅读 · 0 评论 -
Kafka基本的概念
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是原创 2021-06-24 17:37:48 · 95 阅读 · 0 评论 -
基于netty实现mq
消费者netty客户端与nettyServer端MQ服务器端保持长连接,MQ服务器端保存消费者连接。生产者netty客户端发送请求给nettyServer端MQ服务器端,MQ服务器端在将该消息内容发送给消费者。body:{“msg”:{“userId”:“123456”,“age”:“23”},“type”:“producer”,”topic”:””}...原创 2021-06-24 16:29:20 · 716 阅读 · 0 评论 -
基于多线程队列简单实现mq
public class MayiktThreadMQ {/*** Broker*/private static LinkedBlockingDeque broker = new LinkedBlockingDeque();public static void main(String[] args) { // 创建生产者线程 Thread producer = new Thread(new Runnable() { @Override public原创 2021-06-23 15:44:38 · 271 阅读 · 0 评论 -
主流mq区别对比
原创 2021-06-23 15:42:41 · 226 阅读 · 0 评论 -
Mq消息中间件名词
Producer 生产者:投递消息到MQ服务器端;Consumer 消费者:从MQ服务器端获取消息处理业务逻辑;Broker MQ服务器端Topic 主题:分类业务逻辑发送短信主题、发送优惠券主题Queue 存放消息模型 队列 先进先出 后进后出原则 数组/链表Message 生产者投递消息报文:json...原创 2021-06-23 15:41:34 · 151 阅读 · 0 评论 -
Mq与多线程之间区别
MQ可以实现异步/解耦/流量削峰问题;多线程也可以实现异步,但是消耗到cpu资源,没有实现解耦。原创 2021-06-23 15:40:24 · 2096 阅读 · 0 评论 -
为什么需要使用mq
可以实现支撑高并发、异步解耦、流量削峰、降低耦合度。原创 2021-06-23 15:36:33 · 148 阅读 · 0 评论 -
Mq应用场景有那些
异步发送短信异步发送新人优惠券处理一些比较耗时的操作原创 2021-06-23 15:35:33 · 156 阅读 · 0 评论 -
传统的http请求存在那些缺点
1.Http请求基于请求与响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端有可能会导致我们服务器端处理请求堆积。2.Tomcat服务器处理每个请求都有自己独立的线程,如果超过最大线程数会将该请求缓存到队列中,如果请求堆积过多的情况下,有可能会导致tomcat服务器崩溃的问题。所以一般都会在nginx入口实现限流,整合服务保护框架。http请求处理业务逻辑如果比较耗时的情况下,容易造成客户端一直等待,阻塞等待过程中会导致客户端超时发生重试策略,有可能会引发幂等性问题。注意事项:原创 2021-06-23 15:34:34 · 546 阅读 · 0 评论 -
什么是消息中间件
消息中间件基于队列模型实现异步/同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合度。原创 2021-06-23 15:31:47 · 122 阅读 · 0 评论