Dispatcher internal-draft

390 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
390
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dispatcher internal-draft

  1. 1. Colony-dispatcher’s internal
  2. 2. Dispatcher Function: Selective Relay Swift0 http://swift0/v1.0/AUTH_test dispatcherhttp://dispatcher/swift0/v1.0/AUTH_test Swift1 http://swift1/v1.0/AUTH_test
  3. 3. Dispatcher Function: Selective Relay Swift0 http://swift0/v1.0/AUTH_test dispatcherhttp://dispatcher/swift1/v1.0/AUTH_test Swift1 http://swift1/v1.0/AUTH_test
  4. 4. Dispatcher Function: Selective Relay Swift0 http://swift0/v1.0/AUTH_test dispatcherhttp://dispatcher/merged/v1.0/AUTH_test Swift1 Merge the results of two or more swift systems. http://swift1/v1.0/AUTH_test
  5. 5. How to merge responses fromdifferent Swift clusters
  6. 6. Retrieve Account Metadata in Merge mode MergedHEAD /merged/v1.0/AUTH_test sw0: sw0: sw0: Cont Cont Cont X-Account-Byte-Used: 1800(600 + 1200) 0 1 2 X-Account-Container-Count: 6 (3 +3) X-Account-Object-Count: 18 (6 + 12) sw1: sw1: sw1: Cont Cont Cont 0 1 2 Swift0 Swift1 Cont Cont Cont Cont Cont Cont 0 1 2 0 1 2 swift0 swift1 X-Account-Byte-Used: 600 X-Account-Byte-Used: 1200 X-Account-Container-Count: 3 X-Account-Container-Count: 3 X-Account-Object-Count: 6 X-Account-Object-Count: 12
  7. 7. List Containers in Merge mode Prefix to indicate the name of the swift system is given a container. MergedGET /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. 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 ContGET /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. 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 2PUT /merged/v1.0/AUTH_test/sw1:Cont2 sw1: sw1: sw1:DELETE /merged/v1.0/AUTH_test/sw1:Cont2 Cont Cont ContHEAD /merged/v1.0/AUTH_test/sw1:Cont2 0 1 2POST /merged/v1.0/AUTH_test/sw1:Cont2 Swift0 Swift1 Cont Cont Cont Cont Cont Cont 0 1 2 0 1 2
  10. 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 ContGET /merged/v1.0/AUTH_test/sw1:Cont2/obj0 0 1 2PUT /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 2HEAD /merged/v1.0/AUTH_test/sw1:Cont2/obj0POST /merged/v1.0/AUTH_test/sw1:Cont2/obj0 Swift0 Swift1 Cont Cont Cont Cont Cont Cont 0 1 2 0 1 2 obj
  11. 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 ContCOPY /merged/v1.0/AUTH_test/sw0:Cont2/obj0 0 1 2X-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. 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 GETCOPY /merged/v1.0/AUTH_test/sw1:Cont2/obj0X-Copy-From: /sw0:Cont1/obj0Content-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
  13. 13. Authentication in Merge mode Swift0’s keystone Auth_Token: AAAAAAAAAA dispatcherAuth_Token: AAAAAAAAAA__@@__BBBBBBBBBB Swift1’s keystone Auth_Token: BBBBBBBBBB
  14. 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. 15. Dispatcher Function: Relay to the nearest Swift0a dispatcher Confirmed the network closeness to swift proxies Swift0b

×