Обновить
2K+
22
Руслан@parus-lead

Solution Architect | Lead SA

25
Подписчики
Отправить сообщение

Топ антипаттернов для MongoDB, которые снижают производительность

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.2K

Многие из нас любят NoSQL. И MongoDB среди них является одним из топ-любимчиков. Очень часто мы выбираем нашу «Монгу» за гибкость и скорость. И это вполне логично, ведь MongoDB почти никогда не подводит... сразу. Неприхотливая, шустрая, удобная - она ведет себя как идеальный помощник: не требует лишнего, принимает любые данные, не задаёт неудобных вопросов про схему и с готовностью отвечает на каждый запрос за считанные миллисекунды.

Но потом ты начинаешь подозревать что-то неладное. И, что самое главное, происходит это не сразу, а постепенно. Сначала один запрос начинает задерживаться немного дольше обычного, потом еще один. Там, где раньше было 10-20 миллисекунд, становится 100. Ты замечаешь, что графики ведут себя странно. И начинаешь искать причину: грешишь то на версию софта, то на железо, то думаешь, что сама MongoDB какая-то не такая.

Но ответ очень часто лежит на поверхности: MongoDB не становится медленной сразу. Она лишь честно исполняет те правила, которые ей задали. И если присмотреться, почти за каждым снижением производительности стоит вполне конкретный антипаттерн.

В своей статье я предлагаю разобрать распространенные антипаттерны, которые встречаются при проектировании и работе с MongoDB. Также посмотрим на реальные известные случаи пользователей, которые в своей работе сталкивались с проблемами с MongoDB.

Читать далее

Цифровизация мирового ритейла. Тренды и технологические аспекты

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.9K

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

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

В подготовленном мною материале я предлагаю рассмотреть ключевые технологические тренды, формирующие будущее глобального продуктового ритейла. На основе данных из международных отчетов, таких как ReportsInsights, Statsmarketresearch, WiFiTalents и др., анализируются аспекты цифровизации, способные определить конкурентоспособность розничных игроков в новой экономической реальности.

Читать далее

IT — новые рыцари: история повторяется?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели59K

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

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

Не секрет, что многие профессии за время своего существования проходят путь от открытых и свободных сообществ до элитарных структур с собственными ритуалами, барьерами и внутренними кругами. Сегодня IT — одна из самых привлекательных и высокооплачиваемых сфер. Но то, что раньше казалось «входом по интересу», становится всё более недоступным без особой подготовки, опыта, сертификатов, а порой даже и связей. Этот путь напоминает трансформацию рыцарства в Средние века — от свободных воинов до замкнутой и привилегированной касты. Некоторые аналогии между айтишниками и рыцарями удивительно точны — и не только в контексте Средневековья, но и при взгляде на социальные лифты в Новое время.

Читать далее

Жизненный цикл API. Статистика и нюансы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.5K

В наши дни в мире разработки программного обеспечения, где взаимодействие между различными сервисами и системами является одним из самых важных моментов, глубокое понимание жизненного цикла API (Application Programming Interface) играет ведущую роль в успешном создании, поддержке и продвижении цифровых продуктов.

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

В данной публикации я хотел бы рассказать про самые важные стадии жизненного цикла API, а также по каждому этапу добавить интересные статистические данные, проведя анализ основных международных отчётов, таких как Postman State of Api , NordicAPIs и многих других.

Читать далее

Паттерны интеграции API

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели13K

Независимо от того, работаете ли вы с локальными системами, облачными решениями или сторонними сервисами, ключевые вопросы остаются одними и теми же: какой пользовательский или клиентский опыт вы хотите предложить? И как согласовать с этим опытом вашу стратегию интеграции?

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

Читать далее

API Mesh: Большой шаг вперед в распределенных бэкенд-системах

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

API Mesh упрощает управление API в распределенных системах, предоставляя унифицированный слой для оркестрации, безопасности и "наблюдаемости" (observability). В этой статье мы рассмотрим особенности API Mesh, его уникальные возможности и как он может изменить способы управления API для бизнеса.

Читать далее

Топ бесплатных API для личного и корпоративного пользования

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели105K

Ни для кого не секрет, что API является неотъемлемой частью большинства приложений и очень важным инструментом для эффективной работы. Для фрилансеров, небольших команд разработчиков, студентов, маркетологов и многих других специалистов существуют неплохие, а главное бесплатные API, для выполнения разнообразных задач. Они дают возможность для внедрения функционала без необходимости создавать все с нуля.

В этой статье я подготовил список бесплатных API, которые можно использовать в самых различных сферах. Я включил в него общеизвестные сервисы, которые на мой взгляд, зарекомендовали себя как надежные и достоверные источники данных, которые можно легко и просто использовать и которые имеют четкую и структурированную, а главное, понятную документацию. Так же немаловажными факторами являются легкость, простота и удобство получения доступа к API. Итак, мой список будет включать следующие API:

Читать далее

Симулятор брокера Apache Kafka: Kafka Visualization от компании SoftwareMill

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели17K

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

В моей предыдущей статье про симулятор одного из самых популярных брокеров сообщений — RabbitMQ (https://habr.com/ru/articles/859 982/) много читателей оставляли в личку разные вопросы, но одним из самых популярных и часто задаваемых стал: «Очень классный и удобный симулятор! А есть ли такой же для Kafka?» И тут я понял: действительно, несправедливо рассказывать и, так сказать, нести в массы симулятор одного типа брокеров, но совершенно забыть про другой. Ну что ж, Кафка, значит, Кафка!

На просторах всемирной паутины, к сожалению, стопроцентного аналога‑конструктора, такого как RabbitMQ Simulator, к сожалению, я не нашел. Но мы же знаем, что этой статьи не было бы, если бы я не нашел что‑то интересное.

И сегодня это будет Kafka Visualization от компании SoftwareMill.

Читать далее

AsyncAPI — Swagger для брокеров сообщений и не только, или Если хочется иметь структурированную доку по асинхрону

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели36K

В мире интеграций REST API на сегодняшний день занимает по праву свое почетное, королевское место. Сегодня мало какой проект или продукт обходится без стандартных HTTP-методов и документации к ним.

Но если для REST API уже всемирную славу приобрел Open API со своей Swagger-документацией, которая внедряется практически повсеместно и является по праву, так сказать, золотым стандартом, то для брокеров сообщений и, в целом для асинхронного взаимодействия, в большинстве случаев дела обстоят далеко не так однозначно.

В данной статье я хотел бы подробнее остановиться на довольно молодом типе спецификации для асинхронного взаимодействия - AsyncAPI, который, на мой взгляд, имеет огромный потенциал и все шансы на массовое применение в будущем.

На некоторых порталах, в том числе и здесь, уже косвенно поднималась тема AsyncAPI и вызывала у авторов, как правило, смешанные чувства. Описывали преимущества и недостатки, приводили некоторые примеры. Справедливо отметить, что AsyncAPI, конечно же, не идеален.

Но если посмотреть на это с другой стороны: удобно ли будет разработчику читать ТЗ и другую документацию касаемо разработки интеграции по асинхрону, слепленную из кусков текста, таблиц, рисунков, непонятных ссылок и т.д.? Одно дело, если разработчик находится на проекте с самого начала и знает все тонкости и может сам что-то додумать. Но если человек придет на проект уже через один, два или более лет после начала проекта и увидит тонны макулатуры, которую как-то нужно читать и анализировать, то вот тут начинаются трудные времена.

Читать далее

RabbitMQ Simulator. Песочница брокера сообщений

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели15K

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

RabbitMQ и Apache Kafka — это термины, которые, возможно, на слуху у каждого, кто так или иначе работает в ИТ-сфере.

И сегодня я хотел бы познакомить вас с одним из, на мой взгляд, интереснейших инструментов для симуляции брокера RabbitMQ - сайтом RabbitMQ Simulator https://tryrabbitmq.com.

Для начала пару слов теории о брокере сообщений RabbitMQ.

RabbitMQ — это популярная система обмена сообщениями с открытым исходным кодом, которая используется для передачи данных между различными приложениями и сервисами. Она основана на протоколе AMQP (Advanced Message Queuing Protocol) и позволяет создавать надежные и масштабируемые системы обмена сообщениями.

RabbitMQ представляет собой брокер сообщений, который принимает сообщения от отправителей (publishers), хранит их в очереди и передает получателям (consumers). Он поддерживает различные модели взаимодействия, такие как точка-точка (point-to-point) и публикация-подписка (publish-subscribe).

Теперь перейдём к самому RabbitMQ Simulator-у.

Итак, RabbitMQ Simulator — это онлайн-симулятор, который предоставляет пользователям возможность познакомиться с основами работы RabbitMQ и отработать сценарии использования очередей сообщений в безопасной и понятной среде, не требующей установки самого RabbitMQ на локальной машине. И это делает его необычайно полезным инструментом для изучения принципов работы RabbitMQ, а также для тестирования различных сценариев использования.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Software Architect
Lead
UML
REST
SQL
C4 model
Apache Kafka
Redis
MongoDB
OpenAPi specification
ER diagram
RabbitMQ