《微软云计算Windows Azure开发与部署权威指南》——6.5 AppFabric服务总线基础概念

简介:

本节书摘来自异步社区《微软云计算Windows Azure开发与部署权威指南》一书中的第6章,第6.5节,作者: 尹成 , 郝庭毅 , 张俊强 , 孙奉刚 , 寇睿明 更多章节内容可以访问云栖社区“异步社区”公众号查看。

6.5 AppFabric服务总线基础概念

在大型分布式应用程序中最常见的需求之一就是连通性,而应用程序的整合通常也是IT领域中花费最高、最麻烦的。目前大多数组织机构都采用企业服务总线(ESB)这一解决方案。

作为Windows Azure平台的一部分,服务总线让ESB模式在整个Internet领域中成为现实。服务总线提供了很多可以在典型的ESB解决方案中看到的体系结构特点,包括身份认证和访问控制、命名、服务注册、公共消息池等。对于AppFabric服务总线,这些组件必须设计为能够在云端操作,面向的是整个Internet领域,并且要有高度的可扩展性和联合性。

服务总线可以把本地的ESB产品和运行在云端的服务整合,使用大量第三方提供的服务,比如微软或者其他提供商,以及运行在企业防火墙之外的各种桌面级、RIA(Rich Internet Application)和Web应用程序。

1.中继连接
现今,大量诸如即时消息、在线多人游戏、使用比如BitTorrent协议的对等文件共享应用程序等占据了网络传输中很大的比重。这些应用程序都是通过写低层的网络逻辑来实现穿过防火墙和NAT(Network Address Transfer)设备以创建对等连接的。它们通常都通过一个中继服务来提供连接逻辑,如图6-43所示。


fcfd31419f54c393f6a3ed7152decc9ae4df9e9b

它的工作方式是:本地化服务通过出站端口连接中继服务并创建一个双向套接字绑定到特定的集结点地址来通信。客户端通过向中介服务发送消息实现与本地化的服务端通信。中继服务通过早已准备好的双向套接字连接将消息转发给本地化的服务端。客户端不需要和服务端建立连接,也不必知道服务端在哪,而服务端也不需要在防火墙上打开入站端口。

使用服务总线中继,可以充分利用单向消息、请求—响应、发布—订阅(多播)甚至异步和缓冲消息的优点。

2.直接互连性
除了中继通信,服务总线还提供了在客户端和服务端建立直接连接的能力以提高效能和吞吐量。客户端和服务端仍然先通过公共集结点地址与中继通信,然后中继会帮助它们直接互连以避免未来的中继转发。

中继基于客户端和服务端的探询信息,使用公共端口预测算法来实现二者的直接互连。中继服务查看探询信息,然后尽力预测接下来哪些端口会在两个NAT设备上打开。之后,中继向客户端和服务端提供信息,它们就可以尝试建立连接了。如果中继服务预测准确,连接将会建立成功;否则,中继会继续预测直到决定放弃直接互连,继续使用中继连接,如图6-44所示。


<a href=https://yqfile.alicdn.com/36e4741b77932c8aa712d383806120b4ded636e3.png" >

3.中继地址
理解如何为服务总线端点(endpoint)构造集结点地址对于使用服务总线非常重要。当公开一个基于TCP的端点时,地址构造如下。

sb://{namespace}.servicebus.windows.net/{name1}/{name2}/...

当要使用一个基于HTTP的地址时,只需要将“sb”协议替换为“http”或者“https”。

http://{namespace}.servicebus.windows.net/{name1}/{name2}/...

要注意地址必须以命名空间开始,以区别于服务总线上其他用户使用的端点。地址中包含的命名空间域名之后的部分可以随便起名字。

4.服务注册中心
服务总线提供服务注册中心来发布服务和为某个解决方案寻找服务端点。服务总线自动将公开端点发布在服务注册中心里,这样其他人通过浏览该服务命名空间的基地址来发现该服务,在这个命名空间基地址可以检索到包含该端点信息的订阅。

为了确保一个端点会出现在服务注册中心,必须配置该端点以被广泛发现。只需将端点与ServiceRegistrySettings行为关联起来,并将DiscoveryModel设置为DiscoveryType.Public。

5.与WCF整合
在.NET平台上使用服务总线的主要编程模型是WCF(Windows Communication Foundation)。在相应的SDK中带有一套可以自动将WCF服务端和客户端与中继服务整合的WCF中继绑定操作集。大多数情况下,只需要将当前使用的WCF绑定替换为服务总线绑定即可。

表6-2中列出了所有的服务总线绑定和对应的标准WCF绑定。像BasicHttpBinding、WebHttpBinding、WS2007HttpBinding和NetTcpBinding这些最常用的绑定都对应一个名字非常相似的服务总线绑定(仅仅在Binding前添加了Relay)。只有很少的中继绑定如NetOneWayRelayBinding和NetEventRelayBinding在WCF中没有相应的绑定。


e2a6920f3457d70a96b6c2d5935c95d078b9d391
相关文章
|
11月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
1090 116
|
12月前
|
存储 数据安全/隐私保护 Windows
Windows中部署网盘神器 Filebrowser
ZeroNews (零讯)内网穿透赋予 FileBrowser 任意位置互联网访问的能力,无需用户具备固定公网IP,提供专用的访问域名,将 FileBrowser 转变为公有云盘,实现多用户在线协同工作。
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
15049 5
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
6827 0
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
4203 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
2727 1
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
545 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
3509 8
|
边缘计算 安全 网络安全
|
存储 监控 数据可视化
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
436 0

热门文章

最新文章