Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Riak python,如何正确连接到服务器池?_Python_Riak - Fatal编程技术网

Riak python,如何正确连接到服务器池?

Riak python,如何正确连接到服务器池?,python,riak,Python,Riak,如果我的Riak集群中有5台机器(riak1、riak2…),我应该创建一个带有单个主机的RiakClient,还是创建5台机器的完整列表以实现冗余,是否有节点成员的自动发现 RiakClient(protocol='http', host='riak1', http_port=8098) 或 是否有其他选择,例如riak群集节点前面的负载平衡器主机?使用HTTP而不是协议缓冲区有什么特殊原因吗 在任何情况下,节点必须是“节点配置列表,其中每个配置都是包含键“主机”、“http\U端口”和“p

如果我的Riak集群中有5台机器(riak1、riak2…),我应该创建一个带有单个主机的
RiakClient
,还是创建5台机器的完整列表以实现冗余,是否有节点成员的自动发现

RiakClient(protocol='http', host='riak1', http_port=8098)


是否有其他选择,例如riak群集节点前面的负载平衡器主机?

使用HTTP而不是协议缓冲区有什么特殊原因吗

在任何情况下,
节点
必须是“节点配置列表,其中每个配置都是包含键“主机”、“http\U端口”和“pb\U端口”的dict()

即:

RiakClient(protocol='http', nodes=[
    {'host': 'riak1', 'http_port': 8098}, 
    {'host': 'riak2', 'http_port': 8098},
    {'host': 'riak3', 'http_port': 8098}, 
    {'host': 'riak4', 'http_port': 8098},
    {'host': 'riak5', 'http_port': 8098}])
是的,您可以在Riak群集前面使用负载平衡器。实际上,这是一个好主意,因为无论Riak集群中有多少节点,您的客户机都将连接到单个主机。添加/删除/替换节点不会影响客户端

但是,如果选择不传递,则必须显式传递Riak节点的完整列表,以便在客户端实现冗余和负载平衡(“请求新连接时选择随机节点”)

RiakClient(protocol='http', nodes=[
    {'host': 'riak1', 'http_port': 8098}, 
    {'host': 'riak2', 'http_port': 8098},
    {'host': 'riak3', 'http_port': 8098}, 
    {'host': 'riak4', 'http_port': 8098},
    {'host': 'riak5', 'http_port': 8098}])