负载均衡-消费者消费|学习笔记

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习负载均衡-消费者消费

开发者学堂课程【RocketMQ 知识精讲与项目实战(第三阶段)负载均衡-消费者消费】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/704/detail/12454


负载均衡-消费者消费

 

Consumer 负载平衡

image.png

消费者的负载平衡有两种消费方式,即集群模式和广播模式。

1.集群模式

其实集群模式本身就是负载平衡的一种实现。集群模式假设想要消费者的负载平衡,是否要启动两个消费者的即可,启动两个相同消费者的信息,让两个消费者共同承担消息的消费。其中涉及到的问题是 rocketMQ 是如何负载压力?具体看图所示,有三个消费者,此时若有生产者同时发送六条消息到这六个队列当中,消费者会均摊这六个队列,比如最左边的负责前1,2队列,中间的负责3,4队列,最右边的负责5,6队列,即启动多个消费者来负载生产者发送的消息。在 rocketMQ 当中默认支持这种负载平衡的方式。不需要更改太多的配置,只需要启动多个消费者,前提是消费者负载平衡是集群模式。这是负载平衡的一种算法,思考一下是否存在其他算法?

image.png

还可以通过环状轮流分配,如图所示。依然是三个消费者六个队列,相比于集群模式,分摊队列的方式有所不同,最左边的人消费1,4队列,中间的人消费2,5队列,最右边的人消费3,6队列。与上面集群模式相比,当前消费者分摊到的 messageQueue 队列来自于两个不同的 broker ,这是另外的一种负载平衡。效果相似,将这两种负载平衡的方式了解之后,思考如果再来一个消费者,这六个队列已经被前三个消费者消费完毕,那么该此消费者该如何?其实这个消费者是多余的,该消费者不会进行工作,不进行消费消息。在控制消费者的数量的时候,消费者的数量最好不要超过 queue 的数量,让队列的数量大于消费者的数量,使得多个消费者均可工作。

2.广播模式

 image.png

广播模式是这三个消费者没有负载消息的压力,而是每个消费者需要将所有队列中的消息均消费一遍,广播模式不属于负载平衡的形式,对于消费者的负载平衡,我们指的都是集群平衡,关于消费者的负载平衡介绍到这。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
存储 移动开发 数据库
构建高效Android应用:探究LiveData和ViewModel的最佳实践
【4月更文挑战第20天】 在动态演化的移动开发领域,构建一个既响应迅速又能够在用户界面保持稳定的Android应用是至关重要的。近年来,随着Android架构组件的推出,特别是LiveData和ViewModel的引入,开发者得以更有效地管理应用状态并优化用户界面的响应性。本文将深入探讨LiveData和ViewModel的实现机制,并通过案例分析展示如何结合它们来构建一个高效且健壮的Android应用架构。我们将重点讨论如何通过这些组件简化数据绑定过程、提高代码的可维护性和测试性,同时确保用户界面的流畅性。
176 4
|
机器学习/深度学习 人工智能 算法
人工智能(AI)的数学基础
人工智能(AI)的数学基础
824 3
|
11月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
391 7
|
自然语言处理
学生党打工人救星,GPT一句话生成精美PPT
学生党打工人救星,GPT一句话生成精美PPT
377 1
|
网络协议
OSPF直连邻居状态Full,且有路由,不通!怎么回事?
OSPF直连邻居状态Full,且有路由,不通!怎么回事?
391 0
|
数据采集 中间件 调度
Scrapy:高效的网络爬虫框架
Scrapy是Python的网络爬虫框架,用于快速构建和开发爬虫。它提供简单API和全功能环境,包括请求调度、HTML解析、数据存储等,让开发者专注爬虫逻辑。Scrapy工作流程包括发起请求、下载响应、解析数据、处理数据和发送新请求。其核心组件有调度器、下载器、解析器(Spiders)和Item Pipeline,广泛应用于数据挖掘、信息监测、搜索引擎和自动化测试。有效技巧包括合理设置请求参数、编写高效解析器、使用代理和防反爬策略,以及利用中间件。随着大数据和AI的发展,Scrapy在爬虫领域的地位将持续巩固。【6月更文挑战第6天】
522 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的在线教育系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的在线教育系统的设计与实现(源码+lw+部署文档+讲解等)
261 0
remount of the / superblock failed: Permission denied remount failed
remount of the / superblock failed: Permission denied remount failed
257 0
|
机器学习/深度学习 计算机视觉
CNN全连接层是什么东东?
CNN全连接层是什么东东?
560 4
|
开发框架 缓存 数据库
Python中的Web开发:Flask与Django的比较与选择
Python中的Web开发:Flask与Django的比较与选择
921 0