Mikroservislər və SOA arasında fərq

Mən Microservice Architecture-də oxuyuram və bununla və müntəzəm SOA arasındakı fərqi (ayrıca yerləşdirilən xidmətlər istisna olmaqla) görməyə çalışıram. Kimsə mənə fərqi və bəlkə konsol və Microservice mimarisi haqqında danışa bilər?

239
26 авг. TheCoder tərəfindən 26 Avqustda təyin olundu 2014-08-26 11:18 '14 at 11:18 AM 2014-08-26 11:18
@ 7 cavab

Hesab edirəm ki, SOA ixtisaslaşması kimi Microservices'in memarlıq üslubunu düşünə bilərsiniz. Unudulmamalıdır ki, qəbul edilən fikirlərdən biri, bütün SOA həqiqətən dörd cümləə malikdir:

  • Sərhədlər aydındır
  • Xidmətlər avtonomdur.
  • Paylaşılan xidmətlər sxemi və müqavilə, sinif deyil
  • Uyğunluq xidməti siyasətə əsaslanır.

    -Don Box, Microsoft (əvvəlcədən 3.0)

Bu bizi Lewis / Fowlerdən mikroservislərin kanonik tərifinə aparır:

Bir sözlə, mikroservisiyanın memarlıq üslubu hər birinin öz prosesində işləyən və tez-tez HTTP resurslarının API-yə yüngül mexanizmləri ilə ünsiyyət quran bir sıra kiçik xidmətlər şəklində vahid bir proqramın inkişafına bir yanaşmadır. Bu xidmətlər biznes imkanları ətrafında qurulur və müstəqil olaraq tam avtomatik yerləşdirmə sistemləri tətbiq olunur. Müxtəlif proqramlaşdırma dillərində yazıla bilən və müxtəlif məlumat saxlama texnologiyalarından istifadə edilə bilən bu xidmətlərin minimal mərkəzləşdirilmiş idarə olunması var.

Bu tərifdən aydın olur ki, mikroservislər ən azı ilk iki prinsipi yerinə yetirirlər (ikinciyə vurğulayırlar), amma onlar üçüncü (həqiqətən, prinsipi başa düşmürəm, buna görə şərh verməyəcəyəm) şübhə edir.

Mikroservislər üçün üçüncü prinsipin yerinə yetirilməməsinin səbəbi mikroservislərin xüsusiyyətlərindən biri odur ki, RESTful API-yə məruz qalmasıdır ki, bu iddia edilə bilər, müqaviləni və ümumi sxemi (yuxarıda və Fowler-dən göründüyü kimi, yuxarıda HTTP-nin müntəzəm sözüdür):

bir sıra kiçik xidmətlər, hər biri ... yüngül mexanizmlər ilə qarşılıqlı, tez-tez HTTP API

SOA-dan mikroservis stilinin fərqli olduğu bir başqa üsul bu reçeteyedir:

Bu xidmətlər ... müstəqil olaraq tam avtomatik bir yerləşdirmə mexanizmi tərəfindən yerləşdirilir.

SOA-nın ilk prinsiplərinə uyğun olaraq, bu, mənim xidmət ikicilərimin mənim istehsalat mühitimə əl ilə köçürülməsinə mane deyil, lakin mikroservislərə yanaşma ilə xidmətlərin yerləşdirilməsi və idarə olunması tam avtomatlaşdırılmış olmalıdır.

178
02 сент. Cavab verilir . 2014-09-02 17:26 '14 at 17:26 2014-09-02 17:26

SOA və mikroservislər arasında əsas fərq ölçüsü və həcmidir. "Mikro" sözünün olduğu kimi, SOA baş verəndən az əhəmiyyət kəsb etməlidir. Mikroservis kiçik bir qurğudır. Çox kiçik bir microservice antipater - nanservice çəkinin. SOA monolit ola bilər və ya bir neçə mikroservisdən ibarət ola bilər. Martin Fowler deyir ki, SOA mikroservislərin super şəbəkəsidir.

2019

08 окт. Mayank Jaiswal tərəfindən verilmiş cavab 08 oktyabr 2015-10-08 08:40 '15 at 08:40 2015-10-08 08:40

Oracle Mesajından, SOA və mikroservislər arasındakı fərqlərdən fərqli olaraq, Torsten Winterberg (Oracle ACE Direktoru) fərqi qısa təsvir edə bilərsiniz:

Mikroservislər son on il ərzində danışdığımız SOA tipidir. SOA xidmətləri tez-tez yerləşdirmə monolitlərində tətbiq olunarkən, mikroservislər müstəqil olaraq yerləşdirilə bilər. Klassik SOA daha platforma idarə edir, beləliklə mikroservislər bütün ölçülərdə daha çox seçim təklif edir.

Beləliklə, SOA proqram komponentləri digər komponentlərə xidmət göstərən bir memarlıq nümunəsidir. Lakin, SOA-da bu komponentlər eyni tətbiqə aid ola bilər . Digər tərəfdən, mikroservislərdə bu komponentlər müstəqil olaraq konuşlandırılabilir xidmətlər qruplarıdır .

Microservices DevOps təcrübəsinə əsaslanan SOA memarlıq ixtisaslaşmasıdır. Fərdi olaraq yerləşdirilə bilən xidmətlər Sadələşdirilmiş Davamlı İnteqrasiya / Davamlı Dağıtım

52
26 июня '15 в 12:36 2015-06-26 12:36 Cavab Dimos tərəfindən 26 İyun tarixində saat 12:36 'də veriləcək 2015-06-26 12:36

Fərq yoxdur. Kullanılan boyut ya da dağıtım yaklaşımı SOA tarafından belirtilmemiştir. Micros-servislər normal normal memarlıq qərarlar qəbul edildikdə SOA modelinin bir növüdür. Çözümler servis detaylarını ve dağıtım / işlem yaklaşımını ehtiva edir. Insanlar SOA-da bu həllərdən istifadə edirlər. Martin Fowler şərti SOA arxitekturası üçün yeni bir ad yaratdı. Həqiqətən, 2000-ci ildə Sun bütün aspektlərdə və özünü idarə edən avtonom xidmətlər kimi müəyyən etdi. Beləliklə, Mikro-xidmətlər yeni deyil, sadəcə yeni konsaltinq gəlirləri yaratmaq üçün yeni bir marketinq dövrüdür. Bəli, şişirdilmiş məhsulları olan böyük proqram təchizatçıları SOA prinsiplərini heç vaxt təmsil etməyən monolitik bir yanaşma yaratmışlar. Bu, bir API xidmətinin adını dəyişdirmək, onun bütün marketinqi ilə bağlıdır.

36
24 мая '16 в 9:02 2016-05-24 09:02 Cavab Kim Horn tərəfindən 24 may '16 saat 9:02 2016-05-24 09:02 tərəfindən verilir

Çox açıq bir şəkildə, on ildən artıq müddətə bina xidmətinə yönəldilmiş arxitekturaları sərf etdikdən sonra, heç bir real konseptual fərq görmürəm. Xidmətin konsepsiyası (və kommunal) mənim fikrimcə hər zaman atom olmuşdur. Daha böyük makro mesajların "tərtib edilməsinə" icazə verdiyiniz atom xidmətlərini yazmaqla, sonra onları bir növ biznes proseslərinə çevirmək imkanı verir.

Müxtəlif proqramlaşdırma dillərində yazılı xidmətlərin qarşısını alacaq və müqavilə interfeysi vasitəsilə qarşılıqlı fəaliyyətə imkan verən orijinal SOA reseptində heç bir şey yoxdur. Xidmətlərinizi müstəqil olaraq yerləşdirməyinizə mane olan orijinal SOA reseptində heç bir şey yoxdur. Bir Tomcat prosesində bütün xidmətlərin yerləşdirilməsi və ya ayrı Tomcat / Nginx prosesləri ilə bölüşdürülməsi və onları klasterinizdə müxtəlif qovşaqlara yerləşdirməyin seçilməsi yalnız semantik məsələidir. Beləliklə, şəxsən SOA və mikroservislər arasında fərq görmürəm. Yeni bir müddəti formalaşdırmaq üçün bu ixtira açıqca demək olmaz.

33
19 июня '16 в 11:12 2016-06-19 11:12 Cavab Kingz tərəfindən 19 İyun '16 'da 11:12' də 2016-06-19 11:12 'də verilir

Mikroservislər, qısacası, bir web serverdə müstəqil olaraq çalışan veb xidmətləri kimi qəbul edilə bilər.
Burada əsas xüsusiyyətlərdən bəziləri:

  • Böyük proqramların ortaya çıxmasına kömək edən digər web xidmətlərindən müstəqil olaraq çalışın.
  • Digər mikroservislərlə əlaqə saxlayın.

Beləliklə, mikroservis:

  • Kiçik problem sahəsi.
  • Özü tərəfindən tikilmiş və yerləşdirilən, özü də çalışır.
  • Öz prosesində icra edilir.
  • Məlum interfeyslər vasitəsilə inteqrasiya olunmuşdur.
  • Öz məlumat anbarına sahibdir.
7
06 июня '16 в 20:09 2016-06-06 20:09 Cavab Pritam Banerjee tərəfindən 06.06.2013 20:09 2016-06-06 20:09

SOA və Mikroservislər arasındakı fərq, SOA-nun nə olduğunu başa düşməyinizə də bağlıdır. Bəzi insanlar üçün, Microservices artıq işləyən SOA ilə eynidır. Mikroservislər tez-tez SOA tərəfindən istifadə olunan metodların bir hissəsi kimi qəbul edilir.

Fərqlərdən faydalı bir fayda Martin Fowler tərəfindən verilmişdir: https://www.youtube.com/watch?v=wgdBVIX9ifA

6
09 янв. Cavab OliverM 09 jan verilir . 2016-01-09 11:31 '16 'da 11:31 2016-01-09 11:31