Version: 6000.3
语言: 中文
在命令行上使用 Unity Accelerator
缓存服务器项目设置参考

镜像多个 Unity Accelerator 实例

您可以配置多个 Unity加速器Unity 加速器是一种外部工具,它提供资产缓存,用于保存团队导入资产的副本。加速器的目标是通过协调资产共享来加快团队合作并减少迭代时间,这样您就不需要重新导入项目的某些部分。更多信息
请参阅术语表
实例来镜像相同的缓存数据。您可能希望在同一网络上运行两个镜像缓存服务器以实现高可用性。例如,如果一台服务器崩溃、出现硬件故障或因任何原因需要维护,另一台服务器可以进行补偿。您还可以镜像彼此远程的缓存服务器,例如,总办公室可能会将其数据镜像到分支机构,并提供其缓存数据的副本以供分支机构使用。

镜像功能仅提供传出数据功能,也称为推送或转发。您可以推送或转发到多个缓存服务器,甚至可以将它们链接起来。例如,A 发送给 B,B 发送给 C,甚至 C 发送回 A。您无需担心循环链,因为项目带有时间戳,因此接收缓存服务器会忽略任何不比它已有的更新的传入项目。

镜像示例

在以下示例中,服务器 A 有一个ip:port1.1.1.1:1111服务器 B 是2.2.2.2:2222.两者都没有数据开始,因此以下内容将一个项目放入 A 中,并指出它不在 B 中:

$ echo test1 | unity-accelerator cache put 1.1.1.1:1111 namespace1 key1
$ unity-accelerator cache get 1.1.1.1:1111 namespace1 key1
test1
$ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1
key not found

下面将 A 配置为转发到 B。它会更改 A 的配置,因此请登录运行加速器 A 的计算机,关闭加速器并执行以下作:

# Shutdown Accelerator A
$ cd <directory where unity-accelerator.cfg is>
$ unity-accelerator config set ProtobufForwardPuts protobuf:2.2.2.2:2222
# Start Accelerator A back up

您现在可以将另一个项目放入 A 的缓存中,并看到它转发给 B:

$ echo test2 | unity-accelerator cache put 1.1.1.1:1111 namespace2 key2
$ unity-accelerator cache get 1.1.1.1:1111 namespace2 key2
test2
$ unity-accelerator cache get 2.2.2.2:2222 namespace2 key2
key not found
# It will take up to a minute before the forwarding occurs, due to how the algorithm works with batching, etc. But within a minute or two you should see...
$ unity-accelerator cache get 2.2.2.2:2222 namespace2 key2
test2

但是,这仅涵盖新数据:任何放入加速器 A 的新项目都将转发到加速器 B。它不涵盖任何现有数据。在此示例中,第一个项仍然不在加速器 B 中。

$ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1
key not found

为了解决这种情况,并且如果您只想转发一次所有数据(这在从一个加速器切换到一个新加速器时很有用),您可以使用“推送”命令行工具:

$ unity-accelerator cache push 1.1.1.1:1111 2.2.2.2:2222
{"msg":"push completed", "destination":"2.2.2.2:2222", "namespaces":2, "keys":2, "bytes":12, "supercededs":1, "errors":0, "elapsed":"44.054078ms"}
$ unity-accelerator cache get 2.2.2.2:2222 namespace1 key1
test1

推送工具向第一个加速器发送请求,并告诉它将其所有数据发送到第二个加速器。完成后,第一个加速器会发回“推送完成”响应,其中包含有关已完成作的详细信息。

您可以通过运行unity-accelerator config help | less并搜索“转发”。您可以指定转发并发、队列大小、错误处理等。

另请注意,您可以更改每个镜像加速器的 MaintenanceStart 和 MaintenanceDuration 的配置值,以便它们不会同时关闭以进行维护。

其他资源

在命令行上使用 Unity Accelerator
缓存服务器项目设置参考