• 架构师之路九分布式系统下异步通信与限流方案


    前面一个章节,我们解决了,在秒杀,抢购的环节下,会产生的大流量或者突发流量而导致的服务雪崩的问题,我们从技术,业务角度,分别采取了 令牌桶算法,漏桶算法,其中以Guava,nginx,计算器的方案来达到限流与消峰的目的,业务上,时间分片,以12306为例子,达到限流目的
    这一章节,我们介绍MQ泳道的一些常用 的中间件,来解决异步通信的问题

    先抛出一个问题,我们在进行用户注册的时候,一般需要向用户系统提交数据,数据持久化到数据库,同时我们也需要用户向我们的邮件系统提交数据,当同一时刻,大批量新用户啊进行注册的时候,用户系统,与邮件系统就承载过大的压力,其中注册邮件可以采取异步通信的方式来实现,下面聊一聊异步通信中常用的中间件,MQ,ActiveMQ,RocketMQ,还有kafaka等


    第一种: ActiveMq,这对于单机处理的业务以及功能简单的业务,大多采取这种方式,其中就只有JMS Poducer, Porducer,Consumer,处理起来也比较简单

    重点介绍一下第二种: RocketMq,也是阿里出品的一个功能,

    其流程: Producer>NameServer>Broker>Conusmer,
    Producer Cluster 向NameServer注册中心进行注册,并获取broker的地址,定时查询Topic消息, NameServer只是配置节点没有什么具体任务
    Broker 用来存储数据信息,一般会进行主从Broker设置,搭建Broker Cluster, 并定时返回心跳与Topic给到NameServer,
    Consumer cluster 向NameServer注册中心注册,并获取broker的地址,定时查询Topic消息

    特点:
    顺序,事务,集群,广播,亿级, 分布式,Push与Pull的消息订阅模式

    开发流程:

    项目代码流程

    下载RocketMq
    解压
    配置环境
    启动NameServer,Borker
    引入pom依赖
    制定生产者
    制定消费者
    消息折可以指定消费的方式

    但就项目而言,我们常见的消峰的案例: app端,app端进行埋点数据上报消峰案例; PC端, 分布式调用跟踪系统埋点数据消峰


    更多内容,请关注博客
  • 相关阅读:
    MAC地址_MAC地址格式_以太网的MAC帧_基础知识
    VsCode中C文件调用其他C文件函数失败
    工程项目管理概述
    vue2-x6-dag自定义vue组件节点
    若依启动步骤
    抽象类与接口
    Windows服务器怎么才能长时间保持远程桌面不自动断开
    到底什么是“算力网络”?
    工业边缘网关-06安装nodered环境
    模糊神经网络应用实例,模糊神经网络优缺点
  • 原文地址:https://blog.csdn.net/qq_37022150/article/details/126520442