topic

RocketMQ各组件介绍

三世轮回 提交于 2019-11-28 05:47:16
Rocket 架构主要分为4部分: Producer 消息发布者,支持分布式集群部署。Produer 通过 MQ 负载均衡模块选择相应 Broker 中的 queue 进行消息投递,投递过程支持快速失败并且低延迟 Consumer 消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播方式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求 Nameserver NameServer:NameServer是一个非常简单的Topic路由注册中心,其角色类似Dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;路由信息管理,每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息

基于 PostgreSQL 的 EMQ X Auth & ACL

一曲冷凌霜 提交于 2019-11-28 05:40:32
在阅读本教程之前,假定你已经了解 MQTT 、 MQTT 5 以及 EMQ X 的简单知识。 emqx-auth-pgsql 它通过检查每个终端接入的 username 和 password 是否与用户指定 的 PostgreSQL 数据库中存储的信息一致来实现对终端的访问控制。其功能逻辑如下: 本文假设 PostgreSQL 已经安装在您的机器上,并且您可以连接到 PostgreSQL 服务器。 插件配置项说明 配置项 说明 auth.pgsql.server 配置需要连接的 PostgreSQL Server 的 host 与 port,格式为:host[:port],省略后面的 port 时表示使用默认的 5432 端口 auth.pgsql.username 用于登录 PostgreSQL 的用户名 auth.pgsql.password 用于登录 PostgreSQL 的密码 auth.pgsql.database 配置要访问的数据库 auth.pgsql.ssl 配置是否使用 SSL 连接数据库,默认为否 auth.pgsql.auth_query 配置从数据库中查找用户名对应密码的 SQL 语句 auth.pgsql.password_hash 表示存储在数据表中的 encrypted password 使用的加密算法和加盐方式 auth.pgsql.super

Linux——配置Kafka

雨燕双飞 提交于 2019-11-28 05:38:28
前言 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。 Kafka官网 | http://kafka.apache.org/ 步骤 下载Kafka 进入Kafka的官网选择自己需要的版本下载即可,我这里选择的是 2.12 版本。 # wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz 创建安装目录 我一般创建于 usr/local 的目录下 # mkdir /usr/local/kafka 解压到安装目录下 将下载好的 kafka 解压到刚才创建的目录下 # tar -zxvf kafka_2.12-2.2.0.tgz -C /usr/local/kafka/ 修改配置文件 编辑

ActiveMQ基础使用

风流意气都作罢 提交于 2019-11-28 05:33:44
概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能。 特性 遵循JMS规范:ActiveMQ的各种特性是JMS1.1规范的实现。它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等。依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特性都是有效的。(JMS可查看前篇博文(ActiveMQ基础教程(一)JMS概述 https://www.jianshu.com/p/639627f88a6e )。 连接:ActiveMQ提供各种连接选择,包括HTTP,HTTPS,IP多点传送,SSL,STOMP,TCP,UDP,XMPP等。大量的连接协议支持使之具有更好的灵活性。 支持多种语言客户端:ActiveMQ对多种语言提供客户端API,除了Java之外还有C/C++、.NET、Perl、PHP、Ruby、Python等。这使得ActiveMQ能用在Java之外的其它语言中。很多其它语言都可以通过ActiveMQ提供的客户端API使用ActiveMQ的全部特性。当然,ActiveMQ代理器(broker)仍然是运行在java虚拟机上

1、kafka概述

有些话、适合烂在心里 提交于 2019-11-28 05:32:50
一、关于消息队列 消息队列是一种应用间的通信方式,消息就是是指在应用之间传送的数据,它也是进程通信的一种重要的方式。 1.消息队列的基本架构 producer:消息生产者。 broker:消息处理中心。 consumer:消息消费者 2.消息队列常用场景 系统之间的解耦。 高并发下的流量消峰(电商抢购活动)。 异步通信(串行变并行)。 3.消息队列的特点 基本上都基于生产者消费者模式。 必须保证数据的可靠性传输。 4、点对点消息系统 在点对点系统中,消息被保留在队列中。 一个或多个消费者可以消耗队列中的消息,但是特定消息只能由最多一个消费者消费。 一旦消费者读取队列中的消息,它就从 该队列中消失。 5、发布 - 订阅消息系统 在发布 - 订阅系统中,消息被保留在主题中。 与点对点系统不同,消费者可以订阅一个或多个主题并使用该主题中的所有消息。 6、为什么需要消息队列 1、解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2、冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前, 需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3、扩展性 因为消息队列解耦了你的处理过程

kafka监听和处理信息

旧城冷巷雨未停 提交于 2019-11-28 05:25:18
第一种方式 public async Task SendMessageAsync(string topic, string message) { var guid = Guid.NewGuid().ToString("N"); var topics = new List<string> { this._kafkaSetting.ProducerTopics.DeviceTopic, this._kafkaSetting.ProducerTopics.StorageTopic, this._kafkaSetting.ProducerTopics.TaskTopic, this._kafkaSetting.ConsumerTopics.StorageTopic, this._kafkaSetting.ConsumerTopics.TaskTopic }; if (!topics.Contains(topic)) { this._logger?.LogError($"guid:{guid} SendMessageAsync error: ' topic:{topic} error"); return; } this._logger?.LogDebug($"guid:{guid} SendMessageAsync begin: ' topic:{topic},message:

Java Swing的DragAndDrop机制

只谈情不闲聊 提交于 2019-11-28 02:20:55
* 任何JComponent都可以作为Drop Target,比如TextArea默认就可以作为拖放的目标 * 部分JComponent自带dragEnabled方法,可以设置为可以作为拖拽源 参考: http://xumingming64398966.iteye.com/blog/95880 http://www.iteye.com/topic/606748 转载于:https://www.cnblogs.com/TLightSky/archive/1970/01/01/2941445.html 来源: https://blog.csdn.net/weixin_30838873/article/details/99919870

ActiveMQ 5.x 消息队列

非 Y 不嫁゛ 提交于 2019-11-28 01:58:27
1.安装 ActiveMQ 这里以 ActiveMQ 5.15.3 版本为例,下载地址: http://activemq.apache.org/activemq-5153-release.html 官网提供的快速开始案例: http://activemq.apache.org/getting-started.html 下载完以后,解压到用户自定义的目录下 如果我们是 32 位的机器,就双击 win32 目录下的 activemq.bat,如果是 64 位机器,则双击 win64 目录下的 activemq.bat 启动后访问路径 http://127.0.0.1:8161/,用户名和密码默认都是 admin 新增消息队列 2. Spring Boot 2.X 整合 ActiveMQ 之点对点消息 官网地址: https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-activemq 步骤1:加入依赖 <!-- 整合消息队列ActiveMQ --> <dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-activemq<

python实现-kafka作为消息中间件 -实现数据生产和消费-实用的脚本

 ̄綄美尐妖づ 提交于 2019-11-28 00:59:27
转自:https://www.cnblogs.com/DJRemix/p/11383103.htmlimport socketimport jsonfrom kafka import KafkaProducerfrom kafka.errors import KafkaError#kafka的配置文件:(bootstrap_servers:kafka的集群地址,topic_name:主题,consumer_id:消费分组)KAFKA_SETTING = { 'bootstrap_servers': ["172.24.181.182:9092", "172.24.181.181:9092", "172.24.181.183:9092"], 'topic_name': 'user_data', 'consumer_id': 'consumer_ai'}conf= KAFKA_SETTING print("[setting] =", conf)producer = KafkaProducer(bootstrap_servers=conf['bootstrap_servers'], api_version = (0,10), retries=5)partitions = producer.partitions_for(conf['topic_name'])print('Topic下分区:

ACL 2016 Accepted Papers

社会主义新天地 提交于 2019-11-28 00:56:26
1.Long papers A CALL system for learning preposition usage John Lee A Character-level Decoder without Explicit Segmentation for Neural Machine Translation Junyoung Chung, Kyunghyun Cho and Yoshua Bengio A Continuous Space Rule Selection Model for Syntax-based Statistical Machine Translation Jingyi Zhang, Masao Utiyama, Eiichro Sumita, Graham Neubig and Satoshi Nakamura A Corpus-Based Analysis of Canonical Word Order of Japanese Double Object Constructions Ryohei Sasano and Manabu Okumura A Discriminative Topic Model using Document Network Structure Weiwei Yang, Jordan Boyd-Graber and Philip