【问题标题】:Azure Cloud Service Virtual Machine EndpointsAzure 云服务虚拟机终结点
【发布时间】:2015-08-18 03:51:51
【问题描述】:

我有一个作为云服务托管在 Azure 上的 WEB API 服务。

服务有自己的内存缓存库。

该服务有一个 HTTP GET 控制器方法,可以让我查看缓存中的条目数。 即:GET http://xxxx.cloudapp.net/CacheEntries 返回“1000 个缓存条目”

现在需要扩展和扩展服务 - 因此我们将实例数从 1 个增加到 4 个。这创建了 4 个虚拟机。

如何检索特定 VM 的缓存条目数?甚至更好:如何获取所有 VM 的缓存条目数?

我想做这样的事情:

GET http://xxxx.cloudapp.net/VM1/CacheEntries

GET http://xxxx.cloudapp.net/VM2/CacheEntries

GET http://xxxx.cloudapp.net/VM3/CacheEntries

GET http://xxxx.cloudapp.net/VM4/CacheEntries

输出应该是这样的:

实例#1:1000 个缓存条目

实例#2:1200 个缓存条目

实例#3:1200 个缓存条目

实例#4:600 个缓存条目


更新:解决方案是 Azure 公共 IP 地址 - 但它仍处于预览模式: https://azure.microsoft.com/documentation/articles/virtual-networks-instance-level-public-ip/

http://clemmblog.azurewebsites.net/assign-public-ip-addresses-azure-vms/

【问题讨论】:

    标签: azure virtual-machine azure-cloud-services


    【解决方案1】:

    你的问题有点棘手。您可以创建(非负载平衡)不同的端口(81 => vm1 端口 80),以便您可以检索特定的 vm 信息。但是,当您添加另一个实例时,这会导致维护问题。或者缩减回三个实例。

    但是既然你在缩放;您不应该使用共享缓存(例如 Redis),这样您就不必关心每个实例的特定实例和缓存条目吗?

    今天此功能可用;实例级公共 ip:Instance level public IP overview,因此您可以为您的实例分配一个公共 ip 并轮询特定的单例 http 调用以检索这些详细信息。

    【讨论】:

    • 同意。但我的真实情况与问题不同。为了不混淆人们,在这个问题中我给出了一个通用的案例场景。我的真实情况是该服务有一个管理线程的单例类。我需要知道每个虚拟机中运行的活动线程数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多