Closed benedekh closed 7 years ago
Could I please have some clarification with regards to the structure of the ECS; There isn't supposed to be a distinct service apart from the client is there? It's going to consist of a CLI sitting on top of a library similar to the KVClient and the KVstore right? If this is the case; where and how does the server collection get stored?
There will be some kind of ECS Service with that the ECSClient communicates (just for abstraction and separation of concerns).
Regarding the server collection: it is a tab separated file, whose path is a command-line argument of the ECSClient, see m3 docs page 10. First, the ECSClient parses that file, and passes the valid rows (which meet the syntax criteria) to the ECSService that stores a collection of the available machines.
I know about the ECSService storing the valid rows, I was asking about how it's going to store them in terms of a data structure or class. I was thinking of using a set or a map of ServerConnectionInfo objects or something similar.
Yes, that would be a good idea.
[x] The ECS is bootstrapped with a configuration file that specifies the IP addresses and ports of n storage servers under its control. These storage servers provide the KVServer interface available at the specified IP and port. The storage servers are launched by the ECS through SSH calls.
[x] Remotely launch a storage service comprised of m storage server nodes (m <= n)
1.Compute key-range position of the server within the service