【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

.Net 服务 2009 年 3 月 CTP:服务总线路由和队列

  • 2009-04-24
  • 本文字数:1620 字

    阅读完需:约 5 分钟

Infoq之前报道,微软已经发布了 Azure 服务平台的新 CTP 版,它是:

……微软提供了许多以云为基础和云感知应用所需要的关键构建单元,它们是微软托管的、高伸缩、面向开发者的服务集合。和.NET 框架提供了大幅提高开发者生产效率的高级类库很相似,.NET 服务可以让开发者更关注应用逻辑,而不是去为构建和部署基于云的基础设施服务而烦心。

Azure .Net 服务的核心是服务总线,它:

……提供了人们所熟知的企业服务总线应用模式,并且有助于解决在跨网络,安全以及企业边界的 Internet 环境中实现该模式时所产生的若干难题。

正如 Clemens Vasters 所言,2009 年 3 月份 CTP最大的改变是加入了服务总线路由和队列:

……我们已经着手向服务总线加入持久的、系统固有的消息传递元件,这些元件的存在和运行完全独立于任何从其他系统插入到服务总线中的监听器。这意味着,服务总线可以作为一个“推 - 拉”模式的传输中介;也可以用作发布 / 订阅消息的分发工具,从而可以加速或者优化网络上的消息传输。或者,也可以用它来实现如下的消息分发场景,该场景中一些消息的目的地存在 Web 服务,依赖服务总线的转发才能交付给某些接收者。

服务总线路由和队列的实现得利于服务总线命名空间的一个改变:

服务总线命名空间的核心是一个联邦、分层的服务注册表,其结构由 “项目” 决定并拥有。服务总线命名空间与“经典”服务注册系统(如 DNS、UDDI、LDAP)的区别在于,在服务总线命名空间中服务或消息元件(通常)不仅被注册表引用,而且被直接投影到注册表中,因此,你可以使用相似或者相同的编程接口在统一的命名空间中访问注册表以及那些被投影的服务和消息元件……服务总线的“联邦”体现在服务或者消息元件可以被注册到“任何位置”的共享命名空间。例如,一个 URI 的路径部分代表一组来自 Web Farm 或集群数据库的相对紧密的同位资源,而权限部分(直接或间接)代表着目标集群。

Clemens Vasters解释道:

消息元件和服务总线命名空间之间关联的建立是通过如下方式实现的,给项目中的服务总线层级取一个名字……给这个名字赋一个角色……理论上,所有服务总线命名空间中的名字可以没有角色而独自存在。因此,当我给一个名字赋上一个角色时,我并没有创建名字,名字本身已经存在,只是隐藏了……任何名字都可以充当系统支持的任意角色。目前,当你简单将一个外部引用(如一个 URI 或者 WS-Address 端口的引用)跟注册表中的一个名字关联起来时,这个名字就会有一个“元数据”的角色。当 WCF 监听器在服务总线上使用一个名字进行侦听时,这个名字就会被赋上“连接点”角色。此外,我们还有两类新角色“路由”和“队列”。

他如此定义路由和队列:

路由是一个发布 / 订阅的消息分发元件,它把消息“推”向订阅者并且获取流进路由器的消息。而队列是一个容器,它保存消息,直到(消息的)消费者从队列中“拉”走消息。我们显式支持一个路由向另一个路由订阅消息,也支持队列向路由订阅消息。如此组合的结果也必然会比任何一个单独的元件具有更强大的能力。我们把这些能力称为“元件”是因为他们明确地支持组合。

队列的能力是由队列策略定义的,策略一定程度上类似于典型的JMS 队列的策略,并且可以通过WS* 和 Rest API 来访问和管理策略。

微软认为:.NET 服务总线是 ESB 模式的一种实现,近年来越来越流行,因为它简化了多个服务之间的连接管理。简化管理的一个途径是提供了发布 / 订阅架构,这为整个企业提供了更加松散的耦合。在.NET 服务 2009 年 3 月版的 CTP 中,通过服务总线路由和队列而引入的队列支持,使该愿景向现实又迈进了一步。

查看英文原文: Service Bus Routers And Queues .Net Services March 2009 CTP


译者简介: 马国耀,2007 年毕业于北京大学信息技术学院,硕士学位。他感兴趣的技术领域是 SOA,ESB,J2EE,Java 编程,开源项目等。业余时间爱好五子棋,围棋,获中国棋院授予的五子棋初段段位。他热情乐观,愿与天下各路豪杰结为朋友,可以通过 maguoyao (at) gmail.com 联系到他。

2009-04-24 06:061307
用户头像

发布了 184 篇内容, 共 76.8 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

基于开源Tars的动态负载均衡实践

vivo互联网技术

负载均衡 TARS

Flink+Alink,当大数据遇见机器学习!

博文视点Broadview

Chia奇亚云算力挖矿系统开发成功案例丨Chia奇亚挖矿源码成品

系统开发咨询1357O98O718

fil云算力系统开发具体流程丨fil云算力开发源码成品

系统开发咨询1357O98O718

图表示学习+图神经网络:破解AI黑盒,揭示万物奥秘的钥匙!

博文视点Broadview

自适应微服务治理背后的算法

万俊峰Kevin

微服务 自适应 服务治理 Go 语言

NQI质量基础设施“一站式”服务平台开发解决方案

源中瑞-龙先生

开发 解决方案 NQI 质量基础设施“一站式”

书单 | 5月畅销新书情报,你最Pick哪一本?

博文视点Broadview

你的同事是你的竞争对手吗?

石云升

战略思考 职场经验 6月日更

一封MySQL之父Monty的回信,开启彭立勋的数据库之路

华为云开发者联盟

MySQL 数据库 opengauss GaussDB 华为云数据库

架构实战营模块五作业

竹林七贤

带你认识大模型训练关键算法:分布式训练Allreduce算法

华为云开发者联盟

分布式训练 Allreduce算法 集合通信 分布式通信算法 大模型训练

react源码解析3.react源码架构

全栈潇晨

React React Hooks react源码

拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

程序员小富

Java GitHub 编程 程序员 代码

火爆全网的迁移学习简明手册全面更新,重磅出版上市!

博文视点Broadview

毕业设计So Easy:珠穆朗玛FM音频电台APP

不脱发的程序猿

android 软件开发 APP开发 毕业设计 移动应用开发

Rust从0到1-泛型-trait

rust 泛型 Trait generic

云网络开山之作,揭秘云上高速公路的十年技术成果!

博文视点Broadview

总结笔记 Datawhale-23期数据挖掘-心跳信号分类预测

万里无云万里天

数据挖掘 6月日更 Datawhale

国内首篇云厂商 Serverless 论文入选全球顶会:突发流量下,如何加速容器启动?

Serverless Devs

Serverless 容器 云原生

🏆未来可期,WebRTC成为实时通讯方案的行业标准

洛神灬殇

音视频 WebRTC 实时通信 6月日更

Spring Cloud Alibaba 实战

Damon

微服务 SpringCloud Alibaba 6月日更

《面试官:谈谈你对索引的认知》系列之B+树

架构精进之路

MySQL 索引结构 6月日更

为什么说混合云是新基建的流行架构?

博文视点Broadview

C 语言面向对象的封装方式

实力程序员

anyRTC SDK 5月迭代:优化自定义加密功能,让通信更安全

anyRTC开发者

音视频 WebRTC sdk

云上创新,阿里云视频云分享全场景音视频服务背后的场景探索与技术实践

阿里云视频云

阿里云 音视频 在线教育 视频会议 直播技术

【Flutter 专题】115 图解自定义 View 之 Canvas (四) drawParagraph

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

chia奇亚挖矿系统开发案例介绍丨chia奇亚挖矿源码功能

系统开发咨询1357O98O718

LeaRun .Net Core/Java工作流引擎,分离式前端,升级Vue

雯雯写代码

Vue 工作流引擎

华为云携手马栏山文创园助力湖南广电荣获国家广电总局多项大奖

华为云开发者联盟

AI 5G 视频 华为云 马栏山

.Net服务2009年3月CTP:服务总线路由和队列_SOA_Boris Lublinsky_InfoQ精选文章