Александр Календарев @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
А кода без джоинов я практически не видел (за исключением своего конечно ;)
Если вы специалист по РНР, то эти вопросы вас могут спросить на собеседовании в мамбу или Баду и то, на них зацикливаться не будут.
если вы не знаете, что такое шардинг — это не значить, что вы плохой программист…
но если вы не знаете основных недостатков и преимуществ РНР, то увы…
кажется когда-то давно где-то писал, но написать еще раз -не проблема %)
только статья получится маленькая :)
1) роль load_balanser хорошо выполняет nginx, он более шустрый, чем аппач и меньше занимает памяти
2) чтоб попадать на одну и ту же WEB морду, достаточно использовать модуль ip-hash
3) храниить сессии можно не только в мемкеше, но и в редисе например. Плюс редиса, например, в том, что если случайно упадет сервер, а ни кто от этого не застрахован, то сессии сохрранятся.
4) я бы на собеседовании задал еще такой вопрос — а что делать — если для сессий не хватает места в мемкеше?
5) про шардинг лучше рассказывать после репликации. В большинстве случаев репликации хватает.
6) рассказывая про шардинг, необходимо пояснить его недостатки.
7) рассказывая про масштабирование необходимо два слова сказать про архитектуру SOA. Тем более, что SOA родилась в недрах JAVA
8) ну, и если все же позиция промежуточноая между сеньёр-помидор и сустем-архитект, то тут как-то вообще куцо с ответами. Если требуется масштабирование, то исходя из поставленных условий сервер не справляется с нагрузкой. Что для этого нужно:
— сделать быстрый фронтэнд сервер с минимальной логикой
— если есть какие-то значительные задержки бэкенда — то можно для опроса использовать аякс, а в это время пользователя развлекать тулбаром (ваша задача решается… осталось 75%)
— часть задач фронтэнда (WEB-морда) должна передать внутренним сервисам (это ближе к SOA).
— как вариант, передачи задач можно использовать специализированные средства: сервера очередей (ActiveMQ, RabbitMR, redis etc) или задач ( zookeeper, Gearman )
— для опроса готовности можно использовать например memcached, не тягая тяжелый Tomcat, а брать информацию напрямую через nginx используя ngx_memcached, я чтоб защитьть прямой доступ к мемкешед от плохих парней — использовать ngx_acces_key
иногда, применяя парочку хорошо-зарекомендовавших себя трюков можно вообще избежать проблемы масштабирования.
но со временем отказался от этой технологии в пользу более простых и быстрых шаблонизаторов
народ уже делает, но только небольшие но нагруженные задачки
>Отсутсвуют только всякого рода фреймворки
во времена РНР3 они тоже отсутствовали, так что наши мастера скоро напишут
может все же стоит заспамить ФАС, для андроид есть приложение
его вполне хорошо можно использовать для очередей
вопрос 2 — кто пишет сервер очередей или перефразирую вопрос:
команда тарантула в разработке как-то участвует ;)
или просто взят их код?
пока заказчики не жаловались…
Костя Осипов прошлый раз хорошо выступил
когда я учился в Питере, он для меня был ЛИТМО… у меня там были друзья.
и наверно в сердце таким и останется,
для справки, сам я заканчивал Можайку — четырежды(или даже более) менявшую своё наименование, но в сердце останется Академия Можайского.
не хочется наступать на грабли, ну прежде чем внедрить — надо знать, что это за зверь
по этому будем изучать…
сделал make kphp но результата ни какого.
не могу найти исполняемый файл kphp2c