• RocketMQ:单机搭建


    简介

    消息队列:消息队列是一种“先进先出”的数据结构

    image-20210311095900973

    应用场景:应用解耦,流量削峰,数据分发

    mq的缺点包含以下几点:

    • 系统可用性降低

      系统引入的外部依赖越多,系统稳定性越差。一旦MQ宕机,就会对业务造成影响。

      如何保证MQ的高可用?

    • 系统复杂度提高

      MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ进行异步调用。

      如何保证消息没有被重复消费?怎么处理消息丢失情况?那么保证消息传递的顺序性?

    • 一致性问题

      A系统处理完业务,通过MQ给B、C、D三个系统发消息数据,如果B系统、C系统处理成功,D系统处理失败。

      如何保证消息数据处理的一致性?

    单节点RocketMQ

    安装

    从官网上下载RocketMQ安装包,我这里下载的是rocketmq-all-4.4.0-bin-release.zip

    前提:拥有jdk环境。

    mkdir /usr/soft
    cp rocketmq-all-4.4.0-bin-release.zip /usr/soft
    cd /usr/soft
    unzip rocketmq-all-4.4.0-bin-release.zip
    mv rocketmq-all-4.4.0-bin-release /usr/local/rocketmq
    cd /usr/local/rocketmq
    ll
    

    image-20210311101904167

    bin目录下是可执行文件,conf下是RocketMQ的配置文件

    启动NameServer

    修改内存配置

    vi bin/runbroker.sh
    

    image-20210311102640152

    vi bin/runserver.sh
    

    image-20210311102903518

    nohup sh bin/mqnamesrv &
    #查看启动日志
    tail -f ~/logs/rocketmqlogs/namesrv.log
    

    image-20210311102210447

    启动Broker

    nohup sh bin/mqbroker -n localhost:9876 &
    tail -f ~/logs/rocketmqlogs/broker.log
    

    image-20210311103333214

    #如果能看到namesrv和broker,则说明启动成功
    jps
    

    image-20210311103503829

    关闭rocketmq命令

    sh bin/mqshutdown namesrv
    sh bin/mqshutdown broker
    

    测试消息发送和接收

    发送消息

    #设置环境变量
    export NAMESRV_ADDR=localhost:9876
    #使用安装包的demo发送消息
    sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
    

    image-20210311103914693

    接收消息

    # 1.设置环境变量
    export NAMESRV_ADDR=localhost:9876
    # 2.接收消息
    sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
    

    image-20210311104009469

    如果消费方打印消息,则消息发送和接收测试完成。

  • 相关阅读:
    使用puppeteer爬取网页数据实践小结
    React服务器端渲染框架next.js项目实战及部署上下文context问题解决办法
    在 React 组件中监听 android 手机物理返回/回退/back键事件
    vue页面切换效果(slide效果切换)
    记录HttpWebRequest辅助类
    C#异常Retry通用类
    Quartz.net2.2初体验
    【jQuery源码】整体架构
    CSRF攻击原理及防御
    SpringBoot----跨域配置
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/14516399.html
Copyright © 2020-2023  润新知