![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息中间件
文章平均质量分 85
一撸向北
啊哈哈,咦嘿嘿,哦呵呵。
展开
-
activeMQ简介、安装
activeMQ是属于消息中间件的一种什么是消息中间件? 消息中间件是值利用高效可靠的消息传递机制进行平台无 关的数据交流,并基于数据通信来进行分布式系统的集成。 通过提供消息传递和消息排队模型,可以在分布式架构下 扩展进程之间的通信。消息中间件主要解决的就是分布式系统之间消息传递的问 题,它能够屏蔽各种平台以及协议之间的特性,实现应用 程序之间的协同。activeMQ是完全基于JMS规...原创 2018-07-29 23:31:54 · 410 阅读 · 0 评论 -
spring boot整合kafka+注解方式
spring boot自动配置方式整合spring boot具有许多自动化配置,对于kafka的自动化配置当然也包含在内,基于spring boot自动配置方式整合kafka,需要做以下步骤。引入kafka的pom依赖包<!-- https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka --&...原创 2018-12-19 00:19:18 · 22231 阅读 · 0 评论 -
kafka的工作原理分析(三) -- 高可用副本机制
一、副本机制简介在kafka中,topic是可以拆分为多个分区进行存储数据的,每个分区存储的数据都是不一样的。在kafka的集群环境下,为了避免出现单节点宕机导致的数据丢失迭代情况,kafka提供了一种分区数据的副本机制,保证在某个分区的读写节点宕机时,数据不会丢失。bin/kafka-topics.sh --create --zookeeper 192.168.0.15:2181 --r...原创 2018-08-16 18:08:50 · 3036 阅读 · 1 评论 -
kafkaAPI使用以及常用配置介绍
这篇文章主要介绍kafka中JAVA API的使用,这里面为了介绍配置,所以使用的是原生的javaapi操作,kafka可以与spring通过xml配置集成,或者更加简单通过spring boot引入starter,通过(AutoConfiguration)自动配置完成集成。但其实无论何种使用方式,其根本都是使用原生pai进行操作。使用maven依赖管理,引入kafka依赖 <...原创 2018-08-14 01:03:10 · 2799 阅读 · 0 评论 -
kafka安装与集群配置
kafka简介 Kafka 是一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用与大数据传输场景。使用Scala语言进行编写,提供了与JMS规范类似的特性,但是编写上并不是jms实现。kafka中只有topic的概念,没有队列。kafka的应用场景 kafka 具有高吞吐量、具有分区特性、副本机制及容错性的优点(kafka 每秒可以处理几十万消息),让 kafka 成为了...原创 2018-08-13 23:46:34 · 571 阅读 · 0 评论 -
kafka的工作原理分析(二)
一、消费者消费消息offset存储kafka的所有消息都是持久化存储在broker上的,消费者每次消费消息是如何知道获取哪一条呢?kafka提供一个专门的tipic存储每个consumer group的消费消息的offset,offset保证消息在分区内部有序,所以每次消费者都可以知道自己要从哪一条消息开始消费。__consumer_offsets_* 的一个topic ,把 offset 信...原创 2018-08-15 17:27:11 · 1834 阅读 · 0 评论 -
kafka的工作原理分析(一)
一、kafka中的topic与partition分区首先需要了解kafka中基本的组成部分。在 kafka 中, topic 是一个存储消息的逻辑概念,可以认为是一个消息集合。每条消息发送到 kafka 集群的消息都有一个topic。物理上来说,不同的 topic 的消息是分开存储的,每个 topic 可以有多个生产者向它发送消息,也可以有多个消费者去消费其中的消息;partition分区...原创 2018-08-15 17:26:21 · 18158 阅读 · 1 评论 -
activemq 应答ack机制与消费消息过程分析
主要关注有以下两点: 如何获取消息? 消息如何应答?首先是一个简单的总结图,这个图是根据源码得出的。ActiveMQMessageConsumer.receive 这个方法是同步阻塞获取消息的方法,尝试从源码分析其工作原理。 @Override public Message receive() throws JMSException { //检查连接 ...原创 2018-08-01 00:45:26 · 4810 阅读 · 0 评论 -
activeMQ持久化策略介绍与配置方式
activeMQ中对于投递模式设置为持久化的消息,broker接收到到消息之后,会先把消息存储到存储介质,然后再转发到消息的监听者,activeMQ提供以下几种消息持久化策略。KahaDB存储 KahaDB是默认的持久化策略,所有消息顺序添加到一个日志文件中,同时另外有一个索引文件记录指向这些日志的存储地址,还有一个事务日志用于消息回复操作。是一个专门针对消息持久化的解决方案,它对典型的消...原创 2018-07-31 21:56:29 · 8620 阅读 · 3 评论 -
activeMQ中的消息重试与死信队列
activeMQ会在什么情况下重新发送消息?activeMQ中的消息重发,指的是消息可以被broker重新分派给消费者,不一定的之前的消费者。重发消息之后,消费者可以重新消费。消息重发的情况有以下几种。1.事务会话中,当还未进行session.commit()时,进行session.rollback(),那么所有还没commit的消息都会进行重试。 2.使用客户端手动确认的方式时,还未进...原创 2018-08-05 10:29:52 · 9809 阅读 · 0 评论 -
activeMQ消息发送过程与原理浅析
这篇文章重点分析使用JMS向activeMQ中间件发送消息的过程分析。同步发送与异步发送 activeMQ发送消息客户端发送消息分为同步发送与异步发送同步发送,发送者发送一条消息会阻塞直到broker反馈一个确认消息给发送者,表示消息已经被broker处理。这个机 制提供了消息的安全性保障,由于是阻塞的操作,会影响到客户端消息发送的性能。异步发送,发送者不需要等待broker提供反馈...原创 2018-07-31 00:57:53 · 22272 阅读 · 0 评论 -
activeMQ特性与代码使用讲解
首先看一下在java程序里面是如何利用jmsAPI使用activeMQ的原创 2018-07-30 22:19:35 · 8490 阅读 · 0 评论 -
activemq预取与消息确认优化
prefecthSize 消费端预取消息数量,每次消费者获取到到消息数量小于等于prefecthSize,例如prefecthSize是10,每次消费者从broker拉取10条消息到本地内存。 在activemq中设置prefectSize如下。Destination destination=session.createQueue("gqueue?consumer.prefetchSize...原创 2018-08-04 00:19:47 · 2028 阅读 · 1 评论 -
redis集群+JedisCluster+lua脚本实现分布式锁
在这片文章中,使用Jedis clien进行lua脚本的相关操作,同时也使用一部分jedis提供的具有原子性set操作来完成值和过期时间的同时设置。使用lua脚本根本原因也是为了保证我们两个redis操作之间的原子性,使分布式锁更加可靠。JedisCluster相关代码配置在博主的实现例子中使用redis集群实现分布式锁,所以在开始分布式锁实现之前需要进行JedisCluster的相关配置。博...原创 2018-12-24 16:42:51 · 8920 阅读 · 3 评论