Архітектура мікросервісу є сервіс-орієнтованою архітектурою. В архітектурі мікросервісів існує велика кількість мікросервіси . Поєднуючи всі мікросервіси, він створює великий сервіс. В архітектурі мікросервісу всі служби спілкуються один з одним.
В Мікросервіси посібник, ми розберемося, як реалізувати мікросервіси за допомогою Весняна хмара . Ми навчимося налагоджувати зв'язок між мікросервісами, включити балансування навантаження , масштабування мікросервісів . Ми також навчимося централізувати налаштування мікросервісів з Spring Cloud Config Server . Будемо реалізовувати Сервер імен Eureka і Розподілена трасування з Весняний хмарний розшук і Зіпкін . Ми створимо відмовостійкі мікросервіси за допомогою Зіпкін .
наш мікросервіси підручник обговорює основні функції Архітектура мікросервісу разом із відповідними прикладами для легкого розуміння.
Що таке мікросервіси
Визначення : Відповідно до Сем Ньюмен , «Мікросервіси — це невеликі сервіси, які працюють разом».
Відповідно до Джеймс Льюїс і Мартін Фаулер , «Стиль архітектури мікросервісів — це підхід до розробки однієї програми як набору невеликих служб. Кожен мікросервіс запускає свій процес і спілкується за допомогою легких механізмів. Ці послуги базуються на бізнес-можливостях і незалежно розроблені за допомогою повністю автоматизованого механізму розгортання».
Існує мінімум централізованого керування цими службами, які можуть бути написані різними мовами програмування та використовувати різні технології зберігання даних.
Пункти, які слід пам’ятати
- Це послуги, які надає REST.
- Це невеликі добре підібрані підрозділи, що розгортаються.
- Сервіси мають бути хмарними.
Мікросервіс визначає підхід до архітектури, яка поділяє програму на пул слабозв’язаних служб, які реалізують бізнес-вимоги. Це поруч Сервісно-орієнтована архітектура (SOA) . Найважливішою особливістю архітектури на основі мікросервісів є те, що вона здатна працювати безперервна доставка великого та складного застосування.
Мікросервіс допомагає зламати програму та створювати логічно незалежні менші програми. Наприклад, ми можемо створити хмарний додаток за допомогою Amazon AWS з мінімумом зусиль.
На наведеному вище малюнку кожен мікросервіс має власний бізнес-рівень і базу даних. Якщо ми змінимо один мікросервіс, це не вплине на інші сервіси. Ці служби спілкуються одна з одною за допомогою спрощених протоколів, таких як HTTP або REST, або протоколів обміну повідомленнями.
Принципи мікросервісів
Існують такі принципи роботи мікросервісів:
- Принцип єдиної відповідальності
- Створено навколо бізнес-домену
- Ізолювати невдачу
- Автоматизація інфраструктури
- Розгорнути самостійно
Принцип єдиної відповідальності
Принцип єдиної відповідальності стверджує, що клас або модуль у програмі має мати лише одну відповідальність. Будь-яка мікрослужба не може виконувати більше однієї відповідальності одночасно.
Створено навколо бізнес-домену
Мікросервіс ніколи не обмежує себе прийняттям відповідного технологічного стеку чи бази даних. Для вирішення бізнес-цілей найбільше підходить стек або база даних.
Ізольований збій
Великі програми можуть залишатися здебільшого не вплинути на збій одного модуля. Цілком можливо, що служба може вийти з ладу в будь-який момент. Тому важливо швидко виявити збій, по можливості автоматично відновити збій.
Автоматизація інфраструктури
Автоматизація інфраструктури – це процес сценарних середовищ. За допомогою середовища сценаріїв ми можемо застосувати ту саму конфігурацію до одного або тисяч вузлів. Він також відомий як керування конфігурацією, сценарна інфраструктура та керування конфігурацією системи.
Розгорнути самостійно
Мікросервіси не залежать від платформи. Це означає, що ми можемо розробляти та розгортати їх незалежно, не впливаючи на інші служби.
Аудиторія
Наш навчальний посібник із мікросервісів розроблено для професіоналів із програмного забезпечення та початківців, які хочуть вивчити архітектуру мікросервісів простими кроками. Цей підручник дасть вам поглиблені знання про архітектуру мікросервісів і подібні до них компоненти Сервер RabbitMQ, сервер імен Eureka, шлюз Zuul API, стрічка, Hystrix, і Сервер Zipkin . Після завершення цього підручника ви зможете розвиватися сервіси мікросервісів з Весняна хмара .
передумови
Перш ніж продовжити цей підручник, ви маєте мати базове уявлення про Java , Весна, і Весняна хмара Каркас. Тому що ми збираємося розробляти мікросервіси за допомогою Spring Cloud.
проблема
Ми запевняємо вас, що ви не знайдете жодних проблем із посібником із мікросервісів. Якщо є якась помилка, опублікуйте проблему в контактній формі.