Pull to refresh
91
0
Сергей Аксёнов @SergeAx

Создатель и руководитель инженерных команд

Send message

Спасибо, да, так более подробно. За исключением, пожалуй, пассажа про id, поскольку вот этот наш привычный маппинг id => сущность в REST специально не описан, вместо id там полный URI. И вполне возможен сценарий, когда API CMS на PUT /api/v1/pages/some/path/to/page/ просто создаст страницу /some/path/to/page/ на сайте, а всё шаманство с autoincrement id от клиента спрячет.

И то, и другое. POST — если сервер решает, какой будет URI у новой сущности, и PUT — если клиент.


Просто докуривайте мануалы до конца, не забычковывайте посередине))

А нет, в смысле да) Прочитал, забыл, снова вспомнил: обработчик хита должен читать cookie и если в ней нет uuid — генерировать и выставлять новый, чтобы собирать хиты в сессии. nginx так умеет?

Я прочитал, но быстро забыл, виноват)

А uuid кто будет генерировать?)

См. моё описание похожего, кмк, кейса ниже.

Я, может быть, не до конца понял суть задачи; статья всё же написана немного суховато. Я решал, как мне кажется, похожую задачу: надо было по https получать запрос к пикселю-счётчику, расположенному на страницах многих сайтов, и складывать в Cassandra (потом её поменяли на ClickHouse). Запросов могло быть много, данные было очень важно не терять, загрузке страниц этот пиксель должен был не мешать по минимуму. Похоже на ваш кейс?


В итоге была такая конфигурация: за nginx стоял php-fpm, под ним выполнялся скрипт из буквально 15 строк, который брал $_REQUEST, проверял что в cookie есть user-id, если нет — генерировал новый, устанавливал cookie, отправлял данные в RabbitMQ и завершался. Размер одного сообщения был типа 4 килобайт.


По крону раз в минуту запускался скрипт уже под php-cli, забирал пачками данные из Rabbit и сливал в базу. Сам Rabbit крутился на той же виртуалке. Память fpm была ограничена каким-то смешным количеством, число процессов было типа 10 (как я понимаю сейчас — даже много). Умещалась вся конструкция в 200-рублёвую виртуалку на VScale, 100 rps из Танка выдерживала, 99% ответов умещались в 80ms. Вся работа уложилась в 2 человеко-дня, нагрузка от реальных пользователей, правда, выше 50 rps не поднималась. Собственно всё, на статью для Хабра не тянет, максимум на коммент)

В приведённом решении тоже использован дополнительный демон Tarantool, и складываются туда, как я понял из статьи, достаточно сырые данные. Свойства БД в этом решении нужны в момент удаления данных, чтобы, грубо говоря, DELETE WHEN guid=%1 выполнялся достаточно быстро.

Только мне кажется, что для решения описанной задачи предназначены Message Queues​?

Ну вот кстати именно поэтому на первый взгляд менее удобные mustache в итоге оказываются более поддерживаемым решением. Ибо вся логика оттуда искусственно вытеснена в контроллеры.

Круто будет, если SkyWay всё же воплотят, хотя я и сомневаюсь в их успехе. Но у Hyperloop есть одно принципиальное преимущество — скорость вдвое выше.
Бэмброган обвиняет своих коллег в клановости

Есть хорошее слово «непотизм». Если не хочется отправлять читателя листать словарь (хотя это и полезно), то есть русское слово «кумовство» :)
Отлично. Продолжайте переход на личности, если по сути ответить нечего.
Ещё раз: своё мнение о моей квалификации оставьте при себе. С первого раза не понятно?

Спасибо за вашу оценку моей квалификации, оставьте её при себе. Плагины и темы под WP писал и даже этим зарабатывал. Ещё вопросы?

Не боитесь использовать composer внутри экосистемы WP? Кто-нибудь столь же беспечный напишет развесистый плагин с использованием composer, укажет в require другую версию какого-то из пакетов — и сломается или плагин, или тема, смотря кто первый загрузится.

Понятно, отрицательная карма. Спасибо!
Прошу прощения, где именно «под комментарием»?

https://yadi.sk/i/yesu-7MCrRWBa
В spl_fixedarray_object_write_dimension ошибки нет — в конце тела условия if (intern->fptr_offset_set) стоит return, так что tmp объявлена в правильном scope, в противном случае могла быть утечка памяти.

UPD: чёрт, я был уверен, что markdown в комментах поддерживается.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity