Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ElasticCache - What is the difference between the configuration and node endpoint?

ElasticCache gives you both a configuration end point, and an individual node endpoint.

What is really the difference between the two? And a use case that you'd use one versus the other?

I assume configuration end point could point to a group of node endpoints, but I don't really quite get it. A use case example would really help me understand when you'd want to use the 2 differently.

like image 252
Random5000 Avatar asked Oct 05 '13 04:10

Random5000


People also ask

What is configuration endpoint in ElastiCache?

A Redis (cluster mode enabled) cluster has a single configuration endpoint. By connecting to the configuration endpoint, your application is able to discover the primary and read endpoints for each shard in the cluster.

What is configuration endpoint?

Endpoint Configuration adds solution-specific configurations to a configuration manifest and uses one consistent action to distribute it to all endpoints. All the configuration data that reaches the endpoint is then sensitive to changes that affect the endpoint.

What is a node in ElastiCache?

A node is the smallest building block of an Amazon ElastiCache deployment. It is a fixed-size chunk of secure, network-attached RAM. Each node runs the engine that was chosen when the cluster or replication group was created or last modified. Each node has its own Domain Name Service (DNS) name and port.

What is Redis endpoint?

An endpoint is a node or cluster's unique address. Which endpoints to use. Redis standalone node, use the node's endpoint for both read and write operations. Redis (cluster mode disabled) clusters, use the Primary Endpoint for all write operations.


2 Answers

As per my understanding, Node endpoint is associated to particular node which is present in cluster, and Configuration endpoint is for cluster management. Each Node endpoint is connected to Configuration endpoint to get details about other nodes present in that cluster.

The configuration endpoint DNS entry contains the CNAME entries for each of the cache node endpoints; thus, by connecting to the configuration endpoint, you application immediately knows about all of the nodes in the cluster and can connect to all of them.You do not need to hard code the individual cache node endpoints in your application.

For more information on Auto Discovery, see Node Auto Discovery (Memcached).

like image 119
Govind Dubey Avatar answered Sep 21 '22 17:09

Govind Dubey


My understanding of the AWS docs on this topic is that the configuration endpoint is what you need if you have multiple nodes. It looks like you would plug the configuration endpoint URL into their cache client software which download from your elasticache AWS management console (looks only available in Java and PHP at the moment).

If you just have one node then the node endpoint is the one you use with memcache, which with PHP looks like this:

$memcache = memcache_connect('yourECname.tvgtaa.0001.use1.cache.amazonaws.com', 11211);

http://www.php.net/manual/en/memcache.connect.php

p.s. once you download the the cache client, within it it has a link for installation directions which seem pretty self-explanatory: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Appendix.PHPAutoDiscoverySetup.html

like image 34
tim peterson Avatar answered Sep 20 '22 17:09

tim peterson