zoukankan      html  css  js  c++  java
  • 为什么学习消息队列

    为什么学习消息队列

     

     

     

     

     

     生产者:负责生产并发送消息到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

  • 相关阅读:
    oracle查询表最后的操作时间
    设置tomcat开机自启
    jmeter 连接mysql
    ubuntu卸载软件
    转 ubuntu 安装chrome 和chromedriver
    转 ps -ef ps -aux 区别
    ubuntu 20 jenkins 开机启动
    Ubuntu20.04安装JDK
    ubuntu 安装指定版本gitlab
    Gitlab备份和恢复操作记录 转
  • 原文地址:https://www.cnblogs.com/zhaoyang-1989/p/13269029.html
Copyright © 2011-2022 走看看