WCF4.0 的动态终结点搜索技术

  • Jonathan Allen
  • 王瑜珩

2009 年 5 月 19 日

话题:SOA.NET语言 & 开发架构

从灾难中恢复时,运行核心服务的主机可能会崩溃或不可用,一些后备服务器可以立刻顶上,这通常需要更新 DNS 配置,或者预先配置好一个负载均衡设备。但是不是只能这么做呢?如果客户端应用能够简单的问一句“谁能提供 IFoo 服务”,就可以自动连接到后备服务器岂不是更好?

使用 WCF 4.0 的动态终结点探索技术,这将成为可能。基于 WS-Discovery 标准,服务可以使用“udpDiscoveryEndpoint”来表明自己的存在。然后应用程序就可以使用 DiscoveryClient API 来寻找实现特定 contract 的服务。

找到服务的地址后,客户端还需要知道绑定所需的信息,才能够开始调用服务。这项工作可以通过使用 MetadataResolver 来实现,这个 API 一直存 在于 WCF 中。和动态终结点搜索一样,这项技术也基于 Web Service 标准,准确的说是 WS-MetadataExchange。

构建在这之上的是AnnouncementService,客户端可以通过它来得知服务何时可用或不可用。将之与动态终结点搜索相结合,可以开发成熟的负载均衡与故障转移方案。

查看英文原文:Dynamic Endpoint Discovery for WCF 4.0

SOA.NET语言 & 开发架构