
消息队列
大神,快来碗里
专注于Java相关技术
展开
-
Rocketmq4.4.0单机安装
1.下载官网下载地址,可以选择需要的版本,下载的是rocketmq4.4.0 ,上传到服务器,解压2. 启动rocketmq进入bin目录修改runserver.sh文件JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"同理修...原创 2019-01-26 09:43:29 · 14751 阅读 · 0 评论 -
MQ消息队列(7) 从RocketMQ看长轮询(Long Polling)
前言消息队列一般在消费端都会提供push和pull两种模式,RocketMQ同样实现了这两种模式,分别提供了两个实现类:DefaultMQPushConsumer和DefaultMQPullConsumer;两种方式各有优势:push模式:推送模式,即服务端有数据之后立马推送消息给客户端,需要客户端和服务器建立长连接,实时性很高,对客户端来说也简单,接收处理消息即可;缺点就是服务端不知道客户端...原创 2019-05-03 09:41:13 · 12803 阅读 · 1 评论 -
简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响
简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响目录(0)写在前面(1)如何保证宕机时数据不丢失?(2)多副本冗余的高可用机制(3)多副本之间数据如何同步?(4)ISR到底指的什么东西?(5)acks参数的含义?(6)最后的思考个人公众号:石杉的架构笔记(ID:shishan100)(0)写在前面面试大厂时,一旦简历上写了Kafka,几乎必然会被问到...原创 2019-05-03 20:00:56 · 20877 阅读 · 0 评论 -
MQ消息队列(9) 消息中间件如何实现每秒几十万的高并发写入
目录1、页缓存技术 + 磁盘顺序写2、零拷贝技术3、最后的总结“ 这篇文章来聊一下Kafka的一些架构设计原理,这也是互联网公司面试时非常高频的技术考点。Kafka是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。那么Kafka到底是如何做到这么高的吞吐量和性能的呢?这篇文章我们来一点一点说一...原创 2019-05-03 20:07:23 · 23395 阅读 · 0 评论 -
精选(17) 面试官:说说Mysql数据库分库分表,并且会有哪些问题
之前一篇文章已经谈到了数据库集群之主从集群也就是读写分离,也提到了读写分离其实只是分担了访问的压力,但是存储的压力没有解决。存储的压力说白了就是随着系统的演化,需求的增加,可能表的数量会逐渐增多,比如一段时间上个新功能就得加个表。并且随着用户量的增多类似用户表的行数肯定会增多,订单表的数据肯定会随着时间而增多,当这种数据量达到千万甚至上亿的时候,读写分离就已经满足不了,读写性能下降严重。也就是...原创 2019-05-03 21:25:23 · 18053 阅读 · 0 评论 -
MQ消息队列(10) 分布式消息队列:如何保证消息的顺序性
来源:https://juejin.im/post/5c9b1c155188251d806727b2数据的顺序性(1)rabbitmq保证数据的顺序性如果存在多个消费者,那么就让每个消费者对应一个queue,然后把要发送 的数据全都放到一个queue,这样就能保证所有的数据只到达一个消费者从而保证每个数据到达数据库都是顺序的。rabbitmq:拆分多个queue,每个queue一个c...原创 2019-05-04 12:04:29 · 13584 阅读 · 1 评论 -
MQ消息队列(11) 分布式消息队列:如何保证消息不被重复消费(消息队列消费的幂等性)
怎么保证消息不被重复消费?(消息队列消费的幂等性)先大概说一说可能会有哪些重复消费的问题。首先就是比如rabbitmq、rocketmq、kafka,都有可能会出现消费重复消费的问题,正常。因为这问题通常不是mq自己保证的,是给你保证的。然后我们挑一个kafka来举个例子,说说怎么重复消费吧。kafka实际上有个offset的概念,就是每个消息写进去,都有一个offset,代表他的序号,然后c...原创 2019-05-04 12:05:48 · 12091 阅读 · 0 评论 -
精选(37) Redis和mysql数据怎么保持数据一致的?
来源:https://juejin.im/post/5c96fb795188252d5f0fdff2需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有...原创 2019-05-04 12:08:55 · 10887 阅读 · 0 评论 -
MQ消息队列(6) 解决秒杀等业务的削峰场景
流量削峰的由来主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀, 短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。这样真实能购买到该件商品的用户也只有几百人左右, 但是从业务上来说,秒杀活动是希望更多的人来参与,也就是...原创 2019-05-02 17:29:23 · 14418 阅读 · 0 评论 -
MQ消息队列(5) 详解消息队列的选型与业务应用
今天我们一起来探讨如何正确的选择消息队列,包含如下3个章节:最全的消息队列有哪些。消息队列的优劣势比较。以及什么样的业务场景选择哪类消息队列?最全MQ消息队列有哪些那么目前在业界有哪些比较知名的消息引擎呢?如下图所示这里面几乎完全列举了当下比较知名的消息引擎,包括:ZeroMQ推特的DistributedlogActiveMQ:Apache旗下的老牌消息引擎Rabbit...原创 2019-05-02 17:24:50 · 10741 阅读 · 0 评论 -
MQ消息队列(4) 详解RPC远程调用和消息队列MQ的区别
RPC和MQ在分布式场景占据了非常重要的地位,具体有什么区别呢?RPCRPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。RPC框架知名度较高的有Thrift(FB的)、dubbo(阿里的)。RPC的一般需要经历4个步骤:1、建立通信首先要解决通讯的问题:即A机器想要调用B机器,首先得建立起通信连接,主要是通...原创 2019-05-02 17:19:41 · 11119 阅读 · 0 评论 -
Springboot2(42)集成activemq
源码地址springboot2教程系列activemq安装引入依赖<!-- activemq自动配置依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq...原创 2019-04-15 18:29:58 · 24456 阅读 · 0 评论 -
linux(centos7)下安装activemq
一. 官网下载activemq的压缩包官网路径: http://activemq.apache.org/download.html注: activemq安装需要安装jdk, 可以参考linux下安装jdk进行安装。二. 安装步骤上传安装包创建/usr/local/activemq,然后将安装包传到服务器解压tar -zxvf apache-activemq-5.15.9-bin.ta...原创 2019-04-15 09:01:44 · 14101 阅读 · 0 评论 -
MQ消息队列(1)12点核心原理总结
消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。RabbitMQ、RocketMQ、ActiveMQ、Kafka等消息队列,都有一些基本原理、术语、机制等,通过本篇总结分享,希望大家在使用消息队列技术的时候能够快速理解。1. 消息生产者、消息者、队列消息生产者Producer:发送消息到消...原创 2019-05-02 16:46:56 · 10396 阅读 · 0 评论 -
MQ消息队列(0) 如何从0到1设计一个MQ消息队列
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一。如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要。不仅知其然还要知其所以然,这才是一个优秀的工程师需要具备的特征。今天,我们就一起来探讨设计一个消息队列背后的技术。消息队列整体设计思路主要是设计一个整体的消息被消费的数据流。这里会涉及到:消息生产Producer、Broker(消息服务端)、消息...原创 2019-05-02 16:51:33 · 10616 阅读 · 0 评论 -
MQ消息队列(2) 消息中间件介绍、典型使用场景、以及使用原则
大型分布式架构里一定会涉及到消息中间件,今天先谈谈消息中间件。常用的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。一、kafka1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信3、量大对数据不是百分之百保证的,会有数据丢失,不是百分百送达(amq和r...原创 2019-05-02 16:53:20 · 10372 阅读 · 0 评论 -
分布式消息Kafka的原理、基础架构、使用场景
一:Kafka简介Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。二:Kafka基本架构它的架构包括以下组件:1...原创 2019-05-02 16:55:46 · 10582 阅读 · 0 评论 -
MQ消息队列(3) 主流的消息队列MQ比较,详解MQ的4类应用场景
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。本文主要探讨主流的消息队列MQ比较,特征,以及典型使用场景。目前主流的MQ产品1...原创 2019-05-02 16:57:07 · 10785 阅读 · 0 评论 -
详解RocketMQ的架构设计、关键特性、与应用场景
本文内容大纲:RocketMQ的简介与演进RocketMQ的架构设计RocketMQ的关键特性RocketMQ的应用场景RocketMQ的简介RocketMQ是一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。Rocket...原创 2019-05-02 17:15:43 · 10353 阅读 · 1 评论 -
说说 MQ 之 Kafka(超详细)
原文:http://valleylord.github.io/post/201607-mq-kafka/现代的互联网分布式系统,只要稍微大一些,就一定逃不开3类中间件:远程调用(RPC)框架、消息队列、数据库访问中间件。Kafka 是消息队列中间件的代表产品,用 Scala 语言实现,本文采用的是 Kafka_2.11 0.10.0.0 版本进行实验。基本概念首先,Kafka 中有一些基...原创 2019-05-04 17:10:35 · 18682 阅读 · 0 评论