分类目录归档:middleware

rabbitmq


RabbitMQ简介

官网: https://www.rabbitmq.com/

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。

AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、...

Read more

kafka


环境介绍:

http://kafka.apache.org/

Kafka是一种高吞吐量分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据

软件版本:

  • Kafka 2.12

  • Zookeeper 3.4.13

Zookeeper+Kafka下载地址:

# wget http://mirrors.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

# wget http://mirrors.bit.edu.cn/apache/kafka/1.1.0/kafka_2.12-1....

Read more

zookeeper


Java安装

zookeeper依赖于Java环境,所以先自行安装JDK

yum install  java-1.8.0-openjdk java-1.8.0-openjdk-devel

或者二进制包安装。

zookeeper简介

参考: https://www.runoob.com/w3cnote/zookeeper-tutorial.html

ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册

ZooKeeper 的架构通过冗余服务实现高可用性。

Zookeeper 的设计目标是将那些复杂且容易出错的分...

Read more

RocketMQ


MQ概述

MQ(Message Queue)是典型的生产者消费者模型,没有业务逻辑侵入,实现生产者和消费者的解耦。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一

image-20221103123246298

AMQP和JMS

MQ是消息通信的模型,并发具体实现。现在实现MQ的有两种主流方式:AMQP、JMS。

image-20221102121800134

image-20221102121747645

两者的区别和联系:

  • JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式
  • JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的。
  • JMS规定了两种消息模型;而AMQP的消息模型更加丰富

消息队列实现

    ...

Read more