7

Tôi đã không thể tìm thấy một hướng dẫn tốt về Memcached trên Amazon Cloudand Tôi rất mới với điều này toàn bộ bộ nhớ đệm. Tôi đang cố gắng sử dụng memcached thông qua dịch vụ ElastiCache của Amazon và với một khách hàng spymemcached để thực sự thực hiện các cuộc gọi memcached.Thiết lập Amazon ElastiCache w/spymemcached trong Java

Đây là những gì tôi đang làm trong Java ngay bây giờ:

try { 
     ConnectionFactoryBuilder connectionFactoryBuilder = new ConnectionFactoryBuilder(); 
     MemcachedClient memcachedClient = new MemcachedClient(
       connectionFactoryBuilder.build(), 
       AddrUtil.getAddresses("<beginning of cache node end point grabbed from AWS Console>.cache.amazonaws.com:11211")); 
     memcachedClient.set("test", 12, new Integer(12)); 
     System.out.println(memcachedClient.get("test")); 
    } catch (IOException ioException) { 
     ioException.printStackTrace(); 
    } 

Các lỗi mà tôi nhận được khi tôi cố gắng này là:

java.net.ConnectException: Connection refused 
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567) 
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:414) 
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:278) 
at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:1981) 
2012-02-01 19:25:35.415 WARN net.spy.memcached.MemcachedConnection: Closing, and  reopening {QA sa=<node endpoint>.cache.amazonaws.com/184.73.64.56:11211, #Rops=0, #Wops=2, #iq=0, topRop=null, [email protected]e, toWrite=0, interested=0}, attempt 1. 
net.spy.memcached.OperationTimeoutException: Timeout waiting for value 
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1142) 
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1157) 
at com.amazon.imaging.demo.SQSQueueManager.requeue(SQSQueueManager.java:117) 
at com.amazon.imaging.demo.SQSQueueManager.requeue(SQSQueueManager.java:88) 
at com.amazon.imaging.demo.DemoUI$4.run(DemoUI.java:368) 
at com.amazon.imaging.demo.DemoUI.main(DemoUI.java:391) 
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting for operation - failing node: <node endpoint>.cache.amazonaws.com/184.73.64.56:11211 
at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:65) 
at net.spy.memcached.internal.GetFuture.get(GetFuture.java:37) 
at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1135) 
... 5 more 

Bất cứ ai có bất kỳ ý tưởng hoặc kinh nghiệm với điều này? Cảm ơn!

Trả lời

2

Bạn đang thực hiện điều này ở đâu? Từ trong một trường hợp EC2 hoặc từ một mạng bên ngoài. Hãy nhớ rằng các máy chủ ElastiCache bị ràng buộc bởi nhóm bảo mật hạn chế quyền truy cập vào các cá thể ElastiCAche. Vì vậy, hãy kiểm tra nhóm bảo mật và các cấu hình khác cho phép bạn kết nối với máy chủ Memcached. theo tôi biết, không thể truy cập ElastiCache từ ranh giới AWS bên ngoài

Phần còn lại của mã có vẻ tốt và cConsider sử dụng khung làm việc như Spring để xử lý bản ghi đối tượng khách hàng memcache và cấu hình có liên quan.

Các vấn đề liên quan