LINUX.ORG.RU

Микросервисы на Java (взял интервью у Владимира Плизги из ЦФТ)

 ,


2

5

Ссылка: https://habrahabr.ru/company/jugru/blog/349954/

Абстракт: ЦФТ - это старая финтех организация, продуктами которой пользуется половина банков России. В ней завелась команда, пилящая многолетний монолит на микросервисы. Статья интересна тем, кто считает, что микросервисы - для хипсторов, а нормальный ынтерпрайз уж как-нибудь без них проживёт.

Содержание:

  • Зачем нужны микросервисы;
  • Как с ними жить (судьба REST и SOAP, statefull vs. stateless, переход от монолита к микросервисам, совместимость с legacy и многое другое);
  • Микросервисные технологии (Spring Cloud Netflix, Zuul, ...), какие с ними проблемы, что нужно допиливать;
  • Документация: на русском или английском? Написание и генерация документации (Swagger, SpringMVC, SpringFox). Архитектурные диаграммы — нужны ли, в чем рисовать, как хранить;
  • Мониторинг, восстановление от сбоев;
  • Ну и самое главное: стоит ли игра свеч?

Перемещено tailgunner из development

Перемещено jollheef из talks

★★★★☆

Короче я искал-искал профит и нашел:

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

В общем, как обычно, хайп вокруг микросервисов от криворукости архитекторов. И что характерно, они не помогают.

Deleted ()

На фото справа очказавр - ты? (я сам очки юзаю перед ПеКа)

I-Love-Microsoft ★★★★★ ()

Вопрос немного не по теме, но просто интересно: а это нормально превращать development в место для анонсов своих Хабровых статей?

Помнится, PVS-Studio за такое гоняли ссаными тряпками.

eao197 ★★★★★ ()
Последнее исправление: eao197 (всего исправлений: 1)
Ответ на: комментарий от eao197

Как только исчезнет сообщение «слишком длинное сообщение», смогу постить прямо сюда

Кроме того, PVS-Studio - это платная проприетарщина, а Java - это Free Software под лицензией GPL2

stevejobs ★★★★☆ ()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от eao197

Статья на хабре просто как материал для обсуждения и размышления, не считаю это анонсом. Претензий к ТС не имею хотя бы потому, что когда анонiмуса выпускают из дурки, то нелепые темы в dev сыпятся одна за другой, и все соглашаются что это computer science.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от stevejobs

Кроме того, PVS-Studio - это платная проприетарщина, а Java - это Free Software под лицензией GPL2

Интервью не о Java, а об использовании модного паттерна проектирования в насквозь проприетарном продукте.

tailgunner ★★★★★ ()
Ответ на: комментарий от stevejobs

Как только исчезнет сообщение «слишком длинное сообщение», смогу постить прямо сюда

А смысл?

Я еще мог бы понять, если бы вы на LOR-е опубликовали эксклюзивный материал, которого больше нет ни на каком другом ресурсе. Но ссылка на Хабр или копия текста с Хабра в development — что это, как не пиар себя любимого и собственных трудов?

Ну и если такой PR позволен вам, то значит и всем остальным это можно. Включая PVS-Studio. И не только.

eao197 ★★★★★ ()
Ответ на: комментарий от tailgunner

А мы не узнаем, проприетарный он или нет - насколько понял, речь идёт об in-house ядре, которое они никому не продают и наружу не отдают. Там может быть хоть GPL! (но мы об этом никогда не узнаем)

Но там есть очень интересные вещи, по типу того, что они используют для общения со внутренними системами документацию на Swagger и SpringFox для SpringMVC. Это позволяет снизить количество руками набираемого бойлерплейта.

При этом они умудряются внутри системы жить исключительно на нормальных протоколах - HTTP и не-до-конца-REST, и делается всё это средствами Spring Cloud Netflix и Zuul почти без допилок

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

Просто берём Spring Cloud и радуемся - всё «просто работает»

Вот как-то так я бы это резюмировал :-)

stevejobs ★★★★☆ ()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от eao197

https://news.ycombinator.com/

эксклюзивный материал? деточка, а ты не лопнешь? :-)

Ну и если такой PR позволен вам, то значит и всем остальным это можно. Включая PVS-Studio. И не только.

Опенсорцным продуктам - позволен. Не мерзкой платной проприетарщине! :-)

stevejobs ★★★★☆ ()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

А мы не узнаем, проприетарный он или нет - насколько понял, речь идёт об in-house ядре, которое они никому не продают и наружу не отдают. Там может быть хоть GPL!

GPL Рассела.

Вот как-то так я бы это резюмировал :-)

А я бы резюмировал, что это не относится к той Java, которая GPLv2. Прошлое интервью, об использовании Graal - оно, пожалуй, относилось, а это - точно нет.

tailgunner ★★★★★ ()
Ответ на: комментарий от stevejobs

эксклюзивный материал?

Ну вот я и не могу понять: вы притащили на LOR в development ссылку на Хабровую статью. Написание которой, как полагаю, является частью вашей работы. Соответственно, вы здесь пиарите собственную работу. Какая выгода от этого LOR-у или читателям LOR-а — хз.

Вот и возникает вопрос: а что, так можно было?

деточка, а ты не лопнешь? :-)

Молодой человек, вы всерьез хотите, чтобы я начал общаться с вами в таком же духе?

eao197 ★★★★★ ()
Ответ на: комментарий от tailgunner

Это о торжестве open-source модели разработки: точнее о том, что даже ынтерпрайзы юзают Java (GPL2) и Spring Framework (Apache License 2.0)

Кстати, этот разговор в теме про джава-микросервисы. Не находишь ли ты, что твой вопрос больше подходит для раздела /linux-org-ru, а в данной теме является флудом?

stevejobs ★★★★☆ ()

Хорош уже свою писанину тут пиарить

ya-betmen ★★★★★ ()
Ответ на: комментарий от stevejobs

Это о торжестве open-source модели разработки: точнее о том, что даже ынтерпрайзы юзают Java (GPL2) и Spring Framework (Apache License 2.0)

Они это делают уже лет 10. Об этом точно надо писать статьи?

Кстати, этот разговор в теме про джава-микросервисы. Не находишь ли ты, что твой вопрос больше подходит для раздела /linux-org-ru, а в данной теме является флудом?

Флудом? Нет. Оффтопиком - пожалуй. Но что ж поделать, если ты сделал утверждение «это новость о Java, которая GPLv2» именно здесь.

Просто для протокола - я понимаю, что у этого материала есть причины быть в Development, и я понимаю отличие ситуации от ситуации с PVS, но... это материал о разработке закрытого продукта, и, если у кого-то возникнут технические вопросы, здесь на них ответить некому - разработчика продукта здесь нет.

tailgunner ★★★★★ ()
Ответ на: комментарий от eao197

Но ссылка на Хабр или копия текста с Хабра в development — что это, как не пиар себя любимого и собственных трудов?

Строго говоря, туповатый пиар, т.к. ЛОР сомнительная публичная площадка, скорее «курилка». Тем более непонятно, зачем Олег сюда тащит это.

Virtuos86 ★★★★★ ()

Можно много ругать ЛОР, но это очень показательно, когда его самые непопулярные и мало чем примечательные пользователи становятся «топ блогерами» на Хабре.

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

Дальше в топе был тот чувак, который пиарил свою пивас-студию. Вообще хер с горы какой-то.

Ну и трейтий этот stevejobs, который сидел все время в толксах, изредка вылезал со своим тупым гуманитарным мнением в Development, тут же получал в щи и убегал обратно. Тоже хер пойми, кто такой.

anonymous ()
Ответ на: комментарий от Virtuos86

По-моим ощущениям, LOR — это одна из немногих живых площадок для разработчиков в Рунете. RSDN скорее труп, нежели живой ресурс. На Хабре полно школоты + там ориентация на хайповые темы без глубокого в них погружения + там дурацкая система рейтингов, которая убивает нормальные дискуссии. Opennet — хорош анонсами, но не знаю, насколько на нем можно обсуждать проблемы разработчиков.

У LOR-а, конечно, специфическая аура и специфический стиль обсуждения. Но здесь хотя бы ламера и «малолетнего дебила» (с) вполне таковым можно обозвать, если он начинает нести откровенную пургу.

eao197 ★★★★★ ()

Зачем нужны микросервисы;

монолит это когда большая куча говна, а микросервисы - маленькие кучки

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от tailgunner

Васян, не нуди. Это нормальная статья, особенно на фоне того ламерского говна из чего сейчас на 90% состоит Development.

Bobby_ ()

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

А не проще ли просто разбить программу на кучу независимых классов, которые можно изолированно использовать в разных программах.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от Bobby_

Это нормальная статья, особенно на фоне того ламерского говна из чего сейчас на 90% состоит Development.

Когда в Development был неламерский фон, стивжопа прятался в толксах.

anonymous ()
Ответ на: комментарий от I-Love-Microsoft

Я там где-то ближе к концу спросил ЦФТшника об этом, ctrl+F по «профит велик»

В чём прикол. На одной из прошлых работ мы специально делали систему вида «распределённый монолит». То есть, «микросервисы» были, но всё в целом работало как монолит.

Почему? Потому что это просто и удобно в разработке и отладке :) То есть, в нашем случае микросервисы не окупались

Но вот что забавно. Есть куча библиотек и фреймворков, дающих основу для той же микросервисной архитектуры (тот же Spring Cloud Netflix), но почти нет таковых для «распределённого монолита»!

И в результате, фреймворк для «распределённого монолита» мы сами же и изобретали

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

А не проще ли просто разбить программу на кучу независимых классов, которые можно изолированно использовать в разных программах.

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

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

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

то же и с микросервисами. Поэтому компанию нужно бить на монолитные команды (Microsoft проводила исследование, получилось 20 человек максимум). И микросервисы тоже придётся делить!

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

именно поэтому так интересно общаться с людмьи, которые «в самом начале пути» и свято верят, что сейчас всё попилят на микросервисы и заживут хорошо

stevejobs ★★★★☆ ()

Лол, прочитал я таки эту простыню. Люди из говна, палок и тысячи холопов хотят слепить Unix Way.

anonymous ()
Ответ на: комментарий от stevejobs

что даже ынтерпрайзы юзают Java

даже ынтерпрайзы

Эт че, значит все врали про то что java это надежно и производительно, «на java пишут корпорации» и все такое? Я бы понял если у них там ядро на bash было написано, но тут то чему удивляться - любою жирную компанию возьми, которая позиционирует себя как интерпрайз, и у них будет жава, спринг\гибернейт и соап во все поля.

Кстати, этот разговор в теме про джава-микросервисы.

Они сравнивали что там получилось в итоге по производительности, цене какого-нибудь сервиса (то есть написать нормально с нуля монолитом vs то же самое, но микросервисами) и трабблшутингу после смены монолита на микросервисы? А то эти двадцать пять экранов светских бесед читать никакого желания нет.

micronekodesu ★★ ()
Ответ на: комментарий от micronekodesu

Они сравнивали что там получилось в итоге по производительности,

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

Deleted ()
Ответ на: комментарий от eao197

RSDN

Когда я его почитывал лет десяток назад, он выглядел, как хтоническое чудовище с невнятной навигацией.

На Хабре полно школоты + там ориентация на хайповые темы без глубокого в них погружения

Самое то для пиара. В то время как на ЛОР не только

ламера и «малолетнего дебила» (с) вполне таковым можно обозвать, если он начинает нести откровенную пургу

, но и любую attention whore, в которых с охотой записывают всех пиарастов.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от stevejobs

И очень скептически отношусь к целиком микросервисной архитектуре, когда количество микросервисов пойдёт на сотни

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

micronekodesu ★★ ()
Ответ на: комментарий от Virtuos86

Когда я его почитывал лет десяток назад, он выглядел, как хтоническое чудовище с невнятной навигацией.

Да к любому интерфейсу можно привыкнуть. В начале 2000-х там весьма вменяемая и профессиональная тусовка была. Не портило это даже то, что весь ресурс был Windows- и .NET-ориентированным. Но потом там .NET-чики и Nemerle-сты (в основном последние) вообще берега потеряли и ресурс скатился в унылое Г. Хотя некоторые старички из вменяемых и очень профессиональных там еще остаются.

eao197 ★★★★★ ()
Последнее исправление: eao197 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Это нормальная статья, особенно на фоне того ламерского говна из чего сейчас на 90% состоит Development.

Когда в Development был неламерский фон, стивжопа прятался в толксах.

Какой такой фон, если всюду годами всё те же лица?

Virtuos86 ★★★★★ ()
Ответ на: комментарий от eao197

Не портило это даже то, что весь ресурс был Windows- и .NET-ориентированным.

Джоэль Спольски писал толковые вещи, при том что использовал Visual Basic, емнип, так что дело не в используемых инструментах или не только в них.

Virtuos86 ★★★★★ ()

Профессиональное придумывание решений к несуществующим проблемам. Решения желательно пожырнее с названими попафоснее.

mos ★★☆☆☆ ()
Ответ на: комментарий от eao197

Может быть он просто хочет, чтобы мы прочитали его статью. Зачем же вот так сразу тайный умысел искать? Тем более, какой смысл местным анонимам интервью рекламировать?

Leupold_cat ★★★★ ()
Ответ на: комментарий от Leupold_cat

Это уже вторая подобная тема. И есть подозрение, что не последняя.

Поэтому хочется понять, это только стиви так можно или и всем остальным так же?

eao197 ★★★★★ ()
Ответ на: комментарий от Virtuos86

Какой такой фон, если всюду годами всё те же лица?

Сравни от балды взятую старую тему с текущими бабушкиными посиделками:

[scheme][haskell][oop][fp] Мысли вслух

Это еще с учетом того, что там 2/3 комментов уделены к херам. Раньше там модерировали вообще неформалы с татухами и пирсингом, но даже у них нервы не выдерживали.

anonymous ()
Ответ на: комментарий от eao197

LOR — это одна из немногих живых площадок для разработчиков в Рунете.

допустим

RSDN скорее труп, нежели живой ресурс.

тебе там просто скучно. нет никого, кто бы спорит с тобой.

там дурацкая система рейтингов, которая убивает нормальные дискуссии.

нет. просто банят тех, кто обзывается, отстаивая свою тз.

Но здесь хотя бы ламера и «малолетнего дебила» (с) вполне таковым можно обозвать

Вооот. Короче сборище закомплексованых «непризнаных гениев», которых никто не понял.

Один, например, вставил сишку в сишку, что бы на сишка работала быстрее и учит остальных «пацанов» как надо на сишке писать.

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

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

А есть ещё какая то тётка, программист. Да, именно. Не програмер, не кодер, а вот именно «программист». Стаж огромный, писала на спп ещё до нашей эры. Всем рассказывает как надо писать на с или на спп, но редкий персонаж с ней дискутирует, так как дискутировать с ней скучно.

Есть персонаж постоянно улывающийся. Было, помню, такое кино - «гумплен» что ли. Это про него наверное. Всё время ржот аки конь.

А ещё есть персонаж - толи закомплексованый, толи угорел, толи ещё что - умудряется называть всех на вы, но при этом обсирать так искромётно (он так видит наверное), что прям тошно читать его реплики. Видимо проблемы у него. Толи родители внимания не додали, то ли жена ушла, может ещё что.

Короче кунсткамера в полном сборе Лол :-)

anonymous ()
Ответ на: комментарий от hateyoufeel

Да. Потому что у меня монолит спокойно работает на ноутбуке с 8 гигами памяти и есть не просит. А микросервис начинает свопать 16 ГБ воркстейшн.

spoilt ★★★ ()
Ответ на: комментарий от anonymous

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

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

Тред нажористый, и почему-то я его не помню :( (неужели пропустил?).

Такие каждый день были. Причем хаскеллисты еще поспокойнее были. Лисперы так вообще мамку комментатора матами по все падежам склоняли в добавок ко всем техническим деталям. Тонны винрара были именно в удаленных.

anonymous ()
Ответ на: комментарий от Deleted

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

А потому что тупые гуманитарщики со своими дебильными диаграммками. Образованные люди такие проблемы уже давно научились решать.

anonymous ()
Ответ на: комментарий от Deleted

Так вот профит-то довольно скромный. Server/client-side service discovery/load balancing; span транзакций между сервисами; версионирование; CI/CD сложные; инфраструктура в целом, суровая, как жизнь java-разработчика; трехэтажные каскады вызовов, да ещё если под капотом blocking io. И чот как-то грустно становится.
Не мимокрокодил, вижу и пишу тонны микросервисов для Большого Известного Банка.
А так, да - микросервис легко умещается в голове. Вот только насколько он должен быть микро? По DDD домен побить - это ж тоже та ещё задачка.

bytecode ★★ ()
Ответ на: комментарий от anonymous

Есть персонаж постоянно улывающийся.

Так это же знаменитый аноним со смайликами! Знаменит лютой ненавистью по отношению к C++, который всегда называет «цепепе», за что нелюбим персонажем eao197. Вроде как лиспер, хотя хз.

anonymous ()
Ответ на: комментарий от kolja

Легко можно было бы организовать ОГРОМНЫЙ поток новостей (десятки в день), если бы можно было быстро аппрувить новости, и выпускать их в качестве как на Хакерньюзе или Хабре.

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

anonymous ()
Ответ на: комментарий от stevejobs

Как только исчезнет сообщение «слишком длинное сообщение», смогу постить прямо сюда

Руби на части и пость в комментарии.

question4 ★★★★★ ()
Ответ на: комментарий от eao197

Вот и возникает вопрос: а что, так можно было?

А вы думали правила это константы, заданные богом в момент сотворения мира за 7 дней?

foror ★★★★ ()
Ответ на: комментарий от foror

А вы думали правила это константы, заданные богом в момент сотворения мира за 7 дней?

Нет, я думал, что правила — это рамки, которые защищают от «творю, что хочу и мне пох на всех остальных».

eao197 ★★★★★ ()
Ответ на: комментарий от question4

Руби на части и пость в комментарии

Долго пытался понять, что предлагается сделать с ruby, и как это поможет.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.