Вступивший в действие в мае этого года GDPR серьезно повлиял на рынок интернет-маркетинга. Его участникам хочется формировать максимально точную аудиторию для показа объявлений, но теперь для этого необходимо получить явное согласие пользователя, иначе даже небольшой нишевый ресурс может нарваться на многомиллионные штрафы. Некоторые ресурсы закрылись, но многие преобразуются в соответствии с новыми требованиями. И наш проект сервиса управления рекламными кампаниями для клиента из США – отличный тому пример.
Рубрика «redis» - 9
Как мы сделали сервис рекламных кампаний, соответствующий положениям GDPR
2018-12-11 в 9:09, admin, рубрики: DMP, gdpr, kotlin, link shortener, mongodb, postgresql, redis, Блог компании Maxilect, Законодательство в IT, интернет-маркетинг, медийная реклама, музыкальный бизнес, таргетинг, укорачиватель ссылок, Управление медиа, управление рекламойКак мы построили быстрое и надежное хранилище просмотров объявлений
2018-12-11 в 5:01, admin, рубрики: Go, mongodb, redis, Анализ и проектирование систем, базы данных, Блог компании «Колёса Крыша Маркет», микросервисы, Программирование, распределенные системы, хранение данныхОдна из малозаметных, но важных функций наших сайтов объявлений — сохранение и отображение количества их просмотров. Наши сайты следят за просмотрами объявлений уже больше 10 лет. Техническая реализация функциональности успела несколько раз измениться за это время, и сейчас представляет из себя (микро)сервис на Go, работающий с Redis в качестве кэша и очереди задач, и с MongoDB в качестве персистентного хранилища. Несколько лет назад он научился работать не только с суммой просмотров объявления, но еще и со статистикой за каждый день. А вот делать все это действительно быстро и надежно он научился совсем недавно.

В сумме по проектам, сервис обрабатывает ~300 тысяч запросов на чтение и ~9 тысяч запросов на запись в минуту, 99% которых выполняются до 5мс. Это, конечно, не астрономические показатели и не запуск ракет на Марс — но и не такая тривиальная задача, какой может показаться простое хранение чисел. Оказалось, что делать все это, обеспечивая сохранение данных без потерь и чтение согласованных, актуальных значений требует определенных усилий, о которых мы расскажем ниже.
Читать полностью »
Про износ SSD на реальных примерах
2018-08-27 в 12:49, admin, рубрики: monitoring, okmeter, postgresql, redis, ssd, Администрирование баз данных, Блог компании okmeter.io, системное администрирование
Год назад мы добавили в наш агент сбор метрик из S.M.A.R.T. атрибутов дисков на серверах клиентов. В тот момент мы не стали добавлять их в интерфейс и показывать клиентам. Дело в том, что метрики мы снимаем не через через smartctl, а дергаем ioctl прямо из кода, чтобы этот функционал работал без установки smartmontools на серверы клиентов.
Агент снимает не все доступные атрибуты, а только самые значимые на наш взгляд и наименее вендор-специфичные (иначе пришлось бы поддерживать базу дисков, аналогичную smartmontools).
Сейчас наконец дошли руки до того, чтобы проверить, что мы там наснимали. А начать было решено с атрибута "media wearout indicator", который показывает в процентах оставшийся ресурс записи SSD. Под катом несколько историй в картинках о том, как расходуется этот ресурс в реальной жизни на серверах.
Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go
2018-07-12 в 11:08, admin, рубрики: centrifuge, centrifugo, Go, open source, redis, sockjs, WebSocket, Блог компании Avito, Разработка веб-сайтовВозможно, некоторые из читателей уже слышали про Centrifugo раньше. В данной статье речь пойдет о разработке второй версии сервера и новой real-time библиотеке для языка Go, лежащей в его основе.
Меня зовут Александр Емелин. Летом прошлого года я присоединился к команде Авито, где сейчас помогаю разрабатывать бэкенд мессенджера Авито. Новая работа, напрямую связанная с быстрой доставкой сообщений пользователям, и новые коллеги вдохновили меня продолжать работу над open-source проектом Centrifugo.

Приглашаем на Java Meetup в Райффайзенбанк
2018-06-13 в 13:23, admin, рубрики: java, kotlin, machine learning, meetup, Raiffeisenbank, raiffeisenIT, redis, Блог компании Райффайзенбанк, Карьера в IT-индустрии, конференцииВнутреннее сообщество Java-разработчиков Райффайзенбанка приглашает на свой первый открытый митап, который пройдет на площадке московского офиса в Нагатино, 28 июня.
Как не пропустить ни одного сообщения
2018-05-25 в 8:42, admin, рубрики: azure, azure functions, C#, code, csharp, github, microsoft, Microsoft Azure, polly, redis, Блог компании Microsoft, облако, облачные сервисы, ПрограммированиеОбработка событий — одна из самых распространенных задач в области бессерверных технологий. Сегодня расскажем о том, как создать надежный обработчик сообщений, который сведет к нулю их потерю. Кстати, примеры написаны на C# с использованием библиотеки Polly, но показанные подходы будут работать с любыми языками (если не указано обратное).
Еще один вариант генерации превьюшек для изображений с использованием AWS Lambda & golang + nodejs + nginx
2018-05-06 в 5:30, admin, рубрики: Amazon Web Services, aws lambda, aws s3, Go, nginx, nodejs, redisЗдравствуйте уважаемые пользователи !
Меня зовут Никита, в текущий момент времени я тружусь backend-разработчиком в стартапе мобильного приложения. Наконец у меня появилась действительно нетривиальная и достаточно интересная задача решением которой хочу поделиться с Вами.
О чем собственно пойдет разговор? В разрабатываемом мобильном приложении имеется работа с изображениями. Как можно нетрудно догадаться: где есть картинки, там скорее всего появятся превьюхи. Еще одно условие, практически первая общая задача которая была мне поставлена: сделать чтобы все это работало и масштабировалось в облаке на Амазоне. Если немного лирики: был телефонный разговор со знакомым партнера по бизнесу в режиме громкой связи, где я получил пачку ценных указаний главная мысль которых звучит просто: уходите от серверного мышления. Ну ок, уходим так уходим.
Генерация изображений это достаточно дорогая операция в плане ресурсов. Этот участок бэкэнда предсказуемо плохо показал себя на таком, своего рода «нагрузочном тестировании», которое я проводил на очень дохлой VDS-ке при практически дефолтных настройках LAMP, по крайней мере без дополнительного тюнинга, где все неоптимизированные места вылезут сразу и гарантированно. По этой причине я принял решение данную задачу убрать подальше от пхп-бэкэнда. Пусть он занимается тем что дает более-менее однородную нагрузку, а именно запросы к БД, логика приложения и JSON-ответы и тому подобная малоинтересная API-шная рутина. Те, кто знаком с Амазоном скажут: а в чем проблема? Почему нельзя настроить масштабирование EC2 инстансов в автоматическом режиме и оставить на PHP эту задачу? Отвечаю: «так микросервиснее». А если серьезно — есть масса нюансов в контексте архитектуры бэкэнда, выходящих за пределы данной статьи, по этому оставлю данный вопрос без ответа. Каждый на него ответит сам в контексте своей архитектуры, если он возникнет. Я всего лишь хочу предложить решение и милости прошу под кат.
Докеризируем Socket.io, redis и php
2018-04-10 в 18:15, admin, рубрики: docker, docker-compose, javascript, php, redis, socker.ioДля передачи данных сервером на php клиенту можно использовать следующий алгоритм:
- Сервер php публикует данные в канал redis.
- Сервер node подписывается на события в соответствующем канале redis и при
наступлении события поступления данных публикует эти данные уже в
socket.io - Клиент подписывается на сообщения socket.io и обрабатывает их при поступлении
Исходный код проекта можно найти на github
Изменение размеров изображений на сайте
2018-04-08 в 10:16, admin, рубрики: C#, CDN, mssql, redis, resize image, обработка изображений, Разработка веб-сайтовДобрый день. Я разработчик с более чем 10-летним стажем. Для того, чтобы оценить качество исходных кодов сайта, не без доли самоиронии, я создал небольшой чек-лист. Сегодня я поговорю о важном для меня пункте — изображения на сайтах. Я умышленно опустил конкретную технологию, потому что эта проблема встречалась и встречается повсеместно, я буду очень признателен, если в комментариях вы раскроете свои подходы с использованием вашего стека технологий, в конечном итоге мы все очень похожи.
Конференция DEFCON 22. «Один дома с автоматической системой защиты». Крис Литтлбери
2018-04-02 в 12:30, admin, рубрики: flask, github, Home Defense Server, iancmcc’s ouimeaux, Magicmonkey, Raspberry Pi, redis, RSSI, sinatra, SmartCron, Terrible App, Terrible Security, Weather Underground, z-wave, zigbee, Блог компании ua-hosting.company, информационная безопасность, конференции, ПрограммированиеМеня зовут Крис Литтлбери, я работаю старшим испытателем систем безопасности от проникновений в компании Knowledge Consulting Group, которая расположена в округе Колумбия. Я люблю конструировать всякие интересные вещи, придавая обычным устройствам необычные функции. Например, вот этот контроллер XBox Live быстро обнаруживает пожар. Я использовал его всего один раз, скомбинировав с микропроцессором Arduino. На второй картинке показано устройство для замены пятой передачи в коробке передач моего автомобиля, которое улучшает пробег. Я люблю делать вещи своими руками.

Я создаю идеи, образцы и коды, которые работают на меня, и отвечаю на любые вопросы, связанные с их последующим использованием.Читать полностью »




