我想创建一个Web服务,应用程序服务器可以联系该服务以将其自身添加到实现该应用程序的服务器列表中。然后,客户端可以联系该服务以获取服务器列表。类似于minecraft's heartbeats work将服务器添加到主服务器列表的方式。
我可以很容易地自己实现它,但我希望有人已经创建了这样的东西。
高级功能非常有用。比如:
有谁知道这样的服务?我知道有用于进行本地局域网服务发现的开放协议和服务器,但这将是一个WAN服务。
答案 0 :(得分:1)
基本上,你可以自己写,虽然我不知道是否有人公开(我在10年前写过一篇,但对于一家公司)。
http://<you-app.com>?svr_name=XYZ&svr_ip=P.Q.R.S
)要发送心跳,您只需要发送一个http://调用,在Linux上使用带有crontab的wget *,在Windows上使用带有任务调度程序的wget.exe。
这是特定于应用程序的,所以即使您自己编写了一个,其他人也可以在不修改源代码的情况下使用它。
答案 1 :(得分:1)
我能找到的与您的预期应用程序有任何关联的协议是:
XRDS 文档很麻烦,但您可以推送XML格式的服务描述。服务类型规范可能是通用的,但我试图破译委员会发言时会感到头痛。
XMPP服务发现协议(以前称为Jabber的协议的一部分)也看起来很有前景,但似乎即使你可以推送你的服务描述,他们也希望它是其中一个this list上提到的服务。扩展它会使它不标准。
最后,我发现了一些名为 seap (SErvice Announcement Protocol) 的内容。这是旧的,它是摇摇晃晃的,来源可能是正当的,它是用C和Perl编写的,它是一个kludge,但它似乎做你想要的,有点。
似乎推动服务公告脉冲是一个特定于应用程序和微不足道的问题,几乎没有人考虑解决一般情况。
我的建议?阅读上面提到的协议和资源以获取灵感(我从seap开始),然后自己编写,实现和发布一个通用的(可能是基于xml的)协议。所有现有的似乎都是特定于应用程序,不可理解的或者是一个kludge。