上篇博文中我们介绍了Azure ServiceBus Messaging的消息事务机制:

Azure Messaging-ServiceBus Messaging消息队列技术系列7-消息事务(2017-03-30 22:12)

本文中我们介绍一下ServiceBus Messaging的一些配额,或者说使用说明和限制。原文请参考:

https://docs.microsoft.com/zh-cn/azure/service-bus-messaging/service-bus-quotas

我们着重介绍在实际消息应用开发时,会用到的、需要重点关注的几个配额选项。

1. 命名空间上限:即每个 Azure 订阅的基本/标准命名空间数上限:100,

2. 队列/主题大小,即我们使用的Queue或者Topic的容量,白话一点就是消息队列能承载多少消息,我们在实际应用时,一定要做一个评估,评估有两个方面,一个是我们业务高峰期会有多少消息,即消息的QPS,另一个是,未来1~2年,随着业务规模的扩张,现有的Queue/Topic的容量是否满足我们未来发展的要求。

Azure ServiceBus Messaging中已经显式的说明:系统将拒绝传入消息,且调用代码将收到异常。

队列/主题的大小,在声明时指定,Azure ServiceBus Messaging提供了1、2、3、4 或 5 GB选项,同时,如果已启用分区,最大队列/主题大小是 80 GB。

相信这个大小是Azure已经评估过的,大多数场景和规模都可以满足。

3. 并发连接数,并发连接数,Azure在命名控制和队列、主题、订阅这个层面统一做了限制。其中:

命名空间上的并发连接数:NetMessaging:1,000,AMQP:5,000

队列/主题/订阅实体上的并发连接数:受每个命名空间的并发连接限制的约束;

队列/主题/订阅实体上的并发接收请求数:5,000

当超过并发连接数时:系统将拒绝后续的附加连接请求,且调用代码将收到异常。 同时,REST 操作不计入并发 TCP 连接数。

这点大家要注意!

4. 每个服务命名空间的主题/队列数:即我们在每个服务的Namespace上可以创建多少个队列或者主题,这项配额是10000,服务命名空间中主题和队列的数目之和必须小于或等

于 10,000。如果超过这个配额:将拒绝后续的在服务命名空间中创建新主题或队列的请求。 因此,如果是通过 Azure 门户配置的,将生成错误消息。 如果是通过管理 API 调

用的,调用代码将收到异常。

这个队列数和主题数限制对于大规模消息应用的开发来说是有影响的,我们如果使用多个Namespace就可以横向扩展队列和主题的个数,这有点上业界主流的Sharding机制。赞

一个。

5. 任一消息实体路径的最大大小:队列或主题,即消息队列或者主题名称的长度是:260个字符

6. 队列/主题/订阅实体的消息大小:这个选项对我们来说非常重要,直接影响我们构造消息的大小。最大消息大小:256KB(标准层)/1MB(高级层)。 注意由于系统开销问

题,此限制通常略小一点,最大标头(消息头)大小:64KB,属性包(消息属性)中的最大标头属性数:byte/int.MaxValue,属性包中属性的最大大小:没有明确的限制。 受最

大标头大小限制。

7. 队列/主题/订阅实体的消息属性大小:每个属性的最大消息属性大小为 32K。 所有属性的累计大小不得超过 64K。如果超过这个配额:将生成 SerializationException 异

常。

8. 每个主题的订阅数:即每个Topic可以有多少订阅,2000,如果超过这个配额:

Azure将拒绝后续的为主题创建附加订阅的请求。 因此,如果是通过门户配置的,将显示错误消息。 如果是通过管理 API 调用的,调用代码将收到异常。

周国庆

2017/4/11

Azure Messaging的更多相关文章

  1. Window Azure ServiceBus Messaging消息队列技术系列1-基本概念和架构

    前段时间研究了Window Azure ServiceBus Messaging消息队列技术,搞了很多技术研究和代码验证,最近准备总结一下,分享给大家. 首先,Windows Azure提供了两种类型 ...

  2. Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证

    上一篇:Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门  http://www.cnblogs.com/tianqing/p/5944573.ht ...

  3. Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化

    在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...

  4. Azure Messaging-ServiceBus Messaging消息队列技术系列5-重复消息:at-least-once at-most-once

    上篇博客中,我们用实际的业务场景和代码示例了Azure Messaging-ServiceBus Messaging对复杂对象消息的支持和消息的持久化: Azure Messaging-Service ...

  5. Azure Messaging-ServiceBus Messaging消息队列技术系列6-消息回执

    上篇博文中我们介绍了Azure Messaging的重复消息机制.At most once 和At least once. Azure Messaging-ServiceBus Messaging消息 ...

  6. Azure Messaging-ServiceBus Messaging消息队列技术系列-索引篇

    Azure Messaging ServiceBus Messaging相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. 方便查找,并后续陆陆续续再增加. 学习消息队列技术,可以先看第 ...

  7. Azure Messaging-ServiceBus Messaging消息队列技术系列1-基本概念和架构

    前段时间研究了Window Azure ServiceBus Messaging消息队列技术,搞了很多技术研究和代码验证,最近准备总结一下,分享给大家. 首先,Windows Azure提供了两种类型 ...

  8. Azure Messaging-ServiceBus Messaging

    Azure Messaging-ServiceBus Messaging 上篇博文中我们介绍了Azure Messaging的重复消息机制.At most once 和At least once. A ...

  9. Azure Event Bus 技术研究系列1-Event Hub入门篇

    前两个系列研究了Azure IoT Hub和Azure Messaging.最近准备继续研究Azure Event Bus,即Azure的事件中心.首先, Azure Event Hub的官方介绍: ...

随机推荐

  1. eigen 四元数进行坐标旋转

    (<视觉SLAM十四讲>第三讲习题7)设有小萝卜一号和二号在世界坐标系中.一号位姿q1 = [0.35, 0.2, 0.3, 0.1],t1=[0.3, 0.1, 0.1].二号位姿q2= ...

  2. 十三、RF中对json的解析

    A.需要安装的库 1.RequestsLibrary,安装命令:pip2 install requests 2.HttpLibrary,安装命令:pip2 install robotframework ...

  3. git跟yum一样 linux下的命令使用和思想是类似的

    git跟yum一样 linux下的命令使用和思想是类似的

  4. Windows10 家庭版安装 Docker Desktop

    开启 Hyper-V 开启后会有提示让重启电脑,重启就 OK :: 创建cmd (echo pushd "%~dp0" echo dir /b %SystemRoot%\servi ...

  5. 异步分发任务celery

    Celery简介 Celery是一个功能完备即插即用的任务队列.它使得我们不需要考虑复杂的问题,使用非常简单. celery适用异步处理问题,当遇到发送邮件.或者文件上传, 图像处理等等一些比较耗时的 ...

  6. 吴恩达机器学习(二) 单变量线性回归(Linear Regression with one variable)

    一.模型表示 1.一些术语 如下图,房价预测.训练集给出了房屋面积和价格,下面介绍一些术语: x:输入变量或输入特征(input variable/features). y:输出变量或目标变量(out ...

  7. scala 使用case 关键字定义类不需要创建对象直接调用

    1.必须是使用case 定义object类 package config import org.apache.spark.sql.SparkSession import org.apache.spar ...

  8. Git 的使用及其一些基本用法

    打开你的git-bash 绑定用户和邮箱作为标识 $ git config --global user.name "your name" $ git config --global ...

  9. eclipse sts 快捷键

    1. ctrl + m 全屏/取消全屏 2.快速切换上面标签 ctrl + pageup/pagedown   : 标签左右切换 ctrl + < > : 标签前后访问处切换 New Ja ...

  10. Spring中单例模式中的饿汉和懒汉以及Spring中的多例模式

    链接:https://pan.baidu.com/s/1wgxnXnGbPdK1YaZvhO7PDQ 提取码:opjr 单例模式:每个bean定义只生成一个对象实例,每次getBean请求获得的都是此 ...