Overview

Есть кластер на OpenStack Swift с фронтендом на nginx. nginx может выполнять 20-30к запросов в секунду, swift-proxy на python достигает предела производительности при 400. Запрос на nginx, если его нет в кэше, направляется на swift-proxy и он соединяется с бэкэндом для передачи непосредственно данных.

Идея проекта

Если заменить swift-proxy и заменить его модулем к nginx, то можно добиться существенно большей производительности.

Комментарии

Swift-proxy достаточно умная штука и кроме простого доставания данных с бэкэндов ещё осуществляет аутентификацию и авторизацию пользователя, различные фильтры для передаваемых данных (генерацию листингов директорий, красивых index.html, etc). Стоит предусмотреть аналогичные возможности в модуле для nginx. Всё есть в исходниках, по большому счёту надо сделать модуль для nginx, который бы понимал как по swift-овскому хеш кольцу найти нужный бэкэндный сервер и сделать туда правильный запрос.

из необходимого:

  • модули авторизации и аутентификации
  • status: startup

Issue tracking

View all issues