Web服务中的容错Aerospike连接

本文关键字:Aerospike 连接 容错 服务 Web | 更新日期: 2023-09-27 18:13:43

我需要在Web服务中与Aerospike noSQL DB进行持久连接。

在非web应用程序中,连接直接为

using (AerospikeClient client = new AerospikeClient("127.0.0.1", 3000)) 
{
...
}

但是在Web服务应用程序中,为每个请求创建新的客户端是非常昂贵的。最佳实践也这样说:"在程序中每个集群只使用一个客户端实例,并在多个线程之间共享该实例。AerospikeClient和asynclient是线程安全的。"

我可以创建一个静态对象,但是如果客户端断开连接,无论是错误还是超时(24小时最大连接生存时间)怎么办?谁能提供容错代码片段?(可能类似于redis模式ConnectionMultiplexer如何处理断开连接?)

Web服务中的容错Aerospike连接

客户端管理套接字池。如果发生套接字错误或超时,则处理套接字。