分布式、中间件、消息队列的工作模式
1. 分布式
分布式的主要特点在于负载均衡和高可用。
负载均衡,简单来说就是"把原来一个人的事情分给多个人来干"。举个例子:比如原来有工作三份工作1、工作2、工作3。非分布式的情况下是需要A一个人完成1、2、3,这3件事情;分布式的情况下,找了3个人来干活。A做工作1、B做工作2、C做工作3。这样处理事情的速度变快了,并且整体的效率也提高了。
2. 消息队列
rabbit MQ是消息队列,顾名思义,就是一个队列,满足先进先出的队列特性。举个例子:排队打饭,A、B、C三个人排队打饭,打饭的时候仍然按照ABC这个顺序打到饭。这种消息队列特别像一个管道。主要是在机器上,进程和应用之间的消息通信非常麻烦,并且,消息不容易保存。这样容易造成,通信困难、数据易丢失、数据不可多进程消费等问题。所以,有专门的程序(组件)来处理消息通信问题,所以叫做消息中间件(中间指 应用之间的中间人)。由于实现消息中间件的模式是一个队列,又被称为消息队列。
3. 中间件
就是程序与程序,应用与应用之间用于实现某种目的的工具。例如:Rabbit MQ就是用来通信的消息的组建,叫消息中间件。其他还有:Redis缓存中间件、Hadoop分布式计算和分布式存储中间件等等。
4. Dubbo
dubbo是一个阿里的微服务框架,用来管理程序为服务化的一种开发框架。其核心为ZooKeeper的注册、订阅和管理。这个你可以看下阿里开源的官方介绍。
需要更多教程,微信扫码即可
分布式、中间件、消息队列的工作模式相关推荐
- 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...
- RabbitMQ总结(一)--消息队列RabbitMQ应答模式(自动、手动)
原文链接 消息队列RabbitMQ应答模式(自动.手动) 为了确保消息不会丢失,RabbitMQ支持消息应答.消费者发送一个消息应答,告诉RabbitMQ这个消息已经接收并且处理完毕了.RabbitM ...
- 分布式消息队列RocketMQ工作原理与应用(一)
第 1 章 RocketMQ概述 一.MQ概述 1 .MQ简介 MQ,Message Queue,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消息生产.存储.消费全过程API的软件系 ...
- 分布式之消息队列复习精讲
为什么写这篇文章? 博主有两位朋友分别是小A和小B: 小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑.再不然就是和运营聊聊天,写几个SQL,生成下报表 ...
- 消息队列+RabbitMq工作原理
目录 1.消息队列 2.应用场景 2.1 异步处理 2.2 应用解耦 2.3流量削锋 2.4 日志处理 3.RabbitMQ介绍 4.RabbitMQ工作原理 1.消息队列 消息即是信息的载体 消息队 ...
- 深入理解分布式技术 - 消息队列知识点回顾总结
文章目录 概述 MQ相关理论和设计 特定MQ的问题 Kafka RocketMQ 概述 我们平常如何评估MQ掌握的怎么样呢? 我觉得可以从以下两点来考虑 针对消息队列的相关理论,比如消息队列重复消费. ...
- Java帝国之宫廷内斗2(分布式事务消息队列、事务表)
原文地址:https://mp.weixin.qq.com/s/92SghOorf10dm3pM0DWzIg 1.前情提要 上回说到IO大臣一直被JDBC大臣打压, 为了搞掉JDBC大臣, 他忍辱负重 ...
- Java实现redis消息队列发布/订阅模式
最近在一个老项目中需要用消息队列,本来想着用卡夫卡,但是试了几个版本之后发现jdk和卡夫卡版本一直对不上,最后选择用redis来实现消息队列的发布/订阅模式.感谢这位大佬的博客给了我很多的帮助,htt ...
- php消费rabbitmq消息QoS,RabbitMQ消息队列-一对多模式
一对多模式,用图表示如下 一个生产者向消息队列中发送消息,多个消费者同时从消息队列中读取消息,在这个模式下,我们优先考虑的,是解决各个消费者如何读取消息的机制. 下面我们以ThinkPHP的代码来展示 ...
最新文章
- 访问 Microsoft SQL Server 元数据的三种
- Django项目准备和配置(MVT图解、创建项目和应用、更换解释器、安装应用、本地化、模板路径、项目中匹配urls、应用中匹配urls.py、准备视图、开启服务器、修改DATABAS配置信息)
- java join()源码_Java Thread的join() 之刨根问底
- postman 发送到onenet,chinanet
- 【NOIP 模拟赛】 道路
- BootStrap入门教程 (二)
- java 数组合并_数组与链表
- python里format有什么用_python format用法详解
- 如何使用xp_cmdshell扩展过程
- 纯新手DSP编程--5.29--DSP/BIOS任务管理和后台线程
- feign调用https接口_SpringCloudFeign远程调用
- 基于STM32单片机的智能药盒定时提示吃药喂水蓝牙APP方案原理图设计
- 学习配置tomcat虚拟主机
- flappy bird用java实现_java实现Flappy Bird游戏源代码
- C++:Trivial、Standard-Layout 和 POD
- Vue全家桶打造自适应 web 音乐播放器
- 浏览器被恶意篡改怎么办?
- arm方案商,三星S5P6818开发板ARM Cortex-A53架构
- odoo8 openerp 入门
- 为什么苹果蓝牙耳机连上还是公放_高版本AirPods无线蓝牙耳机二代、三代开团啦!...