进化的 Tarantool 实例

问题描述

如果我们有一个 tarantool 实例(没有 Cartridge 或 VShard),那么我们将来有时需要将它复制到另一台机器而不停机怎么办?

或者如果使用墨盒是最简单的方法,那么如何从墨盒外部连接到 tarantool 墨盒?例如使用 golang(用户名和密码是什么?):

taran,err = tarantool.Connect(cfg.Tarantool.Addr,tarantool.Opts{
    User:          cfg.Tarantool.User,Pass:          cfg.Tarantool.Pass,Reconnect:     10 * time.Second,MaxReconnects: 8640,})      

例如在其他数据库中只需要从 master 附加一个新的 slave(1 个命令行调用)并等待它同步(100% 复制)。

解决方法

不确定我会完全回答你的问题。但让我们分别讨论每一点。

复制

您可以在没有 vshard 或盒式磁带的情况下使用复制。 vshard 是一个分片模块,如果你不需要分片,你可以只使用复制功能。 阅读文档配置中的复制 - https://www.tarantool.io/en/doc/latest/book/replication/。 Cartridge 只是简化集群管理并为您提供大量有用功能的框架。

用户密码

您还询问用户/密码。调用 box.cfg{listen=...} 后,您可以创建一些用户,更改其某些权限并更改其密码。请在我们的文档 - https://www.tarantool.io/en/doc/latest/book/box/authentication/ 中阅读有关 Tarantool 中的用户管理的信息。创建某个用户后,您可以通过该用户下的连接器、控制台(使用 tarantoolctl)或其他 Tarantool(使用 net.box 模块)连接到 Tarantool 实例。 谈到墨盒,它使用系统用户 admin 和 cluster-cookie 作为密码。