消息中间件
诡异的笑容
8 年软件开发经验,其中 2 年的项目开发负责人经验,擅长 java web 平台的开发,多年云计 算、大数据领域面向教育、公安类 SaaS 应用开发背景;具有较强的业务分析能力,能够快速理解 和分析复杂的业务逻辑;有较强的沟通协作能力,有异地开发经历;有较强的学习能力,且愿意 尝试新技术。
展开
-
rabbitmq高可用
rabbitmq高可用2020年12月13日19:30rabbit集群+ 级联 + 镜像队列1、多机多节点集群搭建RabbitMQ集群中的所有节点都会备份所有的元数据信息,包括以下内容:(1)队列元数据:队列的名称及属性(2)交换器:交换器的名称及属性(3)绑定关系元数据:交换器与队列或者交换器与交换器之间的绑定关系(4)vhost元数据:为vhost内的队列、交换器和绑定提供命名空间以及安全属性但是不会备份消息(镜像队列可以解决此问题)!集群中节点...原创 2020-12-27 15:07:43 · 483 阅读 · 4 评论 -
rabbitMQ级联消费方案验证
参考资料:https://www.rabbitmq.com/federation.html1、开启federation2、配置federation,添加上游mq节点(1)页面方式:(2)命令行方式:rabbitmqctl set_parameter federation-upstream my-upstream \'{"uri":"amqp://server-name","expires":3600000}'(3)Http方式:PUT /api/par..原创 2020-11-29 12:46:49 · 532 阅读 · 0 评论 -
java后端工程师高频面试考点之消息中间件
如何保证消息不重复 1、消费端处理消息的业务逻辑保持幂等性或者借助redis等其他产品进行去重处理。更加通用的方法是,给你的数据增加一个版本号属性,每次更数据前,比较当前数据的版本号是否和消息中的版本号一致,如果不一致就拒绝更新数据,更新数据的同时 将版本号+1,一样可以实现幂等更新 2、保证每条消息都有唯一编号且保证消息处理成功与去重表的日志同时出现。 https://blog.csdn.net/sinat_27143551/article/de...原创 2020-06-18 09:46:25 · 242 阅读 · 0 评论 -
消息中间件如何保证消息的顺序性
我举个例子,我们以前做过一个 mysqlbinlog同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。你在 mysql 里增删改一条数据,对应出来了增删改 3 ...转载 2019-12-07 18:36:38 · 783 阅读 · 0 评论 -
RabbitMQ学习笔记
0、消息中间件的作用(1)解耦(2)冗余(消息冗余存储)(3)扩展性(4)削峰(4)可恢复性(5)缓冲(6)异步(7)顺序保证(RabbitMQ不支持)1、RabbitMQ交换器类型:(1)fanout :消息放到与交换机绑定的队列中。(2)direct:消息发送到bindingKey和routingKey完全匹配的队列中(3)topic:消息发送到b...原创 2019-03-06 10:47:03 · 271 阅读 · 0 评论 -
Kafka使用场景
关于消息队列的使用一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景...转载 2019-06-26 16:50:20 · 219 阅读 · 0 评论 -
Kafka核心知识点
原文链接:https://www.jianshu.com/p/d3e963ff8b70简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际...转载 2019-06-27 14:57:27 · 840 阅读 · 0 评论 -
Kafka学习笔记
代码参照官方提供的demo:https://github.com/spring-projects/spring-kafka来学习。理论知识参考:https://www.orchome.com/303博客1. 发送方法send()方法是异步的,添加消息到缓冲区等待发送,并立即返回。生产者将单个的消息批量在一起发送来提高效率。2. ack机制生产者需要leader确认请求完成...原创 2019-06-27 11:35:22 · 108 阅读 · 0 评论 -
使用kafka传递大文件时的配置
Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议: 最好的方法是不直接传送这些大的数据。如果有共享存储,如NAS, HDFS, S3等,可以把这些大的文件存放...转载 2019-06-27 11:41:37 · 7125 阅读 · 0 评论