-
Notifications
You must be signed in to change notification settings - Fork 279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for AWS Elasticache Autodiscovery #37
Comments
It would be a great feature. 2015-10-28 4:28 GMT+08:00 Jonathan Marston notifications@github.com:
庄晓丹 |
+1 to this issue, it's a big problem when Amazon replaces a node |
Any update on this topic @killme2008 ? it seems we're seeing more node replacement by AWS these days and it's becoming a problem for us |
I am start working on it. But forgive me that i don't have much time on it.Try my best. |
hi,it's fixed in 2.1.0 |
Hi! Thanks, but elasticache auto-discovery is not exactly the same as #49 (but #49 is totally needed to work properly with elasticache - thanks for that!) Elasticache provides an auto-discovery api: This feature is very interesting when increasing or decreasing the cluster size dynamically. |
Sorry, my misunderstood. awslabs/aws-elasticache-cluster-client-memcached-for-java@70bf764 I should resolve this issue in one week,very sorry so late to look into it. |
No need to apologize, your work and your willingness to listen to users are greatly appreciated! |
@flozano I will release a beta version this weekend, maybe you want to try it. It may has some bug especially when adding/replacing/removing nodes. |
Released 2.2.1-beta https://github.com/killme2008/xmemcached/releases/tag/xmemcached-2.2.1-beta A simple example: import java.net.InetSocketAddress;
import net.rubyeye.xmemcached.aws.AWSElasticCacheClient;
import net.rubyeye.xmemcached.aws.ClusterConfigration;
import net.rubyeye.xmemcached.command.BinaryCommandFactory;
import net.rubyeye.xmemcached.command.TextCommandFactory;
public class Test {
public static void main(String args[]) throws Exception {
AWSElasticCacheClient client =
new AWSElasticCacheClient(new InetSocketAddress("AWS ElasticCache node host",
11211));
ClusterConfigration conf = client.getConfig();
System.out.println(conf.toString());
client.set("a", 0, 1);
System.out.println((Object)client.get("a"));
}
} @flozano Please test it and give me some feedback when you are free, thanks a lot. |
Have you test it? Feedback welcome! |
Working in our production environment now. |
@marstonstudio Thanks, i will release new version this weekend. |
Released 2.3.0, but it may take sometime to be synchronized to maven central repository. https://github.com/killme2008/xmemcached/releases/tag/xmemcached-2.3.0 |
Request to add support for AWS Autodiscovery to xmemcached
http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/AutoDiscovery.html
Amazon forked the spy client to provide and implementation of this functionality
awslabs/aws-elasticache-cluster-client-memcached-for-java@70bf764
But we have had recurring problems with Spy client and much prefer xmemcached
Only problem with xmemcached is that there is no builtin recovery mechanism if a node is replaced after the client has initialized. A new node will have the same URL but different IP address.
Any interest?
The text was updated successfully, but these errors were encountered: