所以我们有一个应用程序,使udp调用和发送数据包。但是,由于对UDP调用给出了响应,我们如何确保服务已启动并且端口已打开并且事件正在被存储?UDP健康检查
我们现在唯一的想法是发送测试数据包,并确保它们被保存到数据库。
所以我的问题是,有没有更好,更简单的方法来确保我们的udp调用成功?
所以我们有一个应用程序,使udp调用和发送数据包。但是,由于对UDP调用给出了响应,我们如何确保服务已启动并且端口已打开并且事件正在被存储?UDP健康检查
我们现在唯一的想法是发送测试数据包,并确保它们被保存到数据库。
所以我的问题是,有没有更好,更简单的方法来确保我们的udp调用成功?
我们采取了一种不同的方法,我们正在检查以确保调用它到数据库。它很容易查询一个表,并确保记录在那里。如果没有最近,我们知道有什么不对。 CodeGnome有一个好主意,而不是我们去的路线。谢谢!
在监听主机上,您可以验证端口是否打开netstat。例如,如果您的应用程序使用UDP端口68,你可以运行:
# Grep for :<port> from netstat output.
$ netstat -lnu | grep :68
udp 0 0 0.0.0.0:68 0.0.0.0:*
你也可以一些测试数据发送到您的应用程序,然后检查你的数据库,以验证该灯具的数据使它成为你的数据库。这并不意味着它总是会的,只是它在测试时正在工作。
最终,问题是UDP数据包是尽力而为的,而不是保证。因此,除非您可以配置您的日志平台在接收和/或写入数据后发送某种确认,否则您无法保证任何内容。 UDP的本质就是它将确认(如果有的话)留给应用层。
如果您需要可靠性,请使用TCP。否则,你最终只会或多或少地重新创建TCP。 –
这是一个相当广泛的日志平台,已经建成,我们正在试图找到最简单的解决方案,以最小的修改,以便不打破其他项目。 – Adam
我们采取了一种不同的方法,我们正在检查以确保调用它到数据库。它很容易查询一个表,并确保记录在那里。如果没有最近,我们知道有什么不对。 – Adam