Как стать автором
Обновить
4
0
crezd @crezd

DevOps, HighLoad, Cloud

Отправить сообщение

Концепции распределенной архитектуры, с которыми я познакомился при построении крупной системы платежей

Время на прочтение12 мин
Количество просмотров35K
Я присоединился к Uber два года назад в качестве мобильного разработчика, имеющего некоторый опыт разработки бекенда. Здесь я занимался разработкой функционала платежей в приложении — и по ходу дела переписал само приложение. После чего я перешёл в менеджмент разработчиков и возглавил саму команду. Благодаря этому я смог гораздо ближе познакомиться с бэкендом, поскольку моя команда несёт ответственность за многие системы нашего бэкенда, позволяющие осуществлять платежи.

До моей работы в Uber у меня не было опыта работы с распределёнными системами. Я получил традиционное образование в Computer Science, после чего с десяток лет занимался full-stack разработкой. Поэтому, пусть я и мог рисовать различные диаграммы и рассуждать о компромиссах (tradeoffs) в системах, к тому моменту я недостаточно хорошо понимал и воспринимал концепции распределённости — такие, например, как согласованность (consistency), доступность (availability) или идемпотентность (idempotency).

В данном посте я собираюсь рассказать про несколько концепций, которые мне потребовалось изучить и применить на практике при построении крупномасштабной высокодоступной распределённой системы платежей, которая сегодня работает в Uber. Это система с нагрузкой до нескольких тысяч запросов в секунду, в которой критическая функциональность платежей должна работать корректно даже в тех случаях, когда перестают работать отдельные части системы.

Полный ли это список? Скорее всего, нет. Однако, если бы лично я сам узнал про эти концепции раньше, это сделало бы мою жизнь гораздо проще.

Итак, давайте приступим к нашему погружению в SLA, согласованность, долговечность данных, сохранность сообщений, идемпотентность и некоторые другие вещи, которые мне потребовалось выучить на своей новой работе.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии2

Докеризация высокодоступного Postgres кластера

Время на прочтение11 мин
Количество просмотров25K


Пару месяцев назад мы переехали из Амазон на свои выделенные сервера(Hetzner), одна из причин тому была высокая стоимость RDS. Встала задача настроить и запустить master-slave кластер на выделенных серверах. После гугления и прочтения официальной документации, было принято решение собрать свое собственное решение высокодоступного асинхронного кластера Postgres.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии16

Небольшой мастер-класс. Как создать хорошую контекстную рекламную кампанию

Время на прочтение4 мин
Количество просмотров3.5K
Привет, %username%!

Сегодня мне бы хотелось провести небольшой мастер-класс. Суть: кратко рассказать главные моменты о том, как нужно создавать качественную и рабочую рекламную кампанию.

Что будет в этом посте:

— Что такое контекстная реклама и почему не SEO?
— Почему выгодно делать хорошие объявления?
— Как сделать хорошее объявление?
— 5 простых способов повысить CTR объявления.
— И это далеко не все…
Узнать как делать хорошие тексты...
Всего голосов 129: ↑114 и ↓15+99
Комментарии75

Сайт инструкторов 4Teacher.Ru

Время на прочтение2 мин
Количество просмотров628
Вступление. Автор текста и сайта, хотел бы разместить сей топик в рубрике «Я пиарюсь», но у него нет кармы. Так ведь мало того, что у него нет кармы на этом ресурсе, у него нет и учетной записи :), дабы исправить ситуацию, предлагаю ему помочь, путём отправки инвайта на giardo@gmail.com

Пользуясь знаменательной датой, хочу представить еще один ресурс посвященный образованию — 4Teacher.Ru

Первоначально, это была попытка обкатать «на кошках» технологию MS MVC, но постепенно идея выросла в нечто большее.
Отличительная особенность, от других каталогов репетиторов, это возможность преподавателю самому вести свою страницу, получать отзывы, отвечать ученикам. Ну и основной тематикой хотелось сделать все-таки не общеобразовательные, а развивающие вещи. Прыжки с парашютом, йога, стрельба из АКМ. :)
Как показала практика, 80%, это все равно репетиторы иностранных языков. Второе место — вождение автомобиля.
Если нужно «нестандартного инструктора», который еще не добавлен на сайте, можно оставить «Объявление о поиске» инструктора. Как только такой инструктор добавится — сразу придет уведомление. Сделал раздел «работа для инструктора».
Есть разделение по городам, для этой цели использую сервис определения города по IP — smart-ip.net. Чтобы не сильно их тревожить в будущем, кеширую результаты у себя.
Много возни было с падежами, числительными. Хотелось получить нормальные склоняемые заголовки. В результате родилась библиотечка по работе с морфером.
В данный момент наполняется база.

Примерный roadmap —
Читать дальше →
Всего голосов 8: ↑3 и ↓5-2
Комментарии6

Здравствуй Араб.net (Часть 1)

Время на прочтение6 мин
Количество просмотров1.4K
image
Если сказать, что меня удивила реакция на мой прошлый пост, то это ничего не сказать.

Приятно, что как многие заметили беспорядочная, сумбурная, полная орфографических ошибок статья заинтересовала своей тематикой.

Мне приятно думать, что смогу быть полезен моим соотечественникам, откуда бы они ни были. Еще приятней осознавать, что кому-то удастся завоевать новый для себя рынок, так же приятно думать, что даже у тех у кого не получится, то они все равно приобретут личный, бесценный опыт, который к сожалению к счастью, не купить.

Список заданных мне вопросов, внушительный. Я не смогу написать все в одном топике, да и врядли это нужно, прикинув (в черновике) разбил на 6 основных частей. Пожалуй начнем.

Читать дальше →
Всего голосов 90: ↑75 и ↓15+60
Комментарии62

Facebook объявил о скором выпуске App Center для iOS, Android и HTML 5

Время на прочтение3 мин
Количество просмотров6.1K
«Обнаружение» приложений — большая проблема для всех пользователей мобильных устройств, а следовательно разработчиков и магазинов. Об этом мы писали совсем недавно, например в "Разработка под iOS: 60% (или больше) приложений не отбивают затраты", об этом говорят все исследования — количество закачек приложений за пределами Топ-100 стремится к нулю, а независимым разработчикам пробиться в Топы, не обладая значительными маркетинговыми бюджетами, практически невозможно. Apple уже, судя по всему, активно работает над решением этой проблемы, как обстоят дела в Play пока непонятно, но опередит всех, судя по всему, Facebook, который уже анонсирует систему поиска приложений App Center, которая основана не на рейтингах, а на качестве приложений.

Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии13

Дневник репатриантов: как мы подняли 1 млн. $ инвестиций за шесть недель (и отдали менее 15%)

Время на прочтение5 мин
Количество просмотров4.2K
На UpStartConf – секции о рынке инвестиций и стартапов в рамках РИФа-2011 основатели Островок.ру рассказывали о том, как привлечь в Рунет мировых инвесторов.

Эксперты, инвесторы и IT-предприниматели Рунета сошлись в едином мнении, что на российском интернет-рынке нет публичных кейсов стартапов, нет обучения для начинающих веб-предпринимателей, что неблаготворно влияет на рынок. В этом посте репатрианты Кирилл Махаринский и Сергей Фаге презентуют кейс по привлечению инвестиций на примере проекта Островок.ру
Читать дальше →
Всего голосов 126: ↑118 и ↓8+110
Комментарии129

Быстрое определение местоположения по ip в postgresql

Время на прочтение3 мин
Количество просмотров14K
В этом топике я хочу рассказать о задаче, очень часто встречающейся в веб-проектах — определение местоположения по ip-адресу. Начну с того, что для того, чтобы определить местоположение пользователя — нужна некая geoip база. Приведу здесь два популярных бесплатных варианта:
IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.

Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:

startip endip location_id
2130706433 2130706433 1

Здесь:
startip — это начало блока ip-адресов в формате long
endip — конец блока ip-адресов в формате long
location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).

Задачу поставили. Теперь рассмотрим как ее решать.
Всего голосов 47: ↑41 и ↓6+35
Комментарии29

Список полезных PHP классов и библиотек

Время на прочтение4 мин
Количество просмотров64K

Email


  • Swift Mailer
    Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
  • PHPMailer
    Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

Читать дальше →
Всего голосов 175: ↑145 и ↓30+115
Комментарии75

Список полезных инструментов для php разработчика

Время на прочтение10 мин
Количество просмотров147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Всего голосов 214: ↑200 и ↓14+186
Комментарии131

Бизнес 160 байт. Часть первая, вводная

Время на прочтение3 мин
Количество просмотров13K
СМС-сообщения не только являются удобным и простым средством связи, но и открывают обширные возможности для бизнеса. Только в России рынок СМС-платежей составляет 300 миллионов долларов, и это при максимальном размере сообщения в 160 байт.

Если вы еще не видели предложения отправить СМС по телевизору, в Интернете или хотя бы в спаме по ICQ, то скорее всего вы живете на необитаемом острове без всех прелестей современной жизни. Полагаю, немногим из вас повезло решить квартирный вопрос с подобным размахом, разделавшись заодно и с невсегда полезными плодами цивилизации. Тем не менее человеческие познания о дополнительных возможностях СМС довольно ограничены, и по сему давайте попробуем развеять некоторые мифы, почерпнув заодно много интересной информации.

Начнем с простого. Что такое СМС замечательно описывает статья в Википедии, там есть и история, и технические детали, так что не будем повторяться. Из этой статьи, однако, нам важно запомнить, что СМС могут быть двух типов — отправленные с телефона (MO — Mobile Originated) и полученные на него (MT — Mobile Terminated), далее мы встретим эти термины и в других смыслах.

При помощи СМС-протокола мы можем:
Читать дальше →
Всего голосов 58: ↑41 и ↓17+24
Комментарии80

Сервис «Статистика поиска Google» теперь и на русском языке

Время на прочтение2 мин
Количество просмотров4.2K
Статистика поиска Google позволяет сравнивать различные поисковые запросы, чтобы выявить наиболее популярные из них. Сравнение может проводиться за определенные периоды времени, по различным странам и регионам, а также в разных тематических категориях.
С помощью Статистики поиска вы можете определить, какие сообщения лучше всего привлекут пользователей.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+13
Комментарии20

Информация

В рейтинге
Не участвует
Откуда
Тель-Авив, Тель-Авив, Израиль
Дата рождения
Зарегистрирован
Активность