我有一些程序偶尔(从每隔几分钟到每小时一次)需要将指标发送到Graphite。我应该在我的过程中保持到石墨服务器的套接字打开还是每次我需要发送一些指标时建立一个新的连接?做一个或另一个时有哪些注意事项?
问问题
875 次
1 回答
0
听起来你需要一个 TCP 连接。
您是否应该保持连接处于活动状态取决于对以下几点的回答: - 您想在任何给定时间监视服务器上的“连接”客户端吗?- 相对于前一点,服务器端是否有限制?- 此类客户端“连接”到服务器的数量?- 如果连接创建需要一些时间,会不会有问题?
如果您保持连接打开,只需确保不时发送保持活动消息(提供应用程序级别)。
连接到服务器的大量客户端,即使不活动,也可能会消耗内存或对象资源(例如,如果每个连接有一个线程)。另一方面,保持连接打开,将允许客户端更快地检测到服务器是否存在连接问题(如果这甚至很重要)。
这完全取决于何时需要。
于 2012-04-11T18:07:31.833 回答