[Openstack] [Swift] Allowing clients to write to separate regions
Michael Gale
gale.michael at gmail.com
Tue Jun 24 03:57:26 UTC 2014
Hello,
How are you planning to replicate data between regions? You said you
don't want container-sync.
Also Swift offers read affinity and write affinity, I believe this is setup
on the Swift proxy. The affinity settings allow the proxy servers to
restrict read and write requests to local resources. The proxy server
endpoints are usually handled out by keystone.
If you are not using keystone then if it up to you to choose a service
discovery method:
1. Geo-DNS
2. Anycast IP address
3. Unique DNS name per location
4. etc
Michael
On Mon, Jun 23, 2014 at 9:29 PM, Shrinand Javadekar <shrinand at maginatics.com
> wrote:
> 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
> >
> >
>
> _______________________________________________
> 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
>
--
“We, the unwilling, led by the unknowing, are doing the impossible for the
ungrateful. We have done so much, for so long, with so little, we are now
qualified to do anything with nothing.”
― Konstantin Josef Jireček
<https://www.goodreads.com/author/show/4666841.Konstantin_Josef_Jire_ek>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140623/f70d5eee/attachment.html>
More information about the Openstack
mailing list