MQ全称为Message Queue,是一种应用程序对应用程序的通信方法,应用程序通过读写出入消息队列的数据来通信,从而无需专用连接来链接他们(如RPC)。 消息队列是典型的生产者和消费者模型,生产者和消费者只关心消息的发送和接受,没有业务逻辑的侵入,实现了生产者和消费者的解耦。 AMQP:一个提供 ...
分类:
其他好文 时间:
2020-04-23 22:56:09
阅读次数:
72
消息队列1、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ都有什么优点和缺点?2、如何保证消息队列的高可用?3、如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?4、如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?5、如何保证消息的顺序性?6、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几
分类:
其他好文 时间:
2020-04-21 18:45:19
阅读次数:
60
参考文档:https://www.cnblogs.com/ericli-ericli/p/5917018.html MQ的使用场景大概包括解耦,提高峰值处理能力,送达和排序保证,缓冲等。 MQ概述 消息队列技术是分布式应用间交换信息的一种技术。 消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应 ...
分类:
其他好文 时间:
2020-04-21 09:45:03
阅读次数:
77
@[toc]一、信号量的概念信号量(信号灯)本质上是一个计数器,用于协调多个进程(包括但不限于父子进程)对共享数据对象的读/写。它不以传送数据为目的,主要是用来保护共享资源(信号量、消息队列、socket连接等),保证共享资源在一个时刻只有一个进程独享。信号量是一个特殊的变量,只允许进程对它进行等待信号和发送信号操作。最简单的信号量是取值0和1的二元信号量,这是信号量最常见的形式。通用信号量(可以
分类:
系统相关 时间:
2020-04-20 16:14:27
阅读次数:
93
前言 这一章节我们将讲解高并发解决方案中的应用拆分思路,也可以称之为系统拆分。单个服务器再优化,它的处理都是有上限的,因此我们采用扩容、缓存、消息队列等对程序进行优化,这些手段都可行,但还不是全部。随着项目的需求要求越来越多,应用自然会跟着越来越大,因此呢,架构师设计出了特别容易扩展的方案,从整体将 ...
分类:
其他好文 时间:
2020-04-19 18:21:17
阅读次数:
72
消息队列 每当想到消息队列:我们都会想到RabbitMQ,ActiveMQ,RocketMQ,等等一些专业的消息中间件。但是如果我们做的事情比较简单,只有一个消息队列,要使用专业的消息中间件是非常麻烦的,因此我们可以使用Redis做消息队列。 如果对消息的可靠性没有较高的要求的话,那么就可以使用Re ...
分类:
其他好文 时间:
2020-04-19 16:19:09
阅读次数:
74
自定义windows消息 #define MY_MSG (WM_USER+1) //为了防止用户自定义消息ID与系统消息ID冲突,用户只能定义WM_USER(0x0400)以后的ID使用 PostThreadMessage 将一个队列消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回 ...
分类:
编程语言 时间:
2020-04-19 10:41:45
阅读次数:
70
简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。支持主流的操作系统,多种开发语言支持。 什么是MQ 消 ...
分类:
其他好文 时间:
2020-04-18 13:35:28
阅读次数:
58
秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。 从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是 ...
分类:
其他好文 时间:
2020-04-18 09:48:00
阅读次数:
92