<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 77.95pt 1.0in 77.95pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Hi,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Basically, we are using
Amazon's EC2 servers as memcached servers. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>So as and when we see
an increase in traffic/load, we expect to add more EC2 servers to the memcached
cloud. And when the traffic/load subsides (lets say after a week or so), we might
remove a few servers from the cloud. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>In such a scenario, if
using normal hashing, I believe we would have to flush everything when
adding/removing memcached servers. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Do you think doing this
might cause the system to go in a spin and might be a risky proposition, and so
we should rather consider using consistent hashing?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Or do you think this is
not a big deal and we should rather use the regular hashing (which is more
stable)?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Please let me know your
comments on this.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=navy face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:navy'>Ajinkya</span></font> <o:p></o:p></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>-----Original Message-----<br>
From: Mikael Johansson [mailto:mikael@synd.info] <br>
Sent: Thursday, August 30, 2007 11:03 AM<br>
To: Ajinkya Nahar<br>
Cc: memcached@lists.danga.com; sunil@truesparrow.com; 'Nishith Shah'<br>
Subject: Re: Regarding Consistent Hashing....</span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hi,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>I believe there's already people using consistent hashing on large<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>installs out there. As to the pecl/memcache client the code is not<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>released and still in CVS, but it is stable (and certainly ready to be<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>evaluated/tested), also a release is coming up so you can either wait<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>for that or build from source like<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;cvs -d :pserver:cvsread@cvs.php.net:/repository checkout
pecl/memcache<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;cd pecl/memcache<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;phpize<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;./configure<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;make &amp;&amp; make install<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Enable it by setting an php.ini entry like<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&nbsp;memcache.hash_strategy = consistent<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Please note that the consistent hashing implementation might still<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>change in the future when a standard is reached on the subject.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>//Mikael<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Ajinkya Nahar wrote:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Hi all,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; I want to know whether consistent hashing technique can be used in<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; production environment.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Is it still too young or is it of production quality?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Also, what configuration needs to be done in the PHP client when
using<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; consistent hashing?<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Please let me know.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Thanks in advance.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; Ajinkya<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt;&nbsp; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>&gt; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>