Как стать автором
Обновить
33.17
Рейтинг

Микросервисы *

Микросервисная архитектура и все что с ней связано

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Масштабирование микросервисов Spring Boot

Блог компании OTUS Микросервисы *

Давайте представим, что мы уже написали наше Spring Boot приложение, и оно успешно работает на протяжении некоторого времени. И теперь мы понимаем, что для того, чтобы справиться с возросшей нагрузкой и повысить доступность, нам необходимо запустить несколько новых инстансов сервиса. Но мы не подумали об этом заранее, на этапе разработки.

Так что же может помешать нам просто взять и запустить еще несколько инстансов?

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 1.8K
Комментарии 1

Экспресс-поддержка

Блог компании X5 Group Разработка мобильных приложений *Service Desk *Инженерные системы Микросервисы *

Никому не нравится стоять в очереди на кассе, особенно для покупки всего одного или парочки товаров. В условиях пандемии мы вовсе не хотим рисковать и находиться долгое время вблизи незнакомых людей. Год назад мы в Х5 Group решили помочь нашим покупателям и создали приложение для самостоятельных покупок «Экспресс-Скан». Оно принадлежит к системам класса Scan & GO и позволяет покупателю добавлять товары из магазина в виртуальную корзину приложения через сканирование штрих-кода товара с помощью камеры смартфона. Главный плюс -  оплачивать товары можно прямо в приложении, не подходя к кассе и не ожидая в очереди.

Мы уже писали об архитектуре системы, а сегодня решили рассказать о работе команды поддержки. «Экспресс-Скан» - быстро развивающийся проект, где команда поддержки внедрилась почти на самом начальном этапе его становления. Тогда было доступно лишь добавление товара в приложении без возможности оплаты, а тестирование в реальных магазинах и вовсе начиналось в тяжелых условиях пандемии. Поддержка была привлечена не только к сопровождению приложения, но и к совместному изучению ключевых сервисов системы.

Читать далее
Рейтинг 0
Просмотры 1K
Комментарии 2

А должен ли это быть микросервис? Имейте в виду шесть факторов

Блог компании OTUS Микросервисы *
Перевод

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 6.1K
Комментарии 1

Независимость микросервисов

Блог компании OTUS Микросервисы *
Перевод

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.9K
Комментарии 4

Библиотека СleanAPI: cоздаем микросервис на Python за 30 секунд

Python *Программирование *API *Микросервисы *
Из песочницы

Использование микросервисной архитектуры для построения корпоративных приложений взамен традиционной монолитной — популярный тренд в веб-разработке.

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

Мой выбор — Tornado. Поработав с Tornado в паре коммерческих проектов, я в целом остался доволен результатами. Однако, как бы ни было хорошо, всегда хочется чего-то большего.

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

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 9.8K
Комментарии 11

Катастрофы, с которыми я столкнулся в мире микросервисов

Блог компании Флант Проектирование и рефакторинг *Микросервисы *
Перевод

Прим. перев.: автор этой статьи — engineering manager из Испании, работающий в цифровой торговой площадке Adevinta, представленной в 16 странах, — делится своими наблюдениями о частых проблемах, которые он встречал у создателей микросервисов. Об этих вызовах стоит знать заранее, чтобы не столкнуться с ними тогда, когда их решение может оказаться слишком затратным.

Когда пост Мартина Фаулера о микросервисах вышел в 2014 году, команды, в которых я работал, уже занимались SOA-приложениями. Эта статья и последующий хайп коснулись почти каждой команды разработчиков в мире. Стек Open Source-софта от Netflix был самым крутым в то время, поскольку позволял инженерам по всему миру перенимать опыт Netflix в распределенных системах. Если мы взглянем на работу разработчиков программного обеспечения сегодня, более шести лет спустя, большая её часть касается архитектуры микросервисов.

Читать далее
Всего голосов 76: ↑76 и ↓0 +76
Просмотры 22K
Комментарии 23

Как в восемь раз уменьшить количество DNS-запросов в Go

Блог компании Ozon Tech Высокая производительность *DNS *Go *Микросервисы *

Привет, Хабр. Меня зовут Рустам. Я работаю в Ozon: админю Kubernetes и пишу на Go.

У нас очень много сервисов на Go — их количество исчисляется тысячами. Запускаются они внутри кластеров Kubernetes. А я плотно работаю с Kubernetes и заметил, что при запуске кода внутри Kubernetes для резолва одного адреса делается до десяти DNS-запросов. Это, конечно, влияет на производительность.

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

Узнать больше про Go+DNS
Всего голосов 91: ↑71 и ↓20 +51
Просмотры 7.3K
Комментарии 6

Как сделать alter table в высоконагруженной таблице

Блог компании Karuna PostgreSQL *Программирование *Go *Микросервисы *

Ещё лет 5 назад на собеседованиях с backend-разработчиками был популярен вопрос: как переименовать колонку в высоконагруженной таблице (возможны вариации: как сделать любой другой alter table)?

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

Читать далее
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 10K
Комментарии 29

Архитектура приложения стартапа. Взгляд с высоты птичьего полета

Анализ и проектирование систем *Node.JS *ООП *TypeScript *Микросервисы *

Приветствую всех читателей Хабра.

Немного разбросал текущие дела и пришло время для написания следующего поста в моем запланированном цикле статей:

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 2.7K
Комментарии 6

Модули, монолиты и микросервисы

Блог компании Флант Анализ и проектирование систем *Проектирование и рефакторинг *Микросервисы *
Перевод

Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершенства, а также делится своим мнением о том, когда проводить границы между сервисами рационально.

В последнее время меня часто спрашивают, в каких случаях переход на микросервисы — хорошая затея. В статье «Systems design explains the world» я размышляю о таких типичных проблемах, как эффект второй системы, дилемма инноваторов и других. Может ли проектирование систем дать ответ на вопрос о микросервисах? Да, хотя ответы могут вам не понравиться.

Читать далее
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 9.4K
Комментарии 1

Как я запускал шаблонизатор офисных документов как сервис

.NET *Развитие стартапа Микросервисы *
Из песочницы

Приветствую!

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

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 7.3K
Комментарии 8

Отказоустойчивое взаимодействие с внешними сервисами

Блог компании ispring PHP *Микросервисы *

В этой статье я расскажу про то, как можно организовать отказоустойчивое взаимодействие с внешними сервисами. Тема актуальная, очень часто из-за недоступности какого-то одного компонента может пострадать вся система.

О чем статья:

•  Синхронное и асинхронное взаимодействие; 

•  Зависимость доступности от использования синхронного взаимодействия;

•  Способы избавления от синхронного взаимодействия;

•  Избавление от синхронного взаимодействия с внешними сервисами в PHP.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 3.6K
Комментарии 2

Микросервисы vs. Монолит

Блог компании Яндекс.Практикум Python *Программирование *Микросервисы *
В начале ноября на ютуб-канале Яндекс.Практикума прошли дебаты «Микросервисы, Монолит и Зомби». Ведущие дебатов — наставник курса «Мидл Python-разработчик» Руслан Юлдашев и техлид курса Савва Демиденко — разобрали архитектуры двух систем, прошлись по реальным задачам и ошибкам из своей рабочей практики и по очереди защищали свои позиции.

Обсуждение растянулось на 100 минут, поэтому мы публикуем сокращённую текстовую расшифровку.



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

Вы узнаете, как врачи регионов России не получали зарплату из-за микросервисов и сколько монолитов можно запустить, пока согласовывается интерфейс между сервисами.
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 7.3K
Комментарии 29

Микросервисы создают не микропроблемы? Тогда ждём на интенсив по service mesh

Блог компании Southbridge Системное администрирование *Серверное администрирование *DevOps *Микросервисы *

Все мы знаем про микросервисы и проблемы, возникающие между этими сервисами. Укрепился за последние годы и один из подходов к решению проблем – service mesh.

Слёрм проводит второй интенсив по service mesh, на котором спикеры помогут понять необходимость внедрения и подготовиться к нему без костылей в архитектуре. 

В этом году это будет последний онлайн-интенсив по service mesh, стартуем 24 сентября.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 1.1K
Комментарии 0

Касса самообслуживания в телефоне —экспресс-скан

Блог компании X5 Group Разработка мобильных приложений *IT-инфраструктура *Инженерные системы Микросервисы *

Рассказываем, как мы внедряли как мы интегрировали «Экспресс-скан» Х5.

Наши европейские коллеги еще во время весенних эпидемиологических ограничений сделали ставку на развитие систем класса Scan&Go — достаточно быстро обеспечили безопасность клиентов и добились хороших результатов с точки зрения продаж. В апреле мы внимательно проанализировали их опыт и решили, что стоит запустить собственный проект такого типа и развернуть его в магазинах сетей под управлением X5 Group.

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

Рассказываем, как мы подошли к этому проекту и что смогли осуществить.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4K
Комментарии 15

Какие API и функции Kubernetes будут удалены в релизе 1.22

Блог компании Southbridge Системное администрирование *DevOps *Микросервисы *Kubernetes *
Перевод

Kubernetes API развиваются и периодически обновляются. Когда готов улучшенный API на замену старому, старый удаляют. См. политику Kubernetes по удалению API.

Скоро будет удалено несколько API. Это беты, которые еще можно использовать в текущих версиях Kubernetes, но они уже deprecated. Им на смену придут обновленные стабильные версии API ("GA", General availability).

В Kubernetes 1.22 (релиз ожидается в августе 2021 года) будет удалено несколько deprecated API. На странице релиза Kubernetes 1.22 можно посмотреть его график.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 2.7K
Комментарии 0

Как мы настроили CI/CD, чтобы релизить часто и без страха

Блог компании Банк «Открытие» Тестирование IT-систем *DevOps *Микросервисы *

Приветствуем тебя, читатель Хабра. Возможно, тема непрерывной поставки и интеграции микросервисов покажется немного избитой, ведь сегодня любой идальго путем нехитрых манипуляций при помощи обучающих видео может натравить Jenkins/TeamCity/GitLab (нужное подчеркнуть) на свой репозиторий и начать называть себя испанским доном. Вся соль, на наш взгляд, в тех шагах сборки, которые он для себя определит и какой смысл в них вложит. Не менее чем сама сборка важен процесс автоматизации контроля качества. В этой статье мы расскажем вам о том, что в этом вопросе сделали для себя мы, команда разработчиков всех розничных фронтов банка «Открытие».

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

Рассмотрим конкретный пример.

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

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 6.8K
Комментарии 2

Webpack Module Federation — микрофронтенд на современных технологиях

Блог компании Netcracker JavaScript *Angular *ReactJS *Микросервисы *

Привет, Хабр! В Netcracker мы уже давно используем микрофронтендную архитектуру, и с 2017 года начали разрабатывать собственный платформенный инструмент построения микрофронтендов.

Недавно на митапе мы показывали, как делать сложные приложения, разрабатываемые разными командами в разных релизных циклах и даже технологиях. В режиме live coding соединили Angular, React и Vue в одном SPA. Было много вопросов про Webpack Module federation. Поскольку мы уже переходим на этот фреймворк, здесь мы поделимся наработками, как сделать Angular host application + React/Angular/Vue microfrontends с возможностью независимого версионирования зависимостей.

Давайте рассмотрим на рабочем прототипе!
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 7.1K
Комментарии 6

Когда стоит выбирать микросервисы

Блог компании Typeable Анализ и проектирование систем *Микросервисы *

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

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

Сам подход оформился на стыке технологий из конкурентной необходимости мгновенно вывести бизнес на новый уровень, и поэтому решения развивались лавинообразно и быстро обзаводились надстройками, паттернами и CI/CD обвеской. Для бизнеса причины не теряют актуальности и интерес к микросервисам также не угасает последние десять лет. При этом сделать решение на микросервисах для ИТ команды – задача творческая, интеллектуальная, позволяющая опробовать современные подходы и уложить на лопатки драконов консерватизма предыдущих решений. То есть, вполне благородный вызов. 

Но вот стоит ли поддаваться этой магии — большой вопрос. 

Как и всякое модное решение микросервисы не всегда идут на пользу. И не являются панацеей от всех проблем. 

Впрочем, давайте разбираться.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 4.3K
Комментарии 4

От (не)управляемого хаоса к автоматизированному процессу

Блог компании Учи.ру Управление разработкой *Управление проектами *Микросервисы *

Меня зовут Паша Мягков, я frontend tech lead в команде монетизации Учи.ру. Несколько месяцев назад рост команды и задач привел нас к тому, что привычные рабочие процессы перестали отвечать нашим потребностям. Болезнь роста затронула прозрачность разработки, планирование и workflow. В этой статье я расскажу, как в рамках одной быстро выросшей команды нам удалось наладить процессы.

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.2K
Комментарии 0

Вклад авторов