Відмова від відповідальності
Я сподіваюся, що я не наступаю ні на кого ніг і не ображаю ентузіастів жодної концепції
Фон
Я шукав реальні відмінності між сервісно-орієнтованою архітектурою та мікросервісами, не знайшовши чіткої відповіді.
Я читаю такі речі, як:
- побічні ефекти SOA
- SOA як анти-модель
- Мікросервіси прийшли виправити збої SOA
- ESB насправді не є ESB, натомість вони є EAI
- Надмірна надійність брокерів на повідомлення
- Продавці зловживають поняттям SOA і намагаються продати свою продукцію
- SOA безконтрольно росте
Але все-таки нічого чітко не визначає архітектурні відмінності між сервісно-орієнтованою архітектурою (як концепція) та мікросервісами (як концепція)
Згідно з тим, що я зрозумів, вони обоє мають:
- Постачальники послуг, роблячи лише одне
- Служба шлюзу / ESB, що відкриває ці послуги споживачам
- Сервісні споживачі, що отримують доступ до послуг через ESB / Service Gateway
Питання
Отже, чи є щось інше, ніж відновлення SOA в мікросервіси? чи обмежено технологію, щоб обмежити мікросервіси перетворюватися на макрос?
Примітка. Я не шукаю думок, а лише важкі факти, сподіваюся, в пунктах
Список літератури
- Питання інженерії програмного забезпечення
- Сайт Мартіна Фаулера (я думаю, що він ненавидить це великий час)
- Інформаційний світ
- Веб-сайт Майкла Фетера
- Питання переповнення стека
Оновлення
Схоже, подібна дискусія трапилася і в питанні про переповнення Stack , і думки поділяються за тим чи ні Мікросервіси маскуються під сервіс, орієнтований на сервіс.
Висновок з питання СО:
- МС - особливий випадок SOA
- MS схвалює менший розмір програм, що розміщують послуги
- MS залежить від технології (використання HTTP, а не параметрів відкритого протоколу)
- MS покладаються на технології для забезпечення дисципліни (автоматичне розгортання послуг)
- MS вважає ESB (злі), але використовує шлюзи API, які IMHO є типом ESB
З цього випливає висновок, що MS - SOA, якщо справедливо таке:
- Чи підтримують МС поняття оркестрації? Один або кілька головних процесів керують робочими процесами
- Чи є рівень посередника повідомлень у MS? Набір адаптерів, що переводять формати повідомлень з простору повідомлень виробників послуг до споживачів послуг
- Чи можуть мікросервіси зчитувати дані з монолітних корпоративних програм? Чи можуть це бути API монолітного застосування? або це повинні бути автономні додатки, здатні працювати самостійно?
Якщо відповідь на останнє запитання виявилася ні, то мікросервіси не змогли б обробляти складні системи робочого процесу, наприклад системи управління кредитними картками або системи примирення
Martin Fowler's Site (I think he hates it big time)
Це не було моїх почуттів, коли я їздив на його розмову в Барселону. Він знає про компроміси і про те, як люди сліпо перейшли до цієї архітектури, не вважаючи, що MS не підходить для всіх.