Pull to refresh
161
0
Рыбак Алексей @fisher

Пользователь

Send message
Судя по тому, что Вы не написали «пошел пить пиво с тим-лидом и рассказать ему всё, что накипело» — тим-лид именно Вы? Раз Вам так по кайфу программировать и Вы с удовольствием этим занимались в последнее время — возможно, Вы ошиблись в своем карьерном пути?
Используем mysql, по историческим причинам (ну и вообще — отличная база, просто не нужно стрелять себе в ногу и всё). У нас кстати одна из крупнейших ферм MySQL — под 500 уже наверное нод в двух ДЦ. Миграция — это выполнение в паралелль по нескольким сотням нод какой-то операции, есть фреймворк под это дело, откатить — ну так же как и на одной базе. Вы умеете на одной базе откатить альтер, например? Я — нет. Надо снова альтерить — опять в параллель пускаем операции на нодах. Всё олдскульненько.
Тут путаница. Уникальные ключи, конечно, есть. В шардированной схеме мы внешние ключи не используем по историческим причинам, но это можно сделать. Консистентность будет в пределах шарда, но это как раз нормально — именно это и требуется. Тем не менее, жить без нее не сильно сложнее, как показала практика. Отказ от внешних ключей для датабазника может показаться очень странным (я сам до этого сидел 3 года на оракле), но консистентность по внешним ключам действительно оказалась почти не нужной. Каскадные удаления — фактически единственное реальное удобство, которого нет. Но мы не удаляем данные, а олдскульно помечаем статусами. Удаляется все потом единообразная системой пуржинга. Вообще один-два раза в года я рассказываю об этом подробнее на семинаре в рамках девконфа, например.
с базой чуть-чуть сложнее
* если код не может работать прозрачно с новой схемой — сначала идет фикс-релиз кода (так стараемся не писать, но всяко бывает)
* альтер по-живому (если по кластеру — то шард за шардом)
* релиз, использующий новую схему
* (опционально) clean-up процедуры над базами
а вообще хотя задача и сложная чисто теоретически (100% плавного алгоритма на все случаи жизни нет), на практике организационно все разруливается довольно легко
«Проблема не в том, что поисковая система проиндексировала и даже не в том, что эти ссылки ещё не вылетели из индекса»

Я нигде не писал, что проблема в этом. Прям по Чапеку — припиши оппоненту ложную идею, и побори её.
Вы не понимаете, в чем проблема, но с завидным упорством продолжаете писать в этот тредик про нашу «дубовость», например. Это, вероятно, подскажет Вам ответ на вопрос, что Вы делаете не так — это насчет Вашего комментария выше о буддисткой карме. Вообще, я не очень понимаю во всяких там буддизмах, но имею Вам кое-что сказать от чистого сердца. Мир Вам бьёт по башке и никогда не дает Вам разжеванной понятной обратной связи, почему Вы получили по башке. У вас есть шанс либо прислушаться и задуматься, либо продолжить путешествие в забвении. И последнее, во-общем, тоже неплохо — «блаженство в черепе пустом».

Проблема в том, что идеального решения, которое не затронуло бы массового пользователя и не сделало бы его жизнь неудобной — нет. Ну сделаем мы проверку на подозрительные заходы: она будет либо пост-фактум, что позволит все равно входить в акк, либо будет блокировка входа, которая потребует дополнительных действий и забатхертит обычных юзеров. Всегда ищется компромисс между удобством большинства и перфекционизмом/паранойей меньшинства. Культурный феномен — меньшинство (обычно — более активное, продвинутое, интеллектуальное — по крайней мере, отчаянно считающее себя таковым) навязывает свои нормы большинству. Что мы и наблюдаем в этом тредике.
Сожалею, что вы читаете предвзято и невнимательно.
По сути пост — провокация изначально (так вообще не делается с секьюрити багами, но это вообще отдельный разговор).
Автор, если бы дорожил своей репутацией, так бы не делал.
Дальше, мы признали свои косяки. На-ко-ся-чи-ли и признали это. Но проиндексированная приватная инфа, взятая поисковиком на стороннем ресурсе и позволяющая зайти в пару сотен бот-акков из 170 миллионов — это в реальности проблема совершенно иного масштаба, чем написано изначально. Хабра-юзер читает поверхностно, повёлся и бьется за принцип (минусует корректные ответы, гадит в карму сотрудникам и тд), ну пусть бьётся :) Отличная иллюстрация того, как работают массовые информационные вирусы.
Так я не скрываю, что работаю в Badoo. И повторяю, мне очень нравится наш ответ. Я — заинтересованное и не объективное лицо. Я не имею права голосовать?
а что, плохой ответ? мне нравится — плюсанул
Кто-нибудь сравнивал по скорости volt с blitz?
У меня нет никаких сомнений в том, что аджайл и скрам работают, и что есть удачные примеры.
1. обёртка вокруг google protocol buffers.
2. распределенные вычисления в подавляющем числе проектов типа социалок вообще не нужны, разве что в BI, а там Hadoop.
Нет, саппорт — это не фикс багов. Это любая работа по поддержке большой системы в продакшене. Попробуйте представить, как будут работать «по аджайлу» пожарные и полиция, вам всё станет сразу ясно. Если не стало — вы программист и аджайл-сектант :) Касательно второго пункта — у вас какая-то волшебная формула, команда «сформировалась» — значит, всё отлично. Так не бывает. Но в это свято верят аджайл-сектанты.
Эту фразу можно было бы также воспринять как робкую попытку уточнить, какие приложения интересуют. У нас есть несколько мобильных приложений, причем нативных, под них серверные приложения, фейсбук-приложения, обычный сайт, приложения для интеграции с платежными системами, с социальными сетями, куча оффлайн приложений для мониторинга, статистики, построения RRD/отчетов, обработки очередей, прочих данных от антиспама до BI. Вы же понимаете, что говорить о какой-то единой архитектуре для такого набора несколько бессмысленно?
не понимаю, зачем всё в кучу — модули, SOA, ESB, MQ…
есть всякое, у нас просто куча приложений разных. ну разве что ESB нигде нет, боже упаси. ну и SOA вообще в хайлоаде очень редко — или Вы webapp имели в виду?
Человек 10 после поста прошли выше 60, один 88 набрал. Если набрали 60 — уже хорошо!
Пардон, меня смутило письмо от подписки на ответы. Автор того комментария не имеет отношения к Badoo.
Вопросы полностью определяются авторами подкаста.
* масштабирование, шардинг, бекап, частично про failover — в первой части.
* CDN — был доклад в 2007м на РИТе, долго рассказывать в деталях, кратко — все стандартно, слой кешей и бекенды к стораджам, немного магии по вычищению холодного контента с кешей, дц с кешами можем ставить в интересующих регионах (пилотный проект недавно запустили в азии)
* защита от ботов — антиспам-отдел, там много всяких штук, инфа по понятным причинам будет всегда закрыта, увы
* DDoS — попробуй задидось (мелкие не потянут, если будет очень крупный «заказ» — будем резать на магистральных уровнях)
* сишные и пхпшные сервисы общаются через gpbs все интерфейсы генерятся автоматом
* параллельные вычисления почти не нужны (долгий разговор, есть свой фреймворк для параллельных приложений, в BI есть Hadoop)
* деплой и роллбек — смотрите блог, куча статей на тему и доклады на РИТе и на прочих конференциях
* железная инфраструктура — ну конкретные вопросы напишите — ответим, слишком общий вопрос
* нелегальный контент — ручная модерация + распознавалка

Если ещё нужны подробности — спрашивайте!

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity