其实回答这类问题,说白了,起码不求你看过那技术的源码,起码你大概知道那个技术的基本原理,核心组成部分,基本架构构成,然后参照一些开源的技术把一个系统设计出来的思路说一下就好 比如说这个消息队列系统,我们来从以下几个角度来考虑一下 (1)首先这个mq得支持可伸缩性吧,就是需要的时候快速扩容,就可以增加 ...
分类:
其他好文 时间:
2019-05-22 22:21:37
阅读次数:
120
1.为什么使用消息队列? (1)解耦:可以在多个系统之间进行解耦,将原本通过网络之间的调用的方式改为使用MQ进行消息的异步通讯,只要该操作不是需要同步的,就可以改为使用MQ进行不同系统之间的联系,这样项目之间不会存在耦合,系统之间不会产生太大的影响,就算一个系统挂了,也只是消息挤压在MQ里面没人进行 ...
分类:
其他好文 时间:
2019-05-22 22:17:41
阅读次数:
156
1.mq原则 数据不能多,也不能少,不能多是说消息不能重复消费,这个我们上一节已解决;不能少,就是说不能丢失数据。如果mq传递的是非常核心的消息,支撑核心的业务,那么这种场景是一定不能丢失数据的。 2.丢失数据场景 丢数据一般分为两种,一种是mq把消息丢了,一种就是消费时将消息丢了。下面从rabbi ...
分类:
其他好文 时间:
2019-05-22 22:09:42
阅读次数:
111
转自:http://www.cnblogs.com/linjiqin/p/5720865.html 一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitM ...
分类:
其他好文 时间:
2019-05-21 15:58:08
阅读次数:
179
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。 应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。 消息传递:指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用 ...
分类:
其他好文 时间:
2019-05-20 22:41:47
阅读次数:
153
1、背景引入:很多同学看不懂kafka参数 今天给大家聊一个很有意思的话题,大家知道很多公司都会基于Kafka作为MQ来开发一些复杂的大型系统。 而在使用Kafka的客户端编写代码与服务器交互的时候,是需要对客户端设置很多的参数的。 所以我就见过很多年轻的同学,可能刚刚加入团队,对Kafka这个技术 ...
分类:
其他好文 时间:
2019-05-20 17:15:39
阅读次数:
103
一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景以下介绍消息队列在 ...
分类:
其他好文 时间:
2019-05-19 23:31:29
阅读次数:
260
package com.mq; import java.util.Arrays; import java.util.HashMap; import java.util.Map; public enum ChannelEnum { WEBB("15","威客巴巴"), CMM("19","菜嬷嬷");... ...
分类:
其他好文 时间:
2019-05-14 19:23:20
阅读次数:
209
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链 ...
分类:
其他好文 时间:
2019-05-11 00:04:41
阅读次数:
197
背景 电商中有这样的一个场景: 1. 下单成功之后送积分的操作,我们使用mq来实现 2. 下单成功之后,投递一条消息到mq,积分系统消费消息,给用户增加积分 我们主要讨论一下,下单及投递消息到mq的操作,如何实现?每种方式优缺点? 方式一 step1:start transaction step2: ...
分类:
其他好文 时间:
2019-05-05 15:59:08
阅读次数:
142