All streams
Search
Write a publication
Pull to refresh
70
0
Александр Календарев @akalend

Ламер с 20 летнем стажем

Send message
>Раз уж взялись писать социальную сеть, то пишите все своими руками.
>Иначе как-то непрофессионально получается.
и мускуль тоже написать своими руками?
>Такая очередь крайне просто реализуется обычными средствами mysql.
как показано в статье — так раза в три проще чем и раз в пять быстрее, через мускуль

Мне понравился ответ Дерика: «Раз вы что-то не понимаете, то значить Вам это не надо»
конечно FIFO, разместил ночью, описался :)
ступил — нашел МОСКВУ
супер, действительно переплюнул гуглю
только вот еще Питер и Москву к сожалению не отсняли.

Гуулль — съемка со спутника, а здесь скорее всего аэрофотосъемка
я не так крут и пишу серверы только год
и до этого использовал блокирующий в/в

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

правда это к трекеру не относится,
если килл, то зомби не рождается.
я на тот случай, если мы не обрабатываем сигналы, то рождаются зомби.
RabbitMQ недавно стал поддерживать 0.9
сейчас стабле 0.8
долго смеялся
по телеку говорили что ФАПСИ долго проверяла защиту сайта Президента.
PS мне сегодня тоже минусов за статью напихали
видно день такой…
в ней я узнал про monit
наверно тогда бы «Мы пошли другим путем»
а в целом мне статья понравилась
system(«php tester.php ». getmypid(). " &" );
форкая таким образом ты рождаешь зомби.
необходимо обрабатывать SIGCHL

именно чтоб не было зомби и был придуман php-forker :)
версий чего?
Протокол один — AMQP
интересно а минусы за что???
мы все фатальные ошибки заворачиваем через эксепшены.
про статью на ©dkLab уже упоминали.

пару слов о мониторинге:
у нас свой собственный мониторинг (к сожалению про монит я узнал поздно)
есть класс скриптов, которые должны жить «вечно»

алгоритм приблизительно следующий:
— скрит запускается по крону каждую минуту.
— скрипт проверяет кол-во запущенных копий, кстати метод тот же через ps ax -u | grep $scriptName
— если копий больше чем нужно, то завершаемся

— далее идет цикл на длительный интервал напрмер час
в цикле выполняем метод run() & sleep(1)
— далее выполняем ps ax -u | grep getmypid() и вычисляем занимаемую память
— если в конце цикла кол-во памяти превысит допустимый — цикл заканчиваем (так избегаем утечки памяти)

— перезапускаем процесс используя php-forker
это позволяет нам запустить процесс не ровно в 00сек а например в 05сек (и не ждем 55 сек)

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

а то я недавно сам изобретал велосипед
о котором хотел поделиться в блоге

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Software Architect, Database Architect
Lead
From 325,000 ₽
PostgreSQL
Golang
C++
Python
Database
Designing application architecture
Creating project architecture
Database design
Object-oriented design
Code Optimization