一.基本概念 1. AMQP AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议.支持不同语言和不同的产品 2. 生产者 消息的创建者,发送到AMQP的消息中间件 3. 消费者 连接到AMQP的消息中间件,订阅到队列上,进行消息的消费.分为持续订阅(basicConsumer)和单条订阅(basicGet) 说明: 持续订阅:只要有消息就不断消费 单条订阅:消费过一条消息以后就不再消费了,要想继续消费消息,就得重新订阅…
在之前的一篇博客RabbitMQ入门:认识并安装RabbitMQ(以Windows系统为例)中,我们安装了RabbitMQ并且对其也有的初步的认识,今天就来写个入门小例子来加深概念理解并了解代码怎么实现. 本篇博客围绕下面几个方面展开: 代码前的理论热身 代码实例:Hello RabbitMQ 运行代码并调试问题 Now, Let's begin ! 一.代码前的理论热身 我们来看张图: Publisher(生产者)生成消息,然后publish(发布)消息到exchange(路由器,也有资料翻译…
Message Broker(消息代理) 维基百科对 Message Broker 的定义是:Message broker 是一种中介程序模块,它把消息从发送方的正式消息传递协议转化为接收方的正式消息传递协议. 这个定义略繁琐,下面看看 RabbitMQ 官网对 Message broker 的定义: Message broker 接收来自发布者的消息并将其路由到消费者. 上面两个定义说的都是同一件事情,但是 RabbitMQ 官网的定义里缺少了"转换"这部分. RabbitMQ 实现…
Elasticsearch基本概念 Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念与传统关系型数据库类似. 传统关系型数据库与Elasticsearch进行概念对比 Elasticsearch 传统关系型数据库 indices(索引库) Databases(数据库) type(类型) Table(数据表) Document(文档) Row(行) Field(字段) Columns(列) mappings(映射配置) 表结构 具体说明 概念 具体说明 indi…
在上一篇<ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)>中,大致介绍了ActiveMQ和一些概念,并下载.安装.启动他,还访问了他的控制台页面. 这篇,就用代码实例说下如何实现消息的生产和消费. 一.理论基础 同RabbitMQ一样,ActiveMQ中也是有两种模式: 点对点模式(Point to Point,简写为PTP) 发布/订阅模式(Publish & Subscribe,简写为Pub & Sub) 通过上一篇我们知道了制造消息的应用叫生产…
一.入门 1. 消息中间件的定义 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 2. 为什么要用消息中间件 解决分布式系统之间消息的传递.电商场景: 用户下单减库存,调用物流系统.随着业务量的增大,需要对系统进行拆分(服务化和业务拆分),拆分后的系统之间的交互一般用RPC(远程过程调用).如果系统扩充到有几十个接口,就需要用消息中间件来解决问题. 3. 消息中间件和RPC有什么区别 3.1 功能特点: 在架构上,RPC和Message的差异…
下面讲解基于实战系列一,所以相关的java文件获取pom.xml及其log4j文件同样适用于本次讲解. 一.Using Shiro Using Shiro 现在我们的 SecurityManager 已经设置好并可以使用了,现在我们能够开始做一些我们真正关心的事情——执行安 全操作.   当保护我们的应用程序时,我们对自己可能提出的最为相关的问题是“当前用户是谁”或“当前用户是否被允许做 XXX”.当我们编写代码或设计用户接口时,问这些问题是很常见的:应用程序通常是基于用户的背景情况建立的, 且…
前言 本系列是基于React Native版本号0.44.3写的,最初学习React Native的时候,完全没有接触过React和JS,本文的目的是为了给那些JS和React小白提供一个快速入门,让你们能够在看React Native语法的时候不那么费劲,有过前端开发经验的可以直接忽略. 什么是React React是一个JavaScript框架,用来开发web应用.Web应用开发中,比较流行的有三个框架: react angular vue 从名字上,就能看到react native是基于R…
做任何事情,首先要双方就一些概念的理解达成一致,这样大家就有共同语言,后续的沟通效率会高一些. #,Authentication,认证,也就是验证用户的身份,就是确定你是不是你,比如通过用户名.密码的方式验证,或者某些第三方认证,比如微信认证. #,Authorization,授权,也叫访问控制,也就是看你是否有权限做什么事情,比如是否有权限看某个文件,或者是否有权限做后台管理: #,Cipher,加密方式,这里主要有几种常用的加密方式,比如分组密码(Block Ciphers).流密码(Str…
在Storm的集群里面有两种节点:控制节点和工作节点,控制节点上面运行Nimbus进程,Nimbus负责在集群里面分配计算任务,并且监控状态.每一个工作节点上面运行Supervisor进程,Supervisor负责监听从Nimbus分配给它执行的任务,Nimbus和Supervisor之间的所有协调工作都是通过Zookeeper集群完成.   Storm集群结构图     Topology 一个实时计算应用程序的逻辑在storm里面被封装到topology对象里面称为计算拓补.storm里面的t…