[Openstack] [Swift] Allowing clients to write to separate regions

Kuo Hugo tonytkdk at gmail.com
Tue Jun 24 03:36:31 UTC 2014


Got it.
So what's the authentication method would you plan to have on Swift now?

Basically, you can use Geo-DNS with a single Swift endpoint CNAME record on
auth endpoint. Once the auth request be routed to nearest Swift Proxy, it
returns it's storage url for the user.




2014-06-24 11:29 GMT+08:00 Shrinand Javadekar <shrinand at maginatics.com>:

> I don't plan to use Keystone at all.
>
> On Mon, Jun 23, 2014 at 8:13 PM, Kuo Hugo <tonytkdk at gmail.com> wrote:
> > Do you plan to have two keystone servers in each region or single
> keystone
> > server for both east/west coast Swift proxy?
> >
> > 1. Geo-DNS + single Swift region endpoint in keystone
> > 2. Geo-DNS for Keystone servers and each Keystone server returns the
> local
> > Swift endpoint.
> > 3. Let user to switch which region of Swift endpoint would they like to
> use.
> >
> >
> > Hope it help
> >
> >
> > 2014-06-24 8:38 GMT+08:00 Shrinand Javadekar <shrinand at maginatics.com>:
> >>
> >> Hi,
> >>
> >> I am trying to understand the notion of "regions" in Swift. To start
> >> with, it's kinda confusing that the notion of "region" in Keystone is
> >> not exactly the same as that of Swift. So I could authenticate with
> >> Keystone, get a Swift endpoint for a region (Keystone's notion of a
> >> region) and write/read data. That could then possibly translate to
> >> data writes/reads from another region (Swift's notion of a region).
> >>
> >> So, as per the example in [1], let's say I have two regions: SF and
> >> NYC. I would like the have clients write to the most local region. How
> >> do I achieve this? I am *not* looking to use container-sync.
> >>
> >> I had a quick word about this on the #openstack-swift irc channel.
> >> Asking over email for better clarity and more details. I believe the
> >> way to go about this would be:
> >>
> >> (1) Have two Swift proxy servers in each region. Configure DNS such
> >> that the domain name of the Swift proxy server resolves to the
> >> "closest" node.
> >>
> >> Each of these proxy servers will be configured with read/write
> >> affinity to object servers in its region.
> >>
> >> This is great because it means I only have to use one endpoint.
> >>
> >> (2) Have two Swift proxy servers in each region with separate IPs.
> >> Inform clients about the closest endpoints and let clients write to
> >> the correct proxy servers. If they make a mistake, data can still get
> >> written to the in-correct node.
> >>
> >> Any other way? Is there a way to query the available regions (say a
> >> latency test) and use the one which is fastest to reach?
> >>
> >> Thanks in advance.
> >> -Shri
> >>
> >> _______________________________________________
> >> Mailing list:
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> >> Post to     : openstack at lists.openstack.org
> >> Unsubscribe :
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140624/7ee7bb44/attachment.html>


More information about the Openstack mailing list