2016-04-06 4 views
-2

Для проекта мне нужно спроектировать REST api, который получит, выполнит базовое лечение и ответ на 100 000 запросов.Какой чистый выбор для отдыха API?

  • запросов не будет послан на моем API по одному с минимальной задержкой (например, каждую секунду или меньше)

  • API-интерфейс будет размещен на Лил Rapsberry 3, и я цель, чтобы получить best perf (минимальное время между отправкой первого запроса и ответом на последний).

Мой вопрос:

Что техно вы бы использовать для этого? И в основном, почему этот?

На данный момент мой выбор - node.js, потому что я уже работаю с ним. На моем взгляде, я имею это, но нет максимальных возможностей идеи перфорации:

  • Node.js (потому что V8 и выразить)
  • Python 3
  • PHP 5 (кажется, удивительно хороший perfs)
  • Scala
  • Рубин

C/C++ не вариант

Любое предложение и аргументы будут прочитаны с вниманием и интересом! Thx!

+0

100,000 запросов ничего ... если распространено через неделю ... :-P – deceze

+0

@deceze «Запросы будут отправлены на моем API один за один с минимальной задержкой ». означает, что они будут отправляться по очереди каждую секунду или меньше :) Но спасибо для уведомления меня не было ясно :) –

+0

Итак, у вас есть фиксированное количество запросов, и их нужно обрабатывать как можно быстрее? Обычно это наоборот ... вы ожидаете бесконечное количество запросов с определенной частотой ... – deceze

ответ

1

Flask, инфраструктура Python поможет вам начать работу за считанные минуты. Он легковес (хорош для RPi3), прост в настройке и довольно прост для API REST.

Пример:

@app.route('/api/v1/do/something', methods=['POST']) 
def api_v1_do_something(): 
    return json_response(json.dumps({ 
     "result": "success", 
     "data": {"a": 1, "b": 2}, 
    })) 

http://flask.pocoo.org

+0

Спасибо за подсказку, добавив фреймворк на python, не будет деградировать родные хорошие perfs? Я все равно посмотрю на Flask :) –

+1

С предлагаемой настройкой ваш сервер сможет обрабатывать (делать «базовое лечение») 800 запросов в секунду в худшем случае (на PRi3). Это приблизительное значение, и вы можете его измерить. Принимая во внимание тот факт, что «запросы будут отправляться по моему API один за другим с минимальной задержкой», проблема с производительностью отсутствует. –

+0

Хорошо, спасибо, спасибо! попробуем это сделать –