topic

Rabbit MQ实战【topic交换器】

混江龙づ霸主 提交于 2020-02-04 01:12:24
spring boot版本:2.1.10.RELEASE 本文涉及两个项目 rabbitmq-topic-provider 和 rabbitmq-topic-consumer ,相关依赖和配置相同。 相关依赖 < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - amqp < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < / dependency > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - test < / artifactId > < scope > test < / scope > < / dependency > 相关配置 #rabbitmq配置

分布式消息队列Kafka

我只是一个虾纸丫 提交于 2020-02-03 12:16:37
一.Kafka架构 producer:生产馒头 consumer:吃馒头 broker:篮子来装馒头 topic:馒头的标签 馒头A,馒头B 二.安装zookeeper 配置环境变量 zoo.cfg 配置tmp路径(自己定义位置) 默认端口2181 启动:./zkServer.sh start 三.安装Kafka 配置环境变量 server.properties 配置: broker.id(要唯一,一个Kafka相当于一个篮子) 接听端口默认 9092 log.dirs(配置tmp路径,自己定义位置) hostname=hadoop000 zookeeper.connection=hadoop000:2181 启动:kafka-server-start.sh $KAFKA_HOME/config/server.properties 创建topic:kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic test 查看topic:kafka-topics.sh --list --zookeeper hadoop000:2181 发送消息:kafka-console-producer.sh --broker-list hadoop000:9092

20200202 ActiveMQ 3. Java编码实现ActiveMQ通讯

浪子不回头ぞ 提交于 2020-02-02 09:53:50
ActiveMQ 3. Java编码实现ActiveMQ通讯 3.1. 队列(Queue) 目的地(Destination)分为: 点对点的队列(Queue) 一对多的主题(Topic) 3.1.1. 上手代码 pom.xml <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.9</version> </dependency> <dependency> <groupId>org.apache.xbean</groupId> <artifactId>xbean-spring</artifactId> <version>3.16</version> </dependency> 生产者代码 public class JmsProducer { public static final String ACTIVEMQ_URL = "tcp://192.168.181.128:61616/"; public static final String QUEUE_NAME = "queue01"; public static void main(String[] args) throws JMSException { // 1. 创建连接工厂

20200202 ActiveMQ 4. JMS规范和落地产品

孤者浪人 提交于 2020-02-02 09:53:40
ActiveMQ 4. JMS规范和落地产品 4.1. JMS是什么 4.1.1. JavaEE JavaEE是一套使用Java进行企业级应用开发的大家一致遵循的13个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。 JDBC(Java Database)数据库连接 JNDI(Java Naming and Directory Interfaces)Java的命名和目录接口 EJB(Enterprise JavaBean) RMI(Remote Method Invoke)远程方法调用 Java IDL(Interface Description Language)/ CORBA(Common Object Broker Architecture)接口定义语言/公用对象请求代理程序体系结构 JSP(Java Server Pages) Servlet XML(Extensible Markup Language)可扩展标记语言 JMS(Java Message Service)Java消息服务 JTA(Java Transaction API)Java事务API JTS(Java Transaction Service)Java事务服务 JavaMail JAF(JavaBean Activation Framework) 4.1

kafka的常用命令

一笑奈何 提交于 2020-02-01 15:08:25
在此目录下运行命令 /opt/kafka_2.12-2.2.0/ 启动内置的zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties 启动kafka服务 bin/kafka-server-start.sh config/server.properties 创建topic话题 bin/kafka-topics.sh --create --topic news(话题名) --bootstrap-server 192.168.79.137(Linux ip地址):9092 -partitions(分区) 3 -replication-factor 1 查看所有topic话题 bin/kafka-topics.sh --list --bootstrap-server 192.168.79.137:9092 查看指定话题的详情 bin/kafka-topics.sh --bootstrap-server 192.168.79.137:9092 --describe --topic news 创建生产者 bin/kafka-console-producer.sh --broker-list 192.168.237.129:9092 --topic news 创建消费者 bin/kafka-console

springboot集成rabbitmq

余生颓废 提交于 2020-01-30 19:03:18
RabbitMQ简介 RabbitMQ使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现(AMQP的主要特征是面向消息、队列、路由、可靠性、安全)。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现很出色。 相关概念 消息队列通常有三个概念:发送消息(生产者)、队列、接收消息(消费者)。RabbitMQ在这个基本概念之上,多做了一层抽象,在发送消息和队列之间,加入了交换机。这样发送消息和队列就没有直接关系,而是通过交换机来做转发,交换机会根据分发策略把消息转给队列。 RabbitMQ比较重要的几个概念: 虚拟主机:RabbitMQ支持权限控制,但是最小控制粒度为虚拟主机。一个虚拟主机可以包含多个交换机、队列、绑定。 交换机:RabbitMQ分发器,根据不同的策略将消息分发到相关的队列。 队列:缓存消息的容器。 绑定:设置交换机与队列的关系。 交换机(Exchange) 交换机的主要作用是接收相应的消息并且绑定到指定的队列.交换机有四种类型,分别为Direct,topic,headers,Fanout.   Direct是RabbitMQ默认的交换机模式,也是最简单的模式.即创建消息队列的时候

ROS常用命令汇总

流过昼夜 提交于 2020-01-30 01:14:04
原文地址:: https://www.cnblogs.com/saneri/p/10162629.html ROS系统也是通过命令行操作,总结了下平时工作中使用的命令工具,以后使用多会陆续添加. 查看ROS_PACKAGE_PATH环境变量 $ echo $ROS_PACKAGE_PATH /home/saneri/catkin_ws/src:/opt/ros/kinetic/share roscore 命令是你在运行所有ROS程序前首先要运行的命令。 $ roscore rosrun 命令 rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)。 用法: $ rosrun [package_name] [node_name] 现在我们可以运行turtlesim包中的 turtlesim_node节点,你会看到打开了一个 turtlesim 窗口: $ rosrun turtlesim turtlesim_node rosls 命令 rosls是rosbash命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执行ls命令(罗列目录). 用法: # rosls [ 本地包名称[/子目录] ] 示例: $ rosls beginner_tutorials/ CMakeLists.txt include package.xml src roscd 命令

Kafka

﹥>﹥吖頭↗ 提交于 2020-01-29 16:21:59
Kafka架构图 kafka名词解释 在一套kafka架构中有多个Producer,多个Broker,多个Consumer,每个Producer可以对应多个Topic,每个Consumer只能对应一个ConsumerGroup。 整个Kafka架构对应一个ZK集群,通过ZK管理集群配置,选举Leader,以及在consumer group发生变化时进行rebalance。 名称 解释 Broker 消息中间件处理节点,一个Kafka节点就是一个broker,一个或者多个Broker可以组成一个Kafka集群消息中间件处理节点,一个Kafka节点就是一个broker,一个或者多个Broker可以组成一个Kafka集群 Topic 主题,Kafka根据topic对消息进行归类,发布到Kafka集群的每条消息都需要指定一个topic Producer 消息生产者,向Broker发送消息的客户端 Consumer 消息消费者,从Broker读取消息的客户端 ConsumerGroup 每个Consumer属于一个特定的Consumer Group,一条消息可以发送到多个不同的Consumer Group,但是一个Consumer Group中只能有一个Consumer能够消费该消息 Partition 物理上的概念,一个topic可以分为多个partition

RocketMQ 消息队列单机部署及使用

你。 提交于 2020-01-29 09:02:03
转载请注明来源: http://blog.csdn.net/loongshawn/article/details/51086876 相关文章: 《RocketMQ 消息队列单机部署及使用》 《 java编写简单消息队列。实现高德坐标变形服务》 0 RocketMQ简单介绍 0.1 介绍 RocketMQ是一个消息中间件。 消息中间件中有两个角色:消息生产者和消息消费者。RocketMQ里相同有这两个概念。消息生产者负责创建消息并发送到RocketMQ服务器。RocketMQ服务器会将消息持久化到磁盘,消息消费者从RocketMQ服务器拉取消息并提交给应用消费。 0.2 特点 RocketMQ是一款分布式、队列模型的消息中间件,具有下面特点: 支持严格的消息顺序 支持Topic与Queue两种模式 亿级消息堆积能力 比較友好的分布式特性 同一时候支持Push与Pull方式消费消息 历经多次天猫双十一海量消息考验 0.3 部署结构 上图所看到的为RocketMQ的部署结构,图中Meta字样为RocketMQ早期代号。 1 RocketMQ 消息队列单机部署 1.1 系统配置环境 主机:Linux 内存:8G 硬盘:250G CPU:4核 1.2 须要用到的软件包和文档 眼下在Github上可下载最新的安装包alibaba-rocketmq-3.2.6.tar 下载地址: https:/

RabbitMQ 队列类型

与世无争的帅哥 提交于 2020-01-29 06:13:43
RabbitMQ 基于AMQP协议, 默认的交换机类型direct,direct 直接转发,fanout广播模式,topic带通配符匹配的广播模式 direct 这种发送消息的模式,是最简单也是rabbitmq默认的一种,直接创建队列向其发送消息,等待监听者消费 // 直接注册一个常规队列,向这个队列发送消息 @Component public class SendMessage { @Bean public Queue getQueues() { return new Queue(RabbitConstant.HELLO_QUEUE); } @Autowired private AmqpTemplate amqpTemplate; public void send() { try { User user = new User(); user.setAddress("地址"); user.setAge("1"); user.setName("mq"); amqpTemplate.convertAndSend(RabbitConstant.HELLO_QUEUE, JSON.toJSONString(user)); } catch (Exception e) { e.getStackTrace(); } } } 这种队列是点对点的发送与接收,一个消息只能被所有监听者中的一个消费 //