美文网首页
关于消息队列一些问题

关于消息队列一些问题

作者: 编程人生 | 来源:发表于2021-10-24 23:23 被阅读0次

1.集中式和分布式对比

集中式Centralized 就是一个应用的所有功能都集中一套程序中。有一个中心化节点,可能是一台机器或多台机器组成,所有的存储,计算都在主机上完成。

分布式:Distributed  ,分布式由一组通过网络进行通信,为了完成共同的任务而协调工作的计算机节点。

集中式特点:

1.架构简单  2.可靠性高  3.强一致性   4.可维护性好

分布式特点:1.解决了性能 可用性 扩展性问题 。2. 架构设计更加复杂  3.运维更加复杂 

2.分布式出发点是什么?

1.高性能 (high performance) 包含三点(1.高吞吐   2.低延迟     3.高并发)

2.高可用  (high available )高成功率(正常服务时间占比:请求成功次数比例)

3.可扩展 (scalability)(可伸缩性)

3.分布式依赖技术?

1.存储 需要解决节点故障:进程cash  断电  磁盘损坏问题。

2.通信 需要解决网络故障  断网  延迟  丢包 乱序 

3.计算  一个业务流程多个 系统执行或者多个任务 ,多个节点执行

4.解决思路

1.分片(partition) 2.冗余 (replication)副本机制

5.副本一致性问题(consistency)

CAP理论  BASE理论   ZAB协议  Paxos 算法  Raft算法  

6.分布式技术

服务协调  zookeeper 

异步消息通信  1.RabbitMQ  2.KafKa  3 .RocketMQ 

NoSQL存储 Redis 

任务调度:Elastic-job     xxl-job

数据存储: Mycat   Shard'ing-JDBC

负载均衡  :Nginx

文件系统:GFS    HDFS

日志:ELK

通信:Netty

RPC:Dubbo

容器:docker  k8s

为什么要用MQ?

异步  解耦  削峰 

AMQP协议

AMQP协议(Advanced Message Queuing Protocol) 高级消息队列协议

AMQP 实现:openAMQ Apache Qpid RedhatEnterprise MRG  AMQPinfrastructure  MQ Zyre

RabbitMQ 消息队列

RabbitMQ 支持 : AMQP  STOMP MQTT HTTP  WebSockets 协议

RabbitMQ  是用 Erlang 语言开发

直连类型 Direct  指定一个路由键 适用一些业务非常明确的场景

主题 Topic  使用支持通配符的绑定键 。适用于根据业务主题过滤消息的场景

* 代表一个代词

junior.# 以junior 开头 点后可以有单词 也可以没有单词

#.netty 以 .netty 结尾

senior.* 以senior开头 后跟.加一个单词

*.jvm  以 .jvm结尾  一个单词开头

广播Fanout  无绑定键, 使用于通用类业务消息

消费端限流  prefetch count 预处理消息数量

相关文章

  • 关于消息队列一些问题

    1.集中式和分布式对比 集中式Centralized 就是一个应用的所有功能都集中一套程序中。有一个中心化节点,可...

  • 关于消息队列

    关于消息队列

  • 消息队列总结

    前言:关于消息队列应该大家都不陌生,在实际的项目中消息队列也无处不在,今天我和大家分享一下关于消息队列的问题。 ...

  • 消息队列之 RabbitMQ

    消息队列之 RabbitMQ 转载自:消息队列值RabbitMQ 关于消息队列,从前年开始断断续续看了些资料,想写...

  • 消息队列总结

    前言:关于消息队列应该大家都不陌生,在实际的项目中消息队列也无处不在,今天我和大家分享一下关于消息队列的问题。 1...

  • 消息队列的使用

    关于消息队列的使用 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋...

  • 关于消息队列(笔记)

    分享一个高手的解释,化抽象为具体,化繁为简,牛逼牛逼[消息队列的使用场景是怎样的? - 祁达方的回答 - 知乎](...

  • 进大厂必备的RocketMQ你会吗?

    关于消息队列,相信大家都不陌生,现在的中大型项目中或多或少都有使用到消息队列,对于消息队列大家可能都有一定的了解,...

  • 关于MQ使用的清单

    关于使用消息队列的清单 消息队列,英文:MessageQueue,下面简称MQ. 这里的MQ是指分布式系统下的消息...

  • RabbitMQ的Python客户端pika使用调研

    消息队列的作用 消息队列最早产生在金融领域,是为解决金融业务的IT系统中产生的一些问题而应运而生的。随着互联网和电...

网友评论

      本文标题:关于消息队列一些问题

      本文链接:https://www.haomeiwen.com/subject/bnadaltx.html