All streams
Search
Write a publication
Pull to refresh
5
0

Программист

Send message

Шардируй меня полностью

Level of difficultyEasy
Reading time12 min
Views2.2K

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

Фотографировать

Шардировать или не шардировать

Level of difficultyEasy
Reading time9 min
Views2.7K

Если ваш сервис рассчитан на миллиарды пользователей, то несомненно возникнет вопрос о масштабировании.

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

В чём вопрос?

Задолженности в Mireapay

Reading time12 min
Views937

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

Продолжить наступление

Властелин финансов. Битва за банкоматы

Reading time12 min
Views1.7K

Проводить платежи без транзакций да ещё и без ограничения по количеству запросов? Разве это возможно? Если желаешь узнать как, то добро пожаловать под кат!

Снять корону

Параллелизм может быть только 1

Level of difficultyEasy
Reading time10 min
Views3.2K

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

Продолжить мяукать

Техно-демо Mireapay

Reading time5 min
Views641

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

Погавкать

API-Шлюз или опять тестировать

Reading time7 min
Views2.3K

При разработке микросервисов рано или поздно возникает вопрос о специализированном микросервисе, через который проходят запросы и маршрутизируются в нужный. Это необходимо не только с точки зрения безопасности (в одной точке аудита можно увидеть все нужные события), но так же с точки зрения производительности. Ваш микросервис выполняющий важную функцию наверняка использует массу ресурсов, например подключения к БД - даже если обработка плохого запроса не требует подключения к БД, то она гарантированно ворует ресурс ЦП. Разумеется можно покупать все более производительные сервера, но такой путь ни к чему не приведет.

Если вас интересует эта тема, то добро пожаловать под кат.

В лунапарк

Тестируем интеграцию с очередями сообщений правильно

Level of difficultyEasy
Reading time8 min
Views5.2K

Наверняка в вашем проекте используется очередь сообщений (не важно kafka, pulsar или какой-нибудь зайчик). Основной проблемой является подробное тестирование работы вашей системы. Рассмотрим варианты решения и посмотрим, что там у автора в рукаве.

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

Образы БД для юнит-тестирования, опять

Level of difficultyEasy
Reading time2 min
Views1K

В прошлой статье был предложен вариант для создания docker образов БД для последующего использования в разработке и тестирования приложений в пайплайнах гитлаба.

Из-за перехода на новую инфрастуктуру k8s 1.30 (restricted psp) и новый гитлаб 17.3 все это ломается. Поэтому придется исправлять ситуацию!

Запускай

Бесконечная, вечная платёжная система всея МИРЭА

Level of difficultyEasy
Reading time40 min
Views12K

В это нелегкое время, так сложно найти работу, когда первокурсники МИРЭА уже пишут курсовые с микросервисами на 1к рпс, а выпускники каждый по системе на миллиарды пользователей. Видимо старому Java-коту ничего не остается, кроме как беседовать с вечностью и её сестрой бесконечностью. Если не они, то кто поможет коту найти работу?

Статью можно прочесть в формате pdf.

В атаку!

Интеграционное тестирование, если у вас R2DBC и liquibase

Level of difficultyEasy
Reading time7 min
Views2.9K

Уже немало копий поломали в поиске грааля идеального способа интеграционного тестирования с использованием БД.

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

Тестировать

Миллиард абитуриентов МИРЭА 2

Reading time27 min
Views7.6K

В прошлой работе автор представил описание архитектуры платформы приемной коммисии для обработки миллиарда абитуриентов за один день. В этой работе автор предлагает разработать, используя Spring + JDBCTemplate и Kafka микросервисы для предложенной архитектуры.

Добро пожаловать в АД

Что означает I в ACID и как это можно использовать

Reading time8 min
Views6.2K

Пройдя много собеседований, выяснилось, что довольно приличная часть собеседующих, спрашивавших или как-то затрагивавших тему транзакций и их работы, не знают как работают транзакции и что означает для разработчика термин изоляция. Вплоть до архитектора в одной очень большой российской компании, для которого выводы, использованные мною для формулирования решения при прохождении архитектурной секции оказались чем-то вроде бреда. Пока готовится вторая статья (Миллиард абитуриентов МИРЭА 2), можно отвлечься и разобрать тему, продемонстрировать разработчикам что означает для них I в ACID.

Попробовать заблокировать запись

Миллиард абитуриентов МИРЭА

Reading time14 min
Views2.9K

В предыдущей статье, была рассмотрена модель данных, необходимая для хранения информации об абитуриентах. Теперь пришло время показать, как используя реляционные БД можно обрабатывать модифицирующие запросы от миллиарда абитуриентов. А что бы расставить все точки над i, предлагаемая архитектура должна обрабатывать миллион модифицирующий запросов в секунду. Используя реляционные БД, гарантировать, что все возможные комбинации обрабатываются за сутки для миллиарда абитуриентов, каждому из которых предоставляется 20 вариантов! С ростом числа абитуриентов требования по железу должны рости линейно.

Стать абитуриентом МИРЭА

Архитект Проггер и кабинет приемной комиссии

Reading time16 min
Views3.2K

Этим летом абитуриентам было жарко, МГУ по проходному баллу почти превратился в ПТУ, а кто-то успешно поступил в вооруженные силы РФ, сам того не желая. Отсутствие автоматизации в 2021 году, способной обработать распределение абитуриентов по учебным заведениям, а так же необходимость написать продолжение предыдущей статьи, описывающей основы теории о Распределенной Авторизации (РА) побудило решить эту детскую задачу автоматизации. Посмотрим, сколько же рпс нам в этом раз отсыпет антилопа.

Шалить нельзя думать

Идеальный SAST. Тестируем парсеры

Reading time9 min
Views3.6K

Пока индексируется github (спасибо лимиту в 5000 запросов в час), поговорим пока о тестировании парсеров. Обсудим пожелания к процессу разработки грамматик, их тестирования и контроля качества так, что бы не превращаться в существо на картинке.

Ждать дальше

Микросервисная авторизация для чайников для чайников

Reading time18 min
Views31K
В данной статье рассматривается пример реализации распределенной микросервисной авторизации доступа для множества пользователей к множеству ресурсов или операций. Уровень подготовки читателя может быть любой, кто знаком с программированием и проектированием. Так же рассматриваются примеры использования на практике и одна из задач реализована в виде небольшой микросервисной системы.
Читать дальше →

Идеальный SAST. Парсер

Reading time5 min
Views2.5K
Цикл статей посвящен описанию оптимального подхода для реализаций инструментов статического анализа кода, рассчитан на специалистов. Целью работы являются подходы, модели и методики для получения максимальной производительности инструмента при минимизации трудоемкости разработки и поддержки/изменения инструмента. В данной статье рассматривается способ ускорения работы парсера и снижения потребления памяти. Статья построена таким образом, что читатель прочел руководство написанное Терренсом Парром.
Читать дальше →

Вредные советы при работе с ANTLR

Reading time2 min
Views4.1K
Вашему вниманию предлагается набор вредных советов, которые помогут вам создать наиболее производительный парсер. Не забывайте делать все по инструкции, иначе что-нибудь пойдет не так!
Читать дальше →

Автоматическая сериализация Java-объектов в ASN.1

Reading time3 min
Views5.4K

ASN.1 — стандарт описания протоколов передачи данных. Вот уже 8 лет не дает покоя тот факт, что существуют либо слабые попытки его использовать, практически не прибегая к его полному функционалу, либо же это монстры за большие деньги, используемые отнюдь не рядовым Васей.
Причем и те и другие наследуют одни и те же черты — неудобство, перегруженность дополнительными действиями и генерацией совсем бесполезных заглушек.
На хабре появлялось уже достаточно много статей с описанием всех прелестей ASN.1, рекомендую почитать их.


Вашему вниманию предлагаю альфа-версию библиотеки, позволяющей в стиле hibernate или jackson-databind сохранить ваши данные в бинарном виде. Пока поддерживаются только нотации BER(DER).

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity