• 为什么学习消息队列


    为什么学习消息队列

     

     

     

     

     

     生产者:负责生产并发送消息到Broker中,字符串,对象,json数据等等

    Broker :消息处理中心,消息存储,确认,负责消息的

    消费者:把数据拿过来,后面进行一些,处理相关业务

    消息队列可以解决很多问题,比如耗时比较长的操作可以放到消息队列里去,比如,发短信,邮件,推送消息等。

    用户很多的,同步发送会很慢,通过异步进行发送,缓解服务器压力

    异步性,同步耗时的变成异步,提高执行效率

    解耦,降低业务之间的关联性

    还可以做成分布式

    根据场景选择

    kafka 

    目前业界用的非常多的解决消息队列的应用

    高性能的,跨语言的,分布式的消息队列系统

    支持数据持久化。支持高吞吐量

    在官网有一个测试:一个普通的服务器可以达到10W以上每秒的处理能力,QPS。

    完全支持分布式,天然支持分布式。

    处理海量的日志平台,

    rabbitMQ 比较优秀的开源消息队列系统,基于erlang开发。数据一致性,稳定性,可靠性都不错。

    Redis 也可以支持消息队列的,push,pop。发布订阅功能也可以做这样一个场景。5.0redis消息队列,思想借鉴kafka非常有潜力。

     

     

           

     

     官网 下载  选择二进制包  wget下载  tar xvf 解压  路径安装到usr/local  启动需要依赖JDK(java)

    配置zookeeper.properties

    配置server.properties 监听端口 

    先启动zookeeper

     在启动kafka

     

     是否启动完成

     创建消费者

     创建生产者,启动后生产者输入消息,消费者输出消息

     php安装kafka扩展 

    github搜索librdkafka 克隆下载  系统中安装librdkafka(./configure make make install)

    github搜索php-rdkafka 克隆下载  php扩展安装(phpize  make && make install) 配置到php.ini中

     重启lnmp  php -m查看扩展 rdkafka

    在model 中创建 kafka

  • 相关阅读:
    编程风格与注意事项(一)
    BB-Black 初体验之远程控制篇
    我的BB-Black之旅……(一)
    等精度频率计设计中的猫腻
    Linux查看物理CPU个数、核数、逻辑CPU个数、Cpu型号
    基于TransportClient的elasticsearch(es)消费kafka数据---Java程序设计
    elasticsearch概述
    HBase 性能优化笔记
    hive1.2.1搭建遇到的问题
    Hbase的表设计
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/13269029.html
Copyright © 2020-2023  润新知