Где найти объект репликации vshard для выполнения удаленного вызова на нем - PullRequest
1 голос
/ 13 июня 2019

Я использую модуль tarantool-vshard. Документация говорит, что я могу выполнить удаленный вызов на репликасе, используя следующий синтаксис:

replicaset.call(replicaset_uuid, function_name, {args}, {options})
-- or callrw or callro

Где я могу получить этот объект replicaset?

1 Ответ

1 голос
/ 13 июня 2019

Если вы хотите выполнить вызов для определенного сегмента, вы можете использовать

local replicaset = vshard.router.route(1)
replicaset:call(...)

Или вы можете перебрать все репликасы:

for uuid, replicaset in vshard.router.routeall() do
    replicaset:call(...)
end

Обратите внимание, что вам не нужно явно передавать uuid, вместо этого вы можете использовать двоеточие :call().

...