上篇博文中我们介绍了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-ServiceBus Messaging消息队列技术系列8-服务总线配额的更多相关文章

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

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

  2. Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门

    各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...

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

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

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

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

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

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

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

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

  7. Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门

    各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...

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

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

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

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

随机推荐

  1. 什么是vue?

    vue就是一个js库,并且无依赖别的js库,直接引入一个js文件就可以使用,跟jquery差不多.vue是法语中视图的意思,Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的 ...

  2. iOS开发之仿射变换示例总结

    本篇博客比较简单,但还是比较实用的.其中的示例依然使用Swift3.0来实现,该博客算是下篇博客的一个引子,因为我们下篇博客要介绍使用Swift开发iOS应用中常用的一些Extension.而在这些E ...

  3. Javascript基础 - js中曾经忽略的知识点

    深入那些曾经忽略的Javascript知识 1. parseInt(string, [radix]),parseFloat(string) 一般我们省略第二个参数,parseInt(‘100’) == ...

  4. ajax跨域请求时,sessionId不一样,导致无法记住登陆状态

    遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN'   =>  '.roboming.com',虽然c ...

  5. 前端布局常见IE6 bug的解决方法,清除浮动的几种方法以及各自的优缺点

    相信有很多前端的朋友再布局的时候经常面对IE6咬牙切齿,尤其是刚刚入行的朋友,在这里给大家一点常见问题的解决方案,希望对大家有所帮助 1)png24位的图片在iE6浏览器上出现背景,解决方案是做成PN ...

  6. 2243: [SDOI2011]染色

    2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 3113  Solved: 1204[Submit][Status ...

  7. sublime text笔记

    sublime text确实是一个很不错的编辑器,而且还是跨平台的,这个很不错.---Linux V2.0.2 有些时候可以比VIM要好有些 1.安装: apt-get install sublime ...

  8. AOP执行增强-Spring 源码系列(5)

    AOP增强实现-Spring 源码系列(5) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProc ...

  9. 有个程序猿要去当CEO了:(一)事情始末

    事情大概是这样的: 去年年底,我从原公司离职,原因大概是公司绩效不好,呆着也没意思. 后来听说,年终结算遣散了所有人. 今年年初的时候,前老板又找上我,说希望能和我再合作. 起先是想分我一部分干股,让 ...

  10. 混合拉普拉斯分布(LMM)推导及实现

    作者:桂. 时间:2017-03-21  07:25:17 链接:http://www.cnblogs.com/xingshansi/p/6592599.html 声明:欢迎被转载,不过记得注明出处哦 ...