【系统架构】读《大型网站架构系列:分布式新闻队列》整理

小说地址

开展阅读:

RabbitMQ + PHP
(一)入门与安装

RabbitMQ + PHP
(二)AMQP拓展安装

RabbitMQ + PHP
(三)案例演示

 

 

1.
片段语汇和技艺


1)Zookeeper注册宗旨
Storm集群

 

 

  1. 主题情想

1)【概述】

新闻队列中间件是分布式系统中根本的零件,主要解决选取耦合,异步信息,流量削锋等题材。达成高性能,高可用,可伸缩和末段一致性架构。是大型分布式系统不可缺失的中间件。

此时此刻在生产环境,使用较多的音信队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等

2)【应用场景】

异步处理,应用解耦,流量削锋和音信报纸公布三个场景。

 

3)【音信中间件示例】

电商系统 日志收集系统

 

4)【日志系统】

ELK Static(今日头条kafka日志处理利用案例)

— Kafka:接收用户日志的音讯队列。

 

— Logstash:做日志解析,统一成JSON输出给Elasticsearch。

 


Elasticsearch:实时日记分析服务的主题技术,一个schemaless,实时的多寡存储服务,通过index社团数量,兼具强大的追寻和计算功用。

 


Kibana:基于Elasticsearch的数额可视化组件,超强的多少可视化能力是不少商家选拔ELK
stack的要害原因。

 

5)【Zookeeper

Zookeeper 分布式服务框架是 Apache
Hadoop
的一个子项目,它至关重假诺用来解决分布式应用中时时碰着的部分多少管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的军事管制等

 

6)【storm

是一种 完毕一个实时总括种类

 

7)【三种新闻方式】

PHP,    – 点对点(P2P模式) :
 
          
   a)每个信息唯有一个顾客(Consumer)(即假如被消费,新闻就不再在信息队列中)
             
 b)发送者和接收者之间在时光上从不看重,也就是说当发送者发送了消息随后,不管接收者有没有正在运转,它不会影响到音信被发送到队列
              c)接收者在功成名就接到音讯随后需向队列应答成功

      — 揭橥订阅(Pub/sub情势)

            a)每个音信可以有八个买主
            
b)发表者和订阅者之间有时间上的看重性。针对某个大旨(Topic)的订阅者,它必须创制一个订阅者之后,才能消费公布者的音讯。
           c)为了消费音讯,订阅者必须保持运行的情事。

 

3.
科普信息队列中间件


 

1)【ActiveMQ 】     ActiveMQ
是Apache出品,最流行的,能力强大的开源音信总线,对JAVA帮助好

 

2)【RabbitMQ


RabbitMQ是风靡的开源信息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级音讯队列协议)的正儿八经落实。辅助多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,协理AJAX,持久化。用于在分布式系统中存储转载音讯,在易用性、扩充性、高可用性等地方突显不俗


RabbitMQ的安装

 

3)【ZeroMQ

号称史上最快的音信队列,它其实类似于Socket的一体系接口,他跟Socket的分别是:普通的socket是端到端的(1:1的涉嫌),而ZMQ却是可以N:M
的涉及,人们对BSD套接字的打听较多的是点对点的连接,点对点总是须要显式地确立连接、销毁连接、接纳情商(TCP/UDP)和处理错误等,而ZMQ屏蔽了那个细节,让您的网络编程更为简易。ZMQ用于node与node间的通讯,node可以是主机或者是进度。

 

4)【Kafka

Kafka是一种高吞吐量的分布式公布订阅信息系统,它能够拍卖消费者规模的网站中的所有动作流数据。
那种动作(网页浏览,搜索和其余用户的行进)是在当代网络上的累累社会效果的一个关键因素。
这个数据一般是由于吞吐量的须求而通过处理日志和日志聚合来化解。
对于像Hadoop的同一的日志数据和离线分析种类,但又必要实时处理的界定,这是一个有效的化解方案。Kafka的目的是经过Hadoop的互相加载机制来统一线上和离线的音讯处理,也是为着通过集群机来提供实时的消费。

 

 

参照文档:

RabbitMQ + PHP
(一)入门与安装

RabbitMQ + PHP
(二)AMQP拓展安装

RabbitMQ + PHP
(三)案例演示

相关文章