Najlepšie nástroje pre mikroslužby, ktoré musíte v roku 2019 poznať



Tento článok je komplexným sprievodcom po najlepších nástrojoch mikroslužieb, ktoré by ste mali vedieť pri správe a zostavovaní aplikácií pomocou architektúry mikroslužieb.

Microservices je architektonický štýl, pomocou ktorého môžete vytvárať malé až zložité obchodné aplikácie. Vytvárať aplikácie s týmto architektonickým štýlom na budovanie a monitorovanie týchto služieb sú potrebné nástroje a technológie. Takže v tomto článku o Microservices Tools budem diskutovať o rôznych nástrojoch, ktoré môžete použiť na vytvorenie týchto autonómnych služieb.

V tomto článku sa budeme venovať nasledujúcim témam:





  1. Čo sú mikroslužby?
  2. Nástroje mikroslužieb:

Predtým, ako začneme diskutovať o nástrojoch a technológiách použitých na zostavenie aplikácie pomocou mikroslužieb, poviem vám, čo sú mikroslužby.

Čo sú mikroslužby?

Mikroslužby, aka mikroslužobná architektúra , je architektonický štýl, ktorý štruktúruje aplikáciu ako súbor malých autonómnych služieb, modelovaných okolo a obchodná doména. Mikroslužby teda môžete chápať ako malé individuálne služby, ktoré navzájom komunikujú okolo jedinej obchodnej logiky. Ak sa chcete dozvedieť viac podrobne o mikroslužbách, môžete



Teraz, keď máte predstavu o mikroslužbách, pozrime sa na nástroje používané v mikroslužbách.

Nástroje mikroslužieb

Nástroje mikroslužieb sú zbierkou rôznych nástrojov a technológií s rôznymi funkciami. Tieto nástroje sa používajú v rôznych fázach zostavovania aplikácie a pomáhajú vývojárom pri ľahkej práci. Prichádzajú s preddefinovanými funkciami, algoritmami a veľmi užívateľsky prívetivým GUI. Niekoľko začínajúcich firiem a technologických gigantov tiež pracovalo na vývoji takýchto užívateľsky príjemných nástrojov mikroslužieb. Pretože sú mikroslužby architektonickým štýlom, často nikdy nestačí použiť jeden nástroj pre celý pracovný tok.

Preto sa pozrieme na nástroje mikroslužieb používané pre rôzne, t.j.



Operačný systém

Logo Linux - Nástroje pre mikroslužby - EdurekaJedným z veľmi dôležitých faktorov pri vytváraní aplikácie je vytvorenie správneho základu pre vašu aplikáciu. Toto robí operačný systém. je jeden taký operačný systém, ktorý sa najčastejšie používa pri vytváraní aplikácií. Pomocou kontajnerov Linux poskytuje samostatné prostredie na vykonávanie a umožňuje vám organizovať malé až veľké služby, ako sú zabezpečenie, sieťové pripojenie a úložisko. Takže ak ma požiadate o lepší výber z Rodina, potom mám pocit, že Red Hat a Ubuntu sú plné operačných systémov s nepotrebnými funkciami. Okrem toho poskytovatelia Linuxu prišli s nástrojmi ako Atomic Red Hat a Ubuntu vrátane LXD, ktorý je kontajnerovým hypervízorom.

casting dátových typov v jave

Programovacie jazyky

Hlavnou výhodou mikroslužieb je, že dna vytvorenie rôznych služieb tej istej aplikácie je možné použiť rôzne jazyky a technológie. Poskytuje teda vývojárom slobodu zvoliť si svoj technologický zásobník a zostaviť aplikáciu. Najobľúbenejšie programovacie jazyky používané v mikroslužbách sú však aElixír.

Jarná topánka

Spring Boot zjednodušuje vytváranie pomocou Spring Bootrámcov v niekoľkých riadkoch kódu. Tu je niekoľko funkcií Spring Boot:

  • Poskytuje automatická konfigurácia načítať sadu predvolenej konfigurácie pre rýchle spustenie aplikácie
  • Dodáva sa s vstavaným kocúrom a mólom kontajnerov servletov, aby sa zabránilo použitiu súborov WAR
  • Spring Boot poskytuje názorný pohľad na zníženie úsilia vývojárov a zjednodušenie konfigurácií súborov maven
  • Zahŕňa širokú škálu rozhraní API na monitorovanie a správu aplikácií v dev a prod.

Elixír

Elixir je univerzálny programovací jazyk, ktorý funguje na platformeVymazať virtuálny stroj. Elixir zdieľa rovnaké abstrakcie aj pri vytváraní aplikácií odolných voči poruchám a distribuovaných aplikácií. Nižšie uvádzame niekoľko funkcií Elixíru:

  • Vývojári môžu ľahko napísať kód krátkym, rýchlym a udržiavateľným spôsobom.
  • Kód Elixir beží v izolovaných ľahkých procesoch, ktoré je možné individuálne škálovať.
  • Elixir zaisťuje, že aplikácia nikdy neklesne, a to poskytnutím supervízorov. Títo nadriadení popisujú, ako je možné reštartovať rôzne časti systému, ak sa niečo pokazí.
  • Tento programovací jazyk je dodávaný s vlastnými zostavovacími nástrojmi na vytváranie projektov, správu úloh a vykonávanie požadovaných testov.

Nástroje na správu a testovanie API

Keď začnete vytvárať aplikácie pomocou mikroslužieb, musíte sa tiež uistiť, že všetky jednotlivé služby navzájom komunikujú pomocou rozhraní API ‘. Každá mikroslužba môže mať svoje vlastné rozhranie API na komunikáciu s druhou službou. To je miesto, kde prichádza na rad správa a testovanie API, pretože všetky API prítomné v systéme musia byť správne spravované a testované, aby sa dosiahli požadované výsledky.

Nástroje používané na správu a testovanie API sú nasledujúce:

Poštár

Postman je vývojová sada API, ktorá vám umožňuje ľahko spúšťať testy API založené na používateľskom rozhraní. S pomocou Postman, prieskum sa stáva veľmi ľahkým. S pomocou Postmana tiež môžete posielať požiadavky HTTP na testovanie, vývoj a získanie požadovaných výsledkov.Tu sú niektoré z jeho funkcií:

  • Postman sa ľahko integruje do životného cyklu vývoja softvéru.
  • Poskytuje funkcie na navrhovanie rozhraní API a údržbu viacerých verzií rozhraní API s podporou.
  • Tento nástroj môže fungovať od malej aplikácie po veľkú.
  • Podporuje spoluprácu pri práci tým, že vám umožňuje ukladať súvisiace koncové body API do kolekcie. Potom môžete ísť vpred a zdieľať celú zbierku s ostatnými vývojármi.

Pevnosť API

API Fortress je nástrojom na testovanie API aj zdravotným nástrojom, ktorý automatizuje proces , monitorovanie zdravia a . Tento nástroj je bez kódu a je založený na moderných architektonických vzoroch a postupoch API. Ďalej uvádzame niekoľko funkcií API Fortress:

  • Tento nástroj je vysoko interoperabilný s akoukoľvek platformou, ktorú si vyberiete vo svojom reťazci nástrojov, a overuje integrované platformy API na správu API

  • Zjednodušuje vytváranie a vykonávanie testov API tým, že poskytuje grafické rozhranie typu drag-drop.

  • Tento nástroj tiež zjednodušuje end-to-end testovanie tým, že poskytuje ľahké generovanie funkčných testov.

  • Cieľom API Fortress je tiež zjednodušiť spoluprácu ukladaním testov a správ v prostredí spolupráce, aby sa zabezpečilo, že tímy overia svoje API, ak to uspokojí obchodný prípad.

Nástroje pre zasielanie správ

Mikroslužby sú systém, v ktorom autonómne služby komunikujú navzájom alebo medzi sebou. Na vzájomnú komunikáciu používajú mikroslužby fronty správ. Nástroje používané na odosielanie správ sú teda tieto:

Apache Kafka

Tento nástroj je distribuovaný systém správ na publikovanie a prihlásenie na odber, ktorý bol pôvodne vyvinutý v spoločnosti LinkedIn a neskôr sa stal súčasťou projektu Apache. Kafka je škálovateľná, svižná a je distribuovaná zámerne. Apache Kafka je teda platforma na spracovanie distribuovaného toku, ktorú je možné použiť na spracovanie údajov alebo volania API. Tu je niekoľko funkcií Apache Kafka:

  • Kafka má vysokú priepustnosť na publikovanie a prihlásenie na odber správ, aby si udržala stabilný výkon.
  • Tento nástroj tiež zaručuje nulové prestoje a nulovú stratu údajov.
  • Správy pretrvávajú na disku čo najrýchlejšie
  • Mnoho aplikácií môže zásuvný modul a využívať program Kafka, ktorý ponúka na písanie nových konektorov.

RabbitMQ

Tento nástroj využíva vzory na súčasnú komunikáciu medzi mikroslužbami a tiež na škálovanie aplikácií. Pomocou tohto nástroja môžete navzájom prepojiť mikroslužby a vyriešiť tak problémy distribuovaných systémov. Tiež yMôžete tento nástroj použiť na výmenu udalostí medzi jednotlivými službami. Ďalej uvádzame niekoľko funkcií aplikácie RabbitMQ:

  • Tento nástroj ponúka celý rad funkcií, ako je spoľahlivosť, potvrdenie o doručení, vrátane vytrvalosti, potvrdenia vydavateľa a vysoká dostupnosť.
  • Pomocou tohto nástroja sú správy smerované cez burzy pred príchodom na fronty.
  • RabbitMQ prichádza s federačným modelom a umožňuje serverom, ktoré musia byť pripojené voľnejšie a nespoľahlivejšie
  • Tento nástroj podporuje zasielanie správ prostredníctvom viacerých protokolov správ.

Sady nástrojov

Laicky povedané súpravy nástrojov je sada nástrojov používaných na konkrétny účel. V architektúre mikroslužieb môžete vytvárať rôzne druhy aplikácií. Možno teda máte rôzne sady nástrojov použité na iný účel. V tejto časti môžete zvážiť rôzne nástroje:

tkanina8

fabric8 je nástroj platformy ako služby, ktorýpomáha vývojárom poskytovať systém správy konfigurácie prostredníctvom služby Git. Je to open-source nástroj, ktorý sa zaoberá mapovaním portov a zložitosťou adries IP. Tento nástroj tiež nesie zodpovednosť za zabezpečenie služieb vyváženia záťaže s vysokou dostupnosťou a škálovateľnosťou.

Tu je niekoľko funkcií tohto nástroja:

  • Poskytuje sadu sprievodcov na rýchlejšie vytváranie aplikácií a nastavovanie priebežných distribučných potrubí.
  • fabric8 prichádza s on-premiseHosting úložiska Git
  • Tento nástroj poskytuje správcu úložiska maven pre podporované vydania spolu so zrkadlom centrálnych úložísk maven.
  • Poskytuje vývojársku konzolu na vytváranie, zostavovanie a správu mikroslužieb s hlbokou vizualizáciou do projektov, aplikácií a prostredí

Seneca

Seneca sa používa na vytváranie mikroslužieb, procesov založených na správach a je súpravou nástrojov pre Node.js. Táto sada nástrojov vám pomôže písať čistý a organizovaný kód so systematickou obchodnou logikou aplikácie. Vlastnosti Seneca sú nižšie:

  • Seneca poskytuje doplnky, ktoré sa starajú o základy aplikácie.
  • Nemusíte sa starať o to, ktorá databáza sa musí použiť a ako je potrebné štruktúrovať komponenty
  • Na Seneci je všetko napísané ako príkaz. Tieto príkazy sa volajú vždy, keď zodpovedajú množine vlastností.
  • Kód, ktorý zavoláte, nevie, ktorý príkaz vykoná prácu.

Architektonické rámce

Pretože mikroslužby samotné sú architektonickým štýlom, je architektonický rámec dôležitým faktorom. Tieto rámce sa používajú s rôznymi technológiami na vytváranie aplikácií.
Dva populárne architektonické rámce sú tieto:

goa

Tento architektonický rámec poskytuje spôsob budovania rozhraní REST API a mikroslužieb pomocou . Pomocou tohto architektonického rámca môžete navrhovať rozhrania API ‘spolu s požadovanými závislosťami. Tento rámec beží nad Google Cloud Platform. Niektoré z týchto funkcií:

  • Tento nástroj vám umožňuje opísať koncové body, globálne body a vytvoriť tak API služby.
  • Goa vám umožňuje generovať dátové štruktúry, overovací kód a obslužné programy, akonáhle je nastavený dizajn API.
  • Má odpojený motor.
  • Poskytuje doplnky, ktoré môžu implementovať vlastné DSL a tiež generovať ľubovoľné výstupy.

Kong

Kong sa používa na pripravené na nasadenie doplnkov na zlepšenie vývoja a nasadenia mikroslužieb. Pomocou tohto nástroja môžete využiť návrhové vzory kontajnera a mikroslužieb na rýchle vytváranie aplikácií zameraných na API.Nižšie uvádzame niekoľko funkcií Konga:

slovníková dátová štruktúra v jave
  • Poskytuje doplnky na rozšírenie a pripojenie služieb naprieč hybridnými a multi-cloudovými prostrediami.
  • Analyzuje dáta v reálnom čase a využíva ekosystémy na nasadenie Konga s Kubernetes
  • Spoločnosť Kong sa spojí s automatizačnými nástrojmi s cieľom zvýšiť efektivitu a znížiť počet chýb.
  • Poskytuje riadenie prístupu na základe rolí a šifruje end-to-end, aby vyhovoval priemyselným predpisom.

Nástroje pre orchestráciu

Pretože mikroslužby fungujú s ohľadom na kontajnery, orchestrácia kontajnerov je dôležitým aspektom, ktorý je potrebné vziať do úvahy. Na dnešnom trhu existujú rôzne nástroje týkajúce sa orchestrácie kontajnerov pre mikroslužby, ale najlepšie nástroje sú nasledujúce:

Guvernéri

Guvernéri je nástroj na správu (orchestráciu) kontajnerov typu open-source. Medzi zodpovednosti správy kontajnerov patrí nasadenie kontajnera, zmena mierky a odstránenie vodného kameňa z kontajnerov a vyváženie zaťaženia kontajnera. Podľa definície by ste sa mohli cítiť, že Kubernetes je veľmi obyčajný a nedôležitý. Ale verte mi, tento svet potrebuje Kubernetes na správu kontajnerov, koľko potrebuje Docker za ich vytvorenie. Tu je niekoľko funkcií Kubernetes:

  • Kubernetes vám môže pomôcť nasadiť a aktualizovať tajomstvá a konfiguráciu aplikácie bez opätovného vytvorenia vášho obrazu a bez odhalenia tajomstiev v konfigurácii zásobníka.
  • Okrem správy služieb môže Kubernetes tiež spravovať vaše dávkové a CI pracovné zaťaženia, a tak podľa potreby nahradiť kontajnery, ktoré zlyhajú.
  • Kubernetes potrebuje iba 1 príkaz na zväčšenie kontajnerov alebo ich zmenšenie pri použití CLI. V opačnom prípade sa zmena mierky dá vykonať aj pomocou ovládacieho panela (používateľské rozhranie Kubernetes).
  • S Kubernetes môžete pripojiť úložný systém podľa vášho výberu. Môžete sa rozhodnúť pre miestne úložisko alebo zvoliť poskytovateľa verejného cloudu, ako je napr GCP alebo , alebo možno použiť zdieľaný sieťový úložný systém, ako je NFS, iSCSI atď.

To isté

Tento nástroj podporuje nasadenie služby na Kubernetes. Poskytuje tiež funkcie pre správu, zabezpečenie a spoľahlivosť pre komunikáciu v mikroslužbách. To sa deje pomocou technológie mesh služby, ktorá vám umožňuje zlepšiť vzťahy a interakcie medzi aplikáciou a mikroslužbami. Niektoré z týchto funkcií:

  • Vykonáva automatické sledovanie, monitorovanie a zaznamenávanie služieb.
  • Tento nástroj automaticky zaisťuje služby prostredníctvom riadenej autorizácie, autentifikácie a šifrovania komunikácie medzi službami.
  • Istio riadi tok prenosu a volania API medzi službami, vykonáva celý rad testov a upgradov s červeným alebo čiernym nasadením
  • Uplatňuje tiež pravidlá a zabezpečuje ich presadzovanie a spravodlivé rozdelenie zdrojov medzi spotrebiteľov.

Nástroje na monitorovanie

Po vytvorení aplikácie je veľmi dôležité monitorovať fungovanie aplikácií. Na sledovanie aplikácií teda môžete použiť nasledujúce nástroje:

Prometheus

Prometheus umožňuje vizualizáciu monitorovacích informácií pomocou a podporuje časovo závislé sledovanie anomálnych vzorov, ktoré sa majú detegovať. Toto je nástroj otvoreného zdroja, ktorý zhromažďuje informácie o monitorovaní.Ďalej uvádzame niekoľko funkcií programu Prometheus:

  • Poskytuje flexibilný dotazovací jazyk.
  • Dodáva sa s distribuovaným úložiskom a samostatnými uzlami servera, ktoré sú autonómne
  • Objavuje ciele prostredníctvom zisťovania služieb alebo statickej konfigurácie
  • Poskytuje podporu dashboardov a grafov.

Uložiť denník

Logstash je nástroj otvoreného zdroja, pomocou ktorého môžete skontrolovať protokoly. Tento nástroj umožňuje ukladať, centralizovať a transformovať údaje. Funkcie tohto nástroja sú nasledujúce:

  • Logstash podporujerôzne vstupyktoré získavajú udalosti z veľkého množstva bežných zdrojov, všetky súčasne.
  • Cieľom tohto nástroja je transformovať a pripraviť údaje bez ohľadu na ich zložitosť
  • Ukladací denník vám umožňuje zvoliť si vlastný ukladací a prepravný údaj
  • Jedná sa o zásuvný rámec pozostávajúci z viac ako 200 doplnkov na vytvorenie a konfiguráciu potrubia podľa vašich predstáv.

Nástroje bez servera

Tieto nástroje sú súčasťou mikroslužieb, ktoré optimalizujú metodiku rozdeľovania vecí na malé funkcie. Niektoré z nástrojov bez servera sú nasledujúce:

Claudia

Claudia je nástroj bez servera používaný na nasadenie pre AWS Lambda a API Gateway. Tento nástroj automatizuje úlohy náchylné na chyby a konfiguráciu. Obsahuje tiež nástroje ako Claudia Bot Builder a Claudia API Builder.

Funkcie tohto nástroja sú nasledujúce:

  • Claudia vám umožňuje nasadiť a aktualizovať pomocou jediného príkazu
  • Znižuje kód typového štítku
  • Pomocou tohto nástroja môžetespravovať viac verzií
  • Môžete použiť štandardné balíčky NPM a nemusíte sa učiť Swagger

AWS Lambda

Tento nástroj poskytuje serverom bez infraštruktúry pre vaše zostavenia mikroslužieb a používateľom účtovaným podľa sadzby platieb za použitie. Tento nástroj možno použiť v kombinácii s AWS API Gateway na hosťovanie služby REST alebo API. Táto amazonská webová služba umožňuje vášmu rozhraniu API vyhovieť všetkým požiadavkám používateľov. Ďalej uvádzame niekoľko funkcií AWS Lambda :

  • Tento nástroj umožňuje spustiť váš kód ako reakciu na udalosti a automaticky spravuje závislé výpočtové zdroje.
  • AWS vám umožní spustiť kód bez správy serverov. Je to platba, ktorú zvyknete obsluhovať, a platíte iba za spotrebovaný výpočtový čas.
  • Tento nástroj automaticky škáluje aplikáciu spustením kódu pre každý spúšťač.
  • AWS Lambda sa dá použiť aj na vytvorenie serverového backendu na spracovanie mobilných, API a webových požiadaviek.

Ak sa chcete naučiť mikroslužby a budovať svoje vlastné aplikácie, pozrite si naše ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže pochopiť Microservices do hĺbky a pomôže vám dosiahnuť osvojenie si predmetu.

Máte na nás otázku? Uveďte to v sekcii komentárov stránky ” Nástroje pre mikroslužby “A ozvem sa ti.