Александр Календарев @akalend
Ламер с 20 летнем стажем
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
но есть и хорошие новости: плагин Романа Аратюняна github.com/arut/nginx-mysql-hsock-module,
он же автор плагина видеовещания, в том числе и коммерческой версии.
как недостаток — ищет медленно, но в принципе приемлемо, на нагрузку тестировалось или ожидаем Хаброэффекта?..
но Хабросообществу более интересен алгоритм подбора маршрута, о котором ни слова,
алгоритм поиска и источники сбора данных а не реклама ресурса…
ну и за статью спасибо
Но, потом это оказалось и не так уж и нужно, так как мы стали пушить персональные обращения (вставляем в шаблон имя каждого пользователя).
Код обработки FeedBack сервиса работает на отдельном порту, — это в статье указано не было, очевидно это скрыто в недрах библиотеки. Кстати очень полезно для ведения статистики, кто отключился или удалил приложение.
Пушить можно и на устройства, на которых не запущено приложение Не знаю, есть ли эта возможность в данной либе (не слова ни сказано)
Как реализовано у нас:
— сделан отдельный сервис (демон)
— в сервисе держится в памяти hash-таблица: наш-id- tocken
— общается с внешним миром по memcached пртоколу
— set отправляет сообщение на АПНС и GCM сервис, используем только наш id
— есть разные мониторинговые команды: get stats
— и служебные add delete
Принимает данные с разных клиентов: WEB-морда — если поступило новое сообщение, cron script — если наступило запланированное событие или скрипт-рассыльщик для маркетинговых рассылок (по географ признаку).
и еще отдельная тема расшифровки статусов GCM сервиса. Не всегда он 200Ok
принципиально важен не фреймворк а архитектура.
ну и последнее, еще хорошо бы видеть для сравнения каково кол-во серверов и желательно по ролям (WEB-морда, БД, статика, бэдграунд/скрипт-сервер), которое справляется с данной нагрузкой
на сколько мне известно исходники nginx написаны на Си,
так-что, на мой взгляд, наличие дополнительного компилятора вызывает удивление
только я не понял, зачем инсталлировать С++ компилятор
правильно подмечено: больше кода — больше ошибок.
php_amqp — через сервер сообщений RabbitMQ, Apache Qpid протокол AMQP
php_stomp — передача через сервера сообщений Apache ActiveMQ, Apache Apollo есть и другие, гуглим по протоколу STOMP
php_zmq — передача сообщений чарез API ZeroMQ, сервером может является такой же РНР демон, который использует это АПИ zeromq.org
php_benstalk модуль для управления задачами через beanstalk сервер
NoSQL(наприем редис) — доступ быстрее будет :)
и вообще я не вижу надобности в этом классе. Если уж мы проектируем социальную сеть, то файлы должны лежать в статическом хранилище в удобном для быстрого вытаскивания виде. А внешние красивые урлы всегда можно перенаправить на nginx или апачем так как нам нужно.
еще раз, хочу поблагодарить за полезный ресурс.
Конечно, хотелось бы не париться в сложностях перевода и почитать на родном. Но, думаю, скоро автор портала дополнит этот материал на своём ресурсе.
А картинки — вообще прелесть.
Что можно добавить: паттерны реализации на разных языках программирования.
Во вторых, какие опенсоурсные средства вы рассматривали, например, почему вам не подошла Кассандра или HBase?
Ну и последнее, а можно узнать ссылку на сам сервис (можно лично, чтоб не посчитали рекламой), или он еще в проекте?