https://github.com/leo-project/leo_gateway
🚫 DEPRECATED: leo_gateway was merged into leo-project/leofs
https://github.com/leo-project/leo_gateway
Last synced: 14 days ago
JSON representation
🚫 DEPRECATED: leo_gateway was merged into leo-project/leofs
- Host: GitHub
- URL: https://github.com/leo-project/leo_gateway
- Owner: leo-project
- License: apache-2.0
- Created: 2012-06-06T15:24:49.000Z (almost 13 years ago)
- Default Branch: develop
- Last Pushed: 2017-01-12T02:04:35.000Z (over 8 years ago)
- Last Synced: 2025-04-14T20:09:46.837Z (14 days ago)
- Language: Erlang
- Homepage: https://github.com/leo-project/leofs/tree/master/apps/leo_gateway
- Size: 2.63 MB
- Stars: 13
- Watchers: 8
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# leo_gateway
[](http://travis-ci.org/leo-project/leo_gateway)
## Overview
* **leo_gateway**, LeoGateway is one of the core components of [LeoFS](https://github.com/leo-project/leofs). Main roles are described below.
* LeoFS's Gateway use [Cowboy](https://github.com/extend/cowboy) as Erlang's HTTP server.
* Able to speak [Amazon S3 compatible REST API](http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/Welcome.html?r=5754).
* Implemented a subset of Caching in HTTP(RFC2616).## Architecture
LeoFS Gateway consists of the fast HTTP-Server - [Cowboy](https://github.com/ninenines/cowboy), the API handler and [the cache mecanism](https://github.com/leo-project/leo_cache). It provides the REST-API and Amazon S3-API. You’re able to easily access LeoFS with S3-Clients such as `s3cmd`, `DragonDisk`, program languages - `Erlang`, `Java`, `Ruby`, `Python`, `Go` and so on.

A client requests an object or a bucket operation to LeoFS Gateway then LeoFS Gateway requests the message of operation to a storage-node.
A destination storage node is decided by the routing-table. It is called RING which is generated and provided at LeoFS Manager and which is based on consistent-hashing.
Also, LeoFS Gateway provides built-in support for the object-cache mechanism in order to realize Keeping high performance and reduction of traffic between LeoFS Gateway and [LeoFS Storage](https://github.com/leo-project/leo_storage).
* The detail document is [here](http://leo-project.net/leofs/docs/).
* `leo_gateway` uses [rebar](https://github.com/rebar/rebar) build system. Makefile so that simply running "make" at the top level should work.
* `leo_gateway` requires [Erlang R16B03-1 or later](http://www.erlang.org/).## Sponsors
LeoProject/LeoFS is sponsored by [Rakuten, Inc.](http://global.rakuten.com/corp/) and supported by [Rakuten Institute of Technology](http://rit.rakuten.co.jp/).