260_RabbitMQ面试题分析

Rabbitmq 为什么需要信道,为什么不是TCP直接通信

:::info
1、TCP的创建和销毁,开销大,创建要三次握手,销毁要4次分手。
2、如果不用信道,那应用程序就会TCP连接到Rabbit服务器,高峰时每秒成千上万连接就会造成资源的巨大浪费,而且底层操作系统每秒处理tcp连接数也是有限制的,必定造成性能瓶颈。
3、信道的原理是一条线程一条信道,多条线程多条信道同用一条TCP连接,一条TCP连接可以容纳无限的信道,即使每秒成千上万的请求也不会成为性能瓶颈。
:::

queue队列到底在消费者创建还是生产者创建?

:::info
1: 一般建议是在rabbitmq操作面板创建。这是一种稳妥的做法。
2:按照常理来说,确实应该消费者这边创建是最好,消息的消费是在这边。这样你承受一个后果,可能我生产在生产消息可能会丢失消息。
3:在生产者创建队列也是可以,这样稳妥的方法,消息是不会出现丢失。
4:如果你生产者和消费都创建的队列,谁先启动谁先创建,后面启动就覆盖前面的
:::

Original: https://www.cnblogs.com/wl3pb/p/16590099.html
Author: 清风(学习-踏实)
Title: 260_RabbitMQ面试题分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581211/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 如何在jsp里面写java代码

    如何在jsp里面写java代码 jsp和html相比,最显著的优势就在于,jsp里面可以写java代码,但是html中不能。 那么如何在jsp中写java代码呢! jsp中写jav…

    Java 2023年5月29日
    063
  • CTFHub_2017-赛客夏令营-Web-Fast Running(条件竞争、多线程)

    进入场景,显示如下 本题考察条件竞争,需要你改完密码后登录要比系统自动更改密码快 python脚本如下,需要同时开2个线程 __author__ = Serena import t…

    Java 2023年5月29日
    058
  • Spring整合Mybatis连接MySQL数据库配置 异常 情景再现

    方法一:开启下划线转大驼峰命名 mybatis: configuration: map-underscore-to-camel-case: true # 开启下划线转大驼峰 方法三…

    Java 2023年6月7日
    073
  • 【spring框架源码学习】定时调度框架

    @EnableScheduling 该注解 org.springframework.scheduling.annotation.SchedulingConfiguration or…

    Java 2023年5月29日
    082
  • hdu 1385 Minimum Transport Cost (floyd算法)

    貌似···················· 这个算法深的东西还是很不熟悉!继续学习!!!! ++++++++++++++++++++++++++++ ==============…

    Java 2023年5月29日
    078
  • 「Elasticsearch」SpringBoot快速集成ES

    Elastic Search 的底层是开源库 Lucene。但是Lucene的使用门槛比较高,必须自己写代码去调用它的接口。而Elastic Search的出现正是为了解决了这个问…

    Java 2023年6月13日
    085
  • SpringBoot整合atomikos实现跨库事务

    背景 框架之前完成了多数据源的动态切换及事务的处理,想更近一步提供一个简单的跨库事务处理功能,经过网上的搜索调研,大致有XA事务/SEGA事务/TCC事务等方案,因为业务主要涉及政…

    Java 2023年6月15日
    082
  • 微服务海量日志监控平台

    前面几章蜻蜓点水的介绍了elasticsearch、apm相关的内容。本片主要介绍怎么使用ELK Stack帮助我们打造一个支撑起日产TB级的日志监控系统 背景 在企业级的微服务环…

    Java 2023年6月6日
    083
  • day01-需求分析和系统设计

    对传输数据的分析: 因为在通讯的时候信息的种类和信息比较多,如果使用文本的方式来传递数据,那么服务器拿到信息的时候对其进行拆解会很麻烦。因此使用对象的方式来进行数据的传输(同时使用…

    Java 2023年6月15日
    081
  • MyBatis: Invalid bound statement (not found)错误的可能原因

    其他原因导致此问题解决参考: 1.检查 xml 文件所在 package 名称是否和 Mapper interface 所在的包名一致 mapper 的 namespace 写的不…

    Java 2023年5月30日
    066
  • Tomcat 单机多实例使用记录

    参考资料 CATALINA_HOME 属性 VS CATALINA_BASE 属性 步骤 1. 创建 CATALINA_BASE 使用的目录 2. 拷贝配置文件添加hello应用 …

    Java 2023年6月13日
    085
  • MyBatisCodeHelperPro激活方法(有效方法)

    注意事项我的idea是2021.2.1的,新版本的idea我也不清楚。我这个版本是可以的。 ​编辑 1、下载插件 ​编辑 这是插件下载的地址: MybatisCodeHelperN…

    Java 2023年6月13日
    0125
  • 缓存更新的另一种方法:双删策略

    上一篇说到缓存的更新操作是非幂等操作,会出现并发更新的问题。那用缓存删除操作实现缓存更新行不行,您可能觉得奇怪,删除了缓存如何更新,假设读业务先读取缓存,如果发现没有就回溯到读数据…

    Java 2023年6月16日
    088
  • JavaEE在线就业班2.0-(1)-《博学谷》

    JavaEE在线就业班2.0学习笔记 Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Ja…

    Java 2023年6月7日
    071
  • 逃逸分析(Escape Analysis)详解

    概念说明 逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的…

    Java 2023年6月16日
    083
  • String.format的使用

    String.format()字符串常规类型格式化的两种重载方式 format(String format, Object… args) 新字符串使用本地语言环境,制定…

    Java 2023年5月29日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球