初码Azure系列文章目录


将消息队列技术模型简化,并打造成更适合互联网+与敏捷开发的云服务模式,好像已经是行业趋势,阿里云也在推荐使用消息服务(HTTP协议为主)而来替代消息队列(TCP协议、MQTT协议为主),并且将消息服务纳入到了存储体系内(Azure也是,有人知道为什么吗,是因为数据持久化在了磁盘上?)

更搞笑的是,阿里云还在帮助中心贴了一个表格

真是扎心了老铁,这不是自己怼自己,逼人用消息服务吗。。

回到本文主题上来,这几天用了Azure的存储服务里面的存储队列,感觉还是非常好用的,大道至简,傻瓜又方便,简单记录一下

产品结构:Azure-存储-存储队列

新建一个存储

在填写参数的时候,建议选择ARM模式(资源管理),然后复制性默认是RA-GRS,这个没有细研究,就按这个来了

等待几分钟,就建好了,我们会发现,这个存储内默认可以使用Blob,文件,表和队列服务

前往队列的面板

可以看到这里还不支持一些可视化的面板操作,于是找到官方教程页面,https://www.azure.cn/documentation/articles/storage-dotnet-how-to-use-queues/

下面学习一下存储队列的使用

可以说官方的这个教程页面的逻辑结构还是非常清晰的,首先介绍了存储队列基础概念和技术逻辑结构,简单摘要一些如下

  • 存储帐户:对 Azure 存储空间的所有访问都要通过存储帐户来完成。有关存储帐户容量的详细信息,请参阅 Azure 存储空间可伸缩性和性能目标

  • 队列:一个队列包含一组消息。所有消息必须位于相应的队列中。请注意,队列名称必须全部小写。有关命名队列的详细信息,请参阅命名队列和元数据

  • 消息:一条消息(不管采用何种格式)的最大大小为 64 KB。消息可以保留在队列中的最长时间为 7 天

URL 格式:可使用以下 URL 格式对队列进行寻址:http://<storage account>.queue.core.chinacloudapi.cn/<queue>

可使用以下 URL 访问示意图中的某个队列:http://myaccount.queue.core.chinacloudapi.cn/imagesToDownload

对于.NET的实践,直接在Nuget中应用两个包

WindowsAzure.Storage

WindowsAzure.ConfigurationManager

看了下应该也提供了对.NET Core的支持

然后在教程中,给出了9个典型场景和方法,并给出了一些解释和说明,相信是能够覆盖到绝大多数的用户场景的

  • 创建队列

  • 在队列中插入消息

  • 扫视下一条消息

  • 更改已排队消息的内容

  • 取消对下一条消息的排队

  • 将 Async-Await 模式与公用队列存储 API 配合使用

  • 使用其他方法取消对消息的排队

  • 获取队列长度

  • 删除队列

相关代码也很清晰,只是美中不足的是,日常的一些操作,例如消息调试、队列创建删除等,只能通过代码或者PowerShell进行操作,不像阿里云那样,在控制面板中就能操作

所以就抽空做了一个

蓝天助手-Azure中国区辅助工具集

弥补一些AzurePortal的缺失,目前先做一个存储队列的辅助功能,包括队列创建删除和消息的处理

地址是:https://www.alphams.cn/AzureHelper

希望可以帮助到大家

总结一下:

1、Azure这样的存储队列和阿里云的消息服务功能等类似的服务是消息队列技术的演变,这样简化的消息队列服务一定会得到越来越广泛的使用

2、Azure的控制面板确实得再加强加强,总是功能缺失,不知道Global的Azure是不是也这样。。

3、蓝天助手会持续开发,希望能够拓展出一些有意思的辅助和功能


作者:张柔,发布于  博客园  与  张柔的博客

转载请注明出处,欢迎邮件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444

初码-Azure系列-存储队列的使用与一个Azure小工具(蓝天助手)的更多相关文章

  1. 初码-Azure系列-记一次MySQL数据库向Azure的迁移

    初码Azure系列文章目录 还在继续给客户迁移不同的系统到Azure,这一次是一个系统的MySQL数据库要迁移,将迁移过程记录一下 原系统环境 数据库版本:MySQL Community Editio ...

  2. jQuery源码分析系列(38) : 队列操作

    Queue队列,如同data数据缓存与Deferred异步模型一样,都是jQuery库的内部实现的基础设施 Queue队列是animate动画依赖的基础设施,整个jQuery中队列仅供给动画使用 Qu ...

  3. Azure系列1.1.2 —— 用于 IntelliJ 的 Azure 工具包的登录说明

    (文中大部分内容(95%)Azure官网上有,我只是把我自己实际操作中遇到的问题在这里阐述一下.) 先决条件 若要完成文章中的步骤,需要安装用于 IntelliJ 的 Azure 工具包,该工具包需要 ...

  4. 初码-Azure系列-文章目录

    系统迁移 初码-Azure系列-记一次MySQL数据库向Azure的迁移 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考 初码-Azure系列-记一次从阿里云到Azure的迁移和 ...

  5. 【初码干货】记一次分布式B站爬虫任务系统的完整设计和实施

    [初码文章推荐] 程序员的自我修养 Azure系列文章 阿里云系列文章 爬虫系列文章 [初码产品推荐] AlphaMS开发模式 闪送达城市中央厨房 今天带来一个有意思的东西-分布式B站爬虫任务系统 这 ...

  6. jQuery源码分析系列

    声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://git ...

  7. [转]jQuery源码分析系列

    文章转自:jQuery源码分析系列-Aaron 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAaro ...

  8. jQuery源码分析系列(转载来源Aaron.)

    声明:非本文原创文章,转载来源原文链接Aaron. 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAa ...

  9. [转]Azure 表存储和 Windows Azure SQL Database - 比较与对照

    本文转自:https://msdn.microsoft.com/library/azure/jj553018 更新时间: 2014年10月 作者:Valery Mizonov 和 Seth Manhe ...

随机推荐

  1. 你不知道的JSON.stringify和JSON.parse

    json是JavaScript 对象表示法(JavaScript Object Notation),是一种简单的数据格式,类似于XML,其格式为名称/值对,数据用逗号隔开,名称必须用双引号括起来.例如 ...

  2. PIL遇到问题解决

    PIL 全称:Pillow 在使用PIL4.2.1版本读取jpeg文件时,报cannot identify image file,去github源查找原因:https://github.com/pyt ...

  3. cs231n spring 2017 lecture1 Introduction to Convolutional Neural Networks for Visual Recognition 听课笔记

    1. 生物学家做实验发现脑皮层对简单的结构比如角.边有反应,而通过复杂的神经元传递,这些简单的结构最终帮助生物体有了更复杂的视觉系统.1970年David Marr提出的视觉处理流程遵循这样的原则,拿 ...

  4. struts2(六)之ognl表达式与ActionContext、ValueStack

    前言 前面已经把struts2讲内容说了一半了,我写的很详细,希望对博友们有帮助. 一.OGNL表达式语言概述 1.1.OGNL表达式简介 百度上是这样说: OGNL是Object-Graph Nav ...

  5. CTF---隐写术入门第三题 打不开的文件

    打不开的文件分值:10 来源: 实验吧 难度:中 参与人数:2718人 Get Flag:1222人 答题人数:1276人 解题通过率:96% 咦!这个文件怎么打不开? 解题链接: http://ct ...

  6. bzoj:4762: 最小集合

    原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4762 mark一下,有空要好好弄懂 #include<cstdio> #inc ...

  7. UVA 1030 - Image Is Everything【模拟+思维+迭代更新】

    题目链接:uva 1030 - Image Is Everything 题目大意:有一个最大为n*n*n的立方体的一个不规整立体,由若干个1*1*1的小正方体构成(每一个小正方体被涂成不同的颜色),给 ...

  8. 二维字符数组利用gets输入

    char a[10][81];for(int i=0;i<10;i++)gets(a[i]); a是二维数组的数组名,相当于一维数组的指针,所以a[i]就相当于指向第i个数组的指针,类型就相当于 ...

  9. 斐波那契数列 Library

    http://acm.tju.edu.cn/toj/showp3267.html3267.   Library Time Limit: 1.0 Seconds   Memory Limit: 6553 ...

  10. FineReport调用存储过程

    "总结一下本人在项目中遇到的问题,如何在数据库表名未知且作为一种查询条件的情况下查询出数据集,仅能通过FineReport+Oracle实现. 首先分析这个问题的条件和要求: 条件:只有一个 ...