zoukankan      html  css  js  c++  java
  • 通过流量管理器和 Azure Functions(作为代理)为全球用户提供最靠近的认知服务(或自定义API)

    本实战是一等复杂度合性实战,涉及到的内容TrafficManagerAzureFunctions/域名解析等几个内容

    本案例基础介绍:

     https://www.bilibili.com/video/av86424146/

    本案例实战:

     

    Azure上认知服务(人脸,语音,翻译等)很多对外提供API的访问方式,如果我需要做一个全球型的人脸识别或者翻译的项目,则可能最终会在Global多个区域部署相应的认知服务,人脸识别设备或者翻译app访问最靠近用户的区域的认知服务即可最快的得到响应。

    其中将用户导流向最靠近用户的区域的服务为TrafficManager

    TrafficManager的设计原理导致了它最终给到用户的是后端服务的IP地址而不是进行流量/请求转发,所以,如果最终你要访问的网站或API或者认知服务不能通过 IP方式访问或者不能够设置使用自定义域名访问,则可通过本案例的方式,即用Azure Functions 作为代理,通过配置自定义域名的方式间接访问你的目标

     

    假设你有一个APIAPI 部署在了 IP地址为 A的一台虚拟机上,通过设置主机头,导致了该API只能通过名的形式访问,比如域名设置成了api.5gn.link, 并且不能通过 IP 地址 进行访问。本案例适用于这种情况,案例中我们使用了AzureFunctions,但实际上并不是唯一选择,也可以使用VM等支持设置自定义域名的服务即可。

    全文请参见:

    Azure Traffic Manager- 可以在全球 Azure 区域内以最佳方式分发流量

    流量管理器-性能方式:

    在国家或区域的两个或更多位置部署终结点,将流量路由到“最靠近”你的位置,即可改善许多应用程序的响应能力。 “性能”流量路由方法提供这种能力。

    “最靠近”的终结点不一定是地理距离最近的终结点。 “性能”流量路由方法通过测试网络延迟来确定最靠近的终结点。 流量管理器维护一份Internet 延迟表,用于跟踪 IP 地址范围与每个 Azure 数据中心之间的往返时间。

    流量管理器在 Internet 延迟表中查找传入 DNS 请求的源 IP 地址。 然后,流量管理器在处理该IP 地址范围的请求时具有最低延迟的Azure 数据中心内选择一个可用终结点,并在DNS 响应中返回该终结点。

    流量管理器定期更新 Internet 延迟表,反映全国 Internet 的变化以及新的 Azure 区域。 但是,由于Internet 上的负载会实时变化,应用程序性能也会随之变化。 “性能”流量路由不会监视给定服务终结点上的负载。 但是,如果某个终结点变得不可用,则流量管理器不会在DNS 查询响应中包括该终结点。

    本案例示意图:

    本案例前置条件:

    有控制权并备案的域名,本文以5gn.link做为演示,该域名托管在阿里云。

    1. 在中国区创建 流量管理器functionproxy.trafficmanager.cn,配置为TCP, 443

    2.在中国区创建Functionschinafunction.chinacloudsites.cn;(略,在UkSouth WestUS2 分别创建Functions

    3. Portal 修改 Functions,创建简单的Http触发Functions(实际上Functions应该调用对应区域的认知服务或自定义API

    4.Functions设置自定义域名 api.5gn.link

    5. 申请SSL证书,并配置到Functions

    6.将流量管理器终结点中添加 chinafunction.chinacloudsites.cn(略,UKSouthWestUS2

     

     

    在公众号阅读文章:https://mp.weixin.qq.com/s/ymRR_Boz13uEOg_9OUgWTA

    在语雀阅读文章:https://www.yuque.com/seanyu/azure/bbe1xs

  • 相关阅读:
    DBCP数据库连接池
    Java Ant build.xml详解
    AWK 用法
    java打jar包
    linux 下java jar包的方法
    linux下java命令行引用jar包
    java webservice
    设计模式的几大原则
    ContextLoaderListener
    WebApplicationContextUtils源码
  • 原文地址:https://www.cnblogs.com/shuzhenyu/p/12254628.html
Copyright © 2011-2022 走看看