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

Микросервисная архитектура — вариант сервис-ориентированной архитектуры программного обеспечения, направленный на взаимодействие насколько это возможно небольших, слабо связанных и легко изменяемых модулей — микросервисов, получивший распространение в середине 2010-х годов в связи с развитием практик гибкой разработки и DevOps[1][2][3].

Если в традиционных вариантах сервис-ориентированной архитектуры модули могут быть сами по себе достаточно сложными программными системами, а взаимодействие между ними зачастую полагается на стандартизованные тяжеловесные протоколы (такие, как SOAP, XML-RPC), в микросервисной архитектуре системы выстраиваются из компонентов, выполняющих относительно элементарные функции, и взаимодействующие с использованием экономичных сетевых коммуникационных протоколов (в стиле REST с использованием, например, JSON, Protocol Buffers, Thrift). За счёт повышения гранулярности модулей архитектура нацелена на уменьшение степени зацепления и увеличение связности, что позволяет проще добавлять и изменять функции в системе в любое время[4].

Свойства

Свойства, характерные для микросервисной архитектуры[1]:

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

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

Наиболее популярная среда для выполнения микросервисов — системы управления контейнеризованными приложениями (такие как Kubernetes и её надстройки OpenShift и CloudFoundry[англ.], Docker Swarm, Apache Mesos[англ.]), в этом случае каждый из микросервисов как правило изолируется в отдельный контейнер или небольшую группу контейнеров, доступную по сети другим микросервисам и внешним потребителям, и управляется средой оркестрации, обеспечивающей отказоустойчивость и балансировку нагрузки. Типовой практикой является включение в контур среды выполнения системы непрерывной интеграции, обеспечивающее автоматизацию обновления и развёртывания микросервисов.

История

Несмотря на то, что термин «микросервисы» упоминался с середины 2000-х годов, появление концепции относят к ежегодному семинару архитекторов программного обеспечения в Венеции 2011 году. В 2012 году о микросервисах докладывали на конференции 33d Degree в Кракове, а также появился ряд публикаций о «гранулярном SOA», излагающих микросервисный подход. В 2012—2014 годы о внедрении микросервисов в рамках собственных программных разработок заявляли специалисты таких компаний, как Amazon, Netflix, Twitter, с 2015 года в ведущих издательствах регулярно выпускаются книги о микросервисной архитектуре, проводится несколько регулярных конференций, целиком посвящённых микросервисам.

Критика

Архитектура постоянно подвергается критике с самого момента её формирования. Среди новых проблем, которые возникают при её внедрении, отмечаются:

  • сетевые задержки[5]: если в модулях, выполняющих несколько функций, взаимодействие локально, то микросервисная архитектура накладывает требование атомизации модулей и взаимодействия их по сети;
  • форматы сообщений[5]: отсутствие стандартизации и необходимость согласования форматов обмена фактически для каждой пары взаимодействующих микросервисов приводит как к потенциальным ошибкам, так и сложностям отладки.

Примечания

  1. 1 2 Martin Fowler. Microservices. martinfowler.com (10 марта 2014). Дата обращения: 29 июня 2016. Архивировано 14 февраля 2018 года.
  2. Balalaie, A.; Heydarnoori, A.; Jamshidi, P. Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture (англ.) // IEEE Software[англ.] : journal. — 2016. — 1 May (vol. 33, no. 3). — P. 42—52. — ISSN 0740-7459. — doi:10.1109/MS.2016.64.
  3. Continuous Deployment: Strategies. Дата обращения: 7 октября 2016. Архивировано 9 октября 2016 года.
  4. Oliver Wolf. Introduction into Microservices. Дата обращения: 29 июня 2016. Архивировано 11 июня 2016 года.
  5. 1 2 Jan Stenberg. Experiences from Failing with Microservices (11 августа 2014). Дата обращения: 29 июня 2016. Архивировано 3 марта 2016 года.

Литература

  • Ньюмен С. Создание микросервисов = Building Microservices. — СПб.: Питер, 2016. — 304 с. — ISBN 978-5-496-02011-4.

Read other articles:

Stadion FeijenoordDe Kuip UEFA Informasi stadionNama lengkapStadion FeijenoordLokasiLokasi Rotterdam, BelandaKoordinat51°53′38.02″N 4°31′23.71″E / 51.8938944°N 4.5232528°E / 51.8938944; 4.5232528KonstruksiDibuat1935 – 1937Dibuka23 Juli 1937Direnovasi1994ArsitekLeendert van der Vlugt Broekbakema (renovasi)Data teknisKapasitas51.577PemakaiFeyenoord (Eredivisie) Tim nasional BelandaSunting kotak info • L • BBantuan penggunaan templat ini Stadio...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Brunei FA Cup – news · newspapers · books · scholar · JSTOR (May 2010) (Learn how and when to remove this template message) Football tournamentBrunei FA CupOrganising bodyFABDFounded2002; 22 years ago (2002)RegionBruneiNumber of teams32Current...

 

Disambiguazione – Se stai cercando l'omonimo allenatore di calcio ed ex calciatore francese, vedi René Girard (calciatore). René Girard René Girard (Avignone, 25 dicembre 1923 – Stanford, 4 novembre 2015[1]) è stato un antropologo, critico letterario e filosofo francese. Il suo lavoro appartiene al campo dell'antropologia filosofica e ha influssi su critica letteraria, psicologia, storia, sociologia e teologia. È stato professore di letteratura comparata presso la Stanford U...

Pour les articles homonymes, voir Grand Opéra. L'Opéra Garnier est inauguré le 5 janvier 1875 avec des extraits de La Juive de Jacques Fromental Halévy et des Huguenots de Giacomo Meyerbeer. Jusque-là, les grands opéras étaient donnés dans la salle de la rue Le Peletier, qui fut l'opéra de Paris de 1821 à 1873. Le grand opéra est un genre d'opéra du XIXe siècle, généralement en quatre ou cinq actes, caractérisé par une distribution et un orchestre de grande envergure, d...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Taranto Football Club 1927. Unione Sportiva TarantoStagione 1941-1942Sport calcio Squadra Taranto Allenatore Adolfo Bolognini Presidente Francesco Zanetti (commissario straordinario) Serie C8º posto nel girone H. 1940-1941 1942-1943 Si invita a seguire il modell...

 

莎拉·阿什頓-西里洛2023年8月,阿什頓-西里洛穿著軍服出生 (1977-07-09) 1977年7月9日(46歲) 美國佛羅里達州国籍 美國别名莎拉·阿什頓(Sarah Ashton)莎拉·西里洛(Sarah Cirillo)金髮女郎(Blonde)职业記者、活動家、政治活動家和候選人、軍醫活跃时期2020年—雇主內華達州共和黨候選人(2020年)《Political.tips》(2020年—)《LGBTQ國度》(2022年3月—2022年10月)烏克蘭媒�...

Moa

Moa juga dipakai untuk menyebut belut. Moa Periode Miosen – Holosen, 17–0.0006 jtyl PreЄ Є O S D C P T J K Pg N Dinornithiformes TaksonomiKerajaanAnimaliaFilumChordataKelasAvesOrdoDinornithiformes Bonaparte, 1853 Diversitas 6 genera, 9 spesies Tata namaSinonim takson Dinornithes Gadow, 1893 Immanes Newton, 1884[1] DistribusiEndemikSelandia Baru lbs Moa adalah burung asli Selandia Baru yang tidak dapat terbang. Mereka unik karena tidak memiliki sayap, bahkan tidak memiliki s...

 

1957 Odisha Legislative Assembly election ← 1952 1957 1961 → All 140 seats in the Odisha Legislative Assembly71 seats needed for a majority   First party Second party   Leader Harekrushna Mahatab Party INC AIGP Leader's seat Soro - Seats won 56 51 Seat change 11 20 Popular vote 16,28,180 12,23,014 Percentage 38.26 28.74 Swing 0.39 8.24 CM before election Harekrushna Mahatab INC Elected CM Harekrushna Mahatab INC Elections to the second Odish...

 

  هذه المقالة عن مراحل تطور الجنين البشري أول شهرين. لتطور الجنين في كل شهور الحمل، طالع نماء سابق للولادة. المراحل الأولى لتطور الجنين:اليوم 1: التخصيب، اليوم 2: الانقسام، اليوم 3: الانحشار، اليوم 4: تمايز الخلايا، اليوم 5: التجوف، اليوم 6: الفقس من المنطقة الشفافة، اليوم 7...

Online newspaper in Newfoundland and Labrador The IndependentTypeOnline newspaperEditorDrew BrownFounded2001Political alignmentLeft-WingHeadquartersSt. John's, NewfoundlandWebsitetheindependent.ca The Independent is an online newspaper covering news, opinions and local events, trends, and issues in Newfoundland and Labrador. The original weekly (paper) version of The Independent was founded in 2001. The online version was launched in February 2011. Organization and perception The Independent ...

 

Kepangeranan Salerno pada abad ke-9 (coklat muda). Kepangeranan Salerno adalah sebuah negara di Italia Selatan yang dikuasai oleh bangsa Langobardi dan dibentuk pada tahun 851 dari wilayah Kepangeranan Benevento setelah meletusnya perang saudara selama satu dasawarsa. Kota pelabuhan Salerno menyatakan kesetiaannya kepada Kaisar Barat, tetapi dalam sejarahnya merupakan sebuah entitas yang merdeka dan sempat menjadi vasal Kekaisaran Romawi Timur. Bacaan lanjut Chalandon, Ferdinand. Histoire de ...

 

Ferris wheel in Tokyo, Japan Big O Big O (ビッグ・オー, Biggu ō) is a centerless non-rotating Ferris wheel at Tokyo Dome City in Bunkyo, Tokyo, Japan. Big O has a diameter of 60 metres (200 ft).[1] Tokyo's largest roller coaster, the 130-kilometre-per-hour (81 mph) Thunder Dolphin, passes through the centre of the wheel.[2] Big O was constructed by Mitsubishi Heavy Industries.[1][3] Construction was completed in March 2003,[3] and the f...

Special Child days in the Southeast Asian nation Public holidays in the PhilippinesObserved byFilipinosTypeRegular, special non-working, localCelebrationsVarious Public holidays in the Philippines are of two types: regular holidays and special non-working days. History On July 25, 1987, President Corazon Aquino promulgated the Administrative Code of the Philippines.[1] Chapter 7 of this code specified a list of ten nationwide regular holidays and two nationwide special days and p...

 

1973 single by Raspberries Let's PretendSingle by Raspberriesfrom the album Fresh B-sideEvery Way I CanReleasedMarch 1973Recorded1972GenrePower popLength2:51 (single version)3:42 (album version)LabelCapitolSongwriter(s)Eric CarmenProducer(s)Jimmy IennerRaspberries singles chronology I Wanna Be with You (1972) Let's Pretend (1973) Tonight (1973) side label45 RPM Let's Pretend is a song by Raspberries, released in March 1973 as the second single from their second LP, Fresh. It was written by ba...

 

Location of Sentinel Range in Western Antarctica. Sentinel Range map. Chapman Peak (78°11′S 85°13′W / 78.183°S 85.217°W / -78.183; -85.217) is a peak, 2,230 metres (7,320 ft) high, in the Maglenik Heights, on the east side of Ellen Glacier and west of Arapya Glacier, 5 miles (8 km) northeast of Mount Jumper in the central Sentinel Range of the Ellsworth Mountains, Antarctica. It was first mapped by the U.S. Geological Survey from surveys and from U.S...

محطة قطار لهافيم – رهطمعلومات عامةالتقسيم الإداري لهافيم البلد  إسرائيل الارتفاع 275 متر الخطوط Southern Railway, Israel (en) المحطات المجاورة محطة قطار كريات غات — محطة قطار بئر السبع – شمال / الجامعة المنصات 2 التاريخالافتتاح الرسمي 24 يونيو 2007 متفرقاتالإحداثيات 31°22′11″N 34°47′53″E&#x...

 

Museum in Cheyenne, Wyoming Cheyenne Frontier Days Old West MuseumEstablished1978LocationCheyenne, WyomingWebsitewww.oldwestmuseum.org The Cheyenne Frontier Days Old West Museum is located in Cheyenne, Wyoming, United States. The museum was founded in 1978. It is a 501(c)(3) non-profit organization, dedicated to interpreting, conserving and exhibiting the history and material culture of Cheyenne, Cheyenne Frontier Days, the State of Wyoming and the American West. The museum features the Cheye...

 

Ne doit pas être confondu avec Fontanes (Lot). Cet article est une ébauche concernant une commune du Lot. Vous pouvez partager vos connaissances en l’améliorant (comment ?). Le bandeau {{ébauche}} peut être enlevé et l’article évalué comme étant au stade « Bon début » quand il comporte assez de renseignements encyclopédiques concernant la commune. Si vous avez un doute, l’atelier de lecture du projet Communes de France est à votre disposition pour vous aide...

Constituency of the National Assembly of France Cher's 3rd constituencyConstituencyfor the National AssemblyBoundary of Cher's 3rd constituency in CherLocation of Cher within FranceDepartmentCherRegionCentre-Val de LoirePopulation116,666 (2013)[1]Electorate86,159 (2017)[2]Current constituencyDeputyLoïc KervranPolitical party  HParliamentary group  HOR Cher's 3rd constituency is one of three French legislative constituencies in the department of Cher. It is currently...

 

Serbian singer-songwriter (born 1992) Luke BlackЛук БлекBlack at Pesma za Evroviziju '23, 2023Background informationBirth nameLuka IvanovićBorn (1992-05-18) 18 May 1992 (age 32)Čačak, Serbia, FR YugoslaviaGenres Electropop dream pop synth-pop Occupation(s) Singer songwriter Instrument(s) Vocals piano Years active2014–presentLabelsGruvlendUniversal (former)Websitelukeblackmusic.comMusical artist Luka Ivanović (Serbian Cyrillic: Лука Ивановић; born 18 May 1992), kn...