ممر التخزين بواسطة St-Pete
مرحبا! أنا مونس أندرسون ، مهندس منصة Mail.ru Cloud Solutions ، وسأخبرك كيف قمنا ببناء تخزين S3 الخاص بنا ، وكيف يعمل ، وما هي الحلول التي أثبتت نجاحها ، وأيها يستحق التغيير إذا بدأنا نفس المشروع من الصفر الآن.
@Databases Meetup by Mail.ru Cloud Solutions & Tarantool. :
- Mail.ru, S3-;
- , Mail.ru Cloud Storage;
- ;
- : ;
- ;
- SSL-.
Mail.ru, S3-
S3 Mail.ru, , .
Mail.ru . storage- — 36 12–14 . , .
«» (pair). — unit . , , , , .
— , , . , , 3/2.
(pair) —
PairDB — Tarantool. , , — Tarantool, .
PairDB , , , , . , , , . PairDB — .
Pair DB:
, , , , — FileDB. , : - -, .
File DB: ,
— Nylon, . , PairDB, FileDB. stateless-, , , FileDB , , , .
Nylon:
- . — Streamer. HTTP-: PUT, , GET, . HTTP — .
Streamer'y, Nylon PairDB, , , WebDAV .
, storage — nginx , . Streamer , , . .
Streamer:
, S3-
, , S3-. PUT . . S3. S3, , :
- — ;
- HTTP;
- — ;
- HTTP-S3 Endpoint. S3 — , .
. .
, S3 API. S3 API Amazon, XML . - , .
Nginx. SSL, , Lua (, ).
S3 Tarantool. S3 , Streamer.
Nginx + S3 API +
, S3. — . . . URL. — blob, , . : — URL, ACL ( ), — .
: , , . , : uploads chunks. .
b2b- , .
Tarantool.
S3-:
, : , .
-. , - . - : S3- , , - . , -.
, - , , S3.
Tarantool. - — 21 , , . : -, . . , , . , Token Bucket. -, , , , . S3-, .
. S3 , . : Streamer, FileDB, PairDB, Storage. .
nginx, , SSD RAM-. Tarantool, , . , 32 , Tarantool .
, , capacity (), , , , .
:
, - — .
S3- Tarantool. Tarantool, - . , API, — Tarantool, . , . .
,
, — . , .
: , , . , , . , , , . , .
, — , . .
, : , ACL. . , , , .
:
- , , ;
- , , ;
- lifecycle — , , .
, . , , , , .
, , .
, . 256 . . — , , :
f(bucket, shards) = subset
, , . map-reduce , , , . , . , , .
— , , . , :
f(object, subset) = shard
, , — .
, , . . , — , , .
— . , . , .
, . nginx, S3 API, , primary- ,
, : « , , — , ». , , URL .
Icebox , Hotbox, - . Hotbox Icebox , .
, , , , , . . .
primary-. Tarantool :
- , Hotbox;
- Tarantool ( — Icebox), ;
- , , , .
, , , , . , Hotbox, Icebox — , .
Migrating, , , , .
. API Icebox, Hotbox, , Nginx.
, , Nginx API Icebox .
Icebox nginx S3 API — :
, — , Migrating, Local.
, , .
:
-
Non-sharded
. , . -
Sharded
. - ,
Migrating
.
:
- , .
- .
- : , , .
SSL-
Nginx. Nginx, OpenResty, Nginx LuaJIT.
— SSL-. S3- , CNAME
. HTTPS : SSL-.
, SSL Nginx. Nginx, OpenResty, Nginx LuaJIT.
Nginx . ( ). ssl_certificate_by_lua
, TLS-. Tarantool: .
, , Let's Encrypt.
, -,
. . , , , , , , . .
Tarantool . . , .
. , , . S3 .
S3 «». , . .
. , , , , .
. , Amazon, , .
. , .
Tarantool. Tarantool , , , .
@Databases Meetup by Mail.ru Cloud Solutions&Tarantool. Telegram Kubernetes Mail.ru Group.
, S3 .