LeoGateway's Architecture¶
LeoGateway consists of the fast HTTP server which is Cowboy, the multi-protocols handler, and the object cache. It provides multi-protocols which are the RESTful API, Amazon S3-API, and NFS v3. If you adopt using Amazon S3-API, you can easily access LeoFS with S3 clients which include s3cmd, DragonDisk and AWS SDKs - Java, Ruby, Go, Python (Boto3) and others.
A client requests an object or a bucket operation to a LeoGateway node, then it requests the message of an operation to a LeoStorage node.
A destination LeoStorage node is decided by RING (distributed hash table), which is generated and distributed at LeoManager nodes.
LeoGateway also provides built-in support for the object cache to realize keeping high performance and reduction of traffic between LeoGateway nodes and LeoStorage nodes.