4. Dispatcher Function: Selective Relay
Swift0
http://swift0/v1.0/AUTH_test
dispatcher
http://dispatcher/merged/v1.0/AUTH_test
Swift1
Merge the results of two or more
swift systems.
http://swift1/v1.0/AUTH_test
5. How to merge responses from
different Swift clusters
7. List Containers in Merge mode
Prefix to indicate the name of the swift system
is given a container. Merged
GET /merged/v1.0/AUTH_test
sw0: sw0: sw0:
sw0:Cont0 Cont Cont Cont
sw0:Cont1 0 1 2
sw0:Cont2
sw1: sw1: sw1:
sw1:Cont0
Cont Cont Cont
sw1:Cont1
0 1 2
sw1:Cont2
• Corresponds to the
output format plain text, Swift0 Swift1
json, the XML
Cont Cont Cont Cont Cont Cont
• Corresponds to the
0 1 2 0 1 2
parameter "marker"
8. List Objects in Merge mode
Receive a container with a prefix, which returns
a list of objects in the container specified on the Merged
swift system indicated by the prefix
sw0: sw0: sw0:
Cont Cont Cont
GET /merged/v1.0/AUTH_test/sw1:Cont2 0 1 2
sw1: sw1: sw1:
Cont Cont Cont
0 1 2
Swift0 Swift1
Cont Cont Cont Cont Cont Cont
0 1 2 0 1 2
9. Operate Container in Merge mode
Receive a container with a prefix, on the swift
system indicated by prefix, to manipulate the
Merged
container
sw0: sw0: sw0:
Cont Cont Cont
0 1 2
PUT /merged/v1.0/AUTH_test/sw1:Cont2
sw1: sw1: sw1:
DELETE /merged/v1.0/AUTH_test/sw1:Cont2 Cont Cont Cont
HEAD /merged/v1.0/AUTH_test/sw1:Cont2 0 1 2
POST /merged/v1.0/AUTH_test/sw1:Cont2
Swift0 Swift1
Cont Cont Cont Cont Cont Cont
0 1 2 0 1 2
10. Operate Object in Merge mode
Receive a container with a prefix, to manipulate
the objects in the container specified on the swift Merged
system indicated by the prefix.
sw0: sw0: sw0:
Cont Cont Cont
GET /merged/v1.0/AUTH_test/sw1:Cont2/obj0 0 1 2
PUT /merged/v1.0/AUTH_test/sw1:Cont2/obj0 sw1: sw1: sw1:
DELETE /merged/v1.0/AUTH_test/sw1:Cont2/obj0 Cont Cont Cont
0 1 2
HEAD /merged/v1.0/AUTH_test/sw1:Cont2/obj0
POST /merged/v1.0/AUTH_test/sw1:Cont2/obj0
Swift0 Swift1
Cont Cont Cont Cont Cont Cont
0 1 2 0 1 2 obj
11. Copy Object in Merge mode
Copy between containers of the same
prefix is the same as "Copy Object" normal. Merged
sw0: sw0: sw0:
Cont Cont Cont
COPY /merged/v1.0/AUTH_test/sw0:Cont2/obj0 0 1 2
X-Copy-From: /sw0:Cont1/obj0
sw1: sw1: sw1:
Content-Length: 0 Cont Cont Cont
0 1 2
Swift0 Swift1
Cont Cont Cont Cont Cont Cont
0 1 2 0 1 obj 2
COPY
12. Copy Object in Merge mode
In the copy of containers between different Swift0
prefix, make a GET of objects inside dispatcher, Cont Cont Cont
perform the PUT to another system. 0 1 2
obj
GET
COPY /merged/v1.0/AUTH_test/sw1:Cont2/obj0
X-Copy-From: /sw0:Cont1/obj0
Content-Length: 0 dispatcher
If the object that exceeds a 5G, the upload
PUT
process is performed internally divided.
Swift1
Cont Cont Cont
0 1 2 obj
14. Dispatcher Function: Object Caching
CacheServer
(squid)
obj Swift0
obj
dispatcher
Through the cache server when GET
objects. From the second time, GET the
object from the cache server.
15. Dispatcher Function: Relay to the nearest
Swift0a
dispatcher Confirmed the
network closeness to
swift proxies
Swift0b