LINUX.ORG.RU

Ответ на: комментарий от spoonbob

Первое, что пришло в голову, подгрузка автокомплита при вводе текста

Делал тупо по хттп.

Очередь надо чем-то обрабатывать

Группой воркеров на твоём любимом языке.

anonymous ()
Ответ на: комментарий от anonymous

тупо по хттп

Синхронно или асинхронно, вот в чем вопрос

Группой воркеров на твоём любимом языке.

Отдавать результат они будут синхронно или асинхронно, вот в чем вопрос )

spoonbob ()
Ответ на: комментарий от spoonbob

Отдавать результат они будут синхронно или асинхронно, вот в чем вопрос

Задачу длительной передачи данных через сеть ты повесил на предназначенный для этого сервис.

Какая разница, будут ли задачи из очереди планироваться прерывающе внутри ядра или кооперативно внутри процесса? Количество одновременно исполняемых задач всё равно будет ограничено количеством ядер процессора. Ну сколько-то ты сэкономишь на переключении контекста, ок.

anonymous ()
Ответ на: комментарий от anonymous

Задачу длительной передачи данных через сеть ты повесил на предназначенный для этого сервис

Про длительную передачу мы еще даже не начинали говорить. Речь шла про обмен мелкими JSON-ами

Какая разница, будут ли задачи из очереди планироваться прерывающе внутри ядра или кооперативно внутри процесса?

Ну ок. Вместо одного node-сервиса для автокомплита ты заведешь кролика, пул воркеров и redis, для шаринга массива строк между воркерами. Почему бы и нет. Главное чтоб пережило 10k и юзеры сервера полем ввода не положили )

spoonbob ()
Ответ на: комментарий от spoonbob

Про длительную передачу мы еще даже не начинали говорить. Речь шла про обмен мелкими JSON-ами

Лаги никто не отменял.

Ну ок. Вместо одного node-сервиса для автокомплита

Во первых автокомплит у меня сделан на хттп, работает на той же джанге с энжайниксом, что и остальная вебня, и новых зависимостей не требует вообще.

Ну ок. Вместо одного node-сервиса для автокомплита ты заведешь кролика, пул воркеров и redis

Ну ок. Я притащил в проект rabbitmq и допустим редис. Это две зависимости от двух поставщиков, лежат в дистрорипозитории.

Для node-сервиса мне нужна нода и тысяча и один лефтпад от тысячи и одного автора из npm.

Две зависимости из родной репы против тысячи двух из левой. Я первому варианту доверяю больше.

anonymous ()
Ответ на: комментарий от anonymous

Лаги никто не отменял

Вот-вот. Предположим, 20 воркеров. 20 лагающих клиента — автокомплит задудошен

Ну ок. Я притащил в проект rabbitmq и допустим редис

Что угодно притащишь, лишь бы сохранить десятками лет провереную, простую и всем известную архитектуру. Похвально

Для node-сервиса мне нужна нода и тысяча и один лефтпад от тысячи и одного автора из npm

У экспреса и джанги примерно одинаковое количество звезд а ютубе гитхубе. Почему одной доверяешь, а другому — нет?

leftpad

https://www.google.com/search?&q=malware PyPI

Две зависимости из родной репы

rabbitmq

The following additional packages will be installed:
  erlang-asn1 erlang-base erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon
  erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools
  erlang-tftp erlang-tools erlang-xmerl locales-all socat
spoonbob ()
Последнее исправление: spoonbob (всего исправлений: 1)
Ответ на: комментарий от spoonbob

Вот-вот. Предположим, 20 воркеров. 20 лагающих клиента — автокомплит задудошен

Схерали? Лагающие клиенты висят на энжайниксе. Воркер получает весь запрос разом от энжайникса и отдаёт весь ответ разом энжайниксу.

Что угодно притащишь, лишь бы сохранить десятками лет провереную, простую и всем известную архитектуру. Похвально
У экспреса и джанги примерно одинаковое количество звезд а ютубе. Почему одной доверяешь, а другому — нет?

Есть один простой тест. Если что-то набрало популярность, прожило десять лет и не сдохло, значит это годная вещь. Всё остальное не нужно, если нет веских причин за.

Джанга, раббит и даже редис этот тест проходят.

leftpad

https://www.google.com/search?&q=malware PyPI

В лефтпаде проблема была не малварь, но вирусня — тоже проблема.

В питоне нет тысячи библиотек из пяти строк кода и огромная стандартная библиотека. Тянется меньше зависимостей, за ними легче следить, шанс словить проблему меньше.

The following additional packages will be installed:

Принято. Но смотри пункты выше.

anonymous ()