Populārākie mikropakalpojumu rīki, kas jums jāzina 2019. gadā



Šis raksts ir visaptveroša rokasgrāmata par labākajiem mikropakalpojumu rīkiem, kas jums jāzina, lai pārvaldītu un izveidotu lietojumprogrammu, izmantojot mikroservisu arhitektūru.

Microservices ir arhitektūras stils, ar kura palīdzību jūs varat izveidot mazas un sarežģītas biznesa lietojumprogrammas. Lai izveidotu lietojumprogrammas ar šo arhitektūras stilu nepieciešami rīki un tehnoloģijas, lai izveidotu un uzraudzītu šos pakalpojumus. Tātad šajā rakstā par Microservices Tools es apspriedīšu dažādus rīkus, kurus varat izmantot, lai izveidotu šos autonomos pakalpojumus.

Šajā rakstā tiks aplūkotas šādas tēmas:





  1. Kas ir mikropakalpojumi?
  2. Mikroservisu rīki:

Pirms tam mēs sākam apspriest rīkus un tehnoloģijas, ko izmanto lietojumprogrammas izveidošanai, izmantojot mikropakalpojumus. Ļaujiet man pastāstīt, kas ir mikropakalpojumi.

Kas ir mikropakalpojumi?

Mikropakalpojumi, aka mikropakalpojumu arhitektūra , ir arhitektūras stils, kas strukturē lietojumprogrammu kā nelielu autonomu pakalpojumu kolekciju, kas veidota pēc a biznesa domēns. Tātad, jūs varat saprast mikropakalpojumus kā mazus individuālus pakalpojumus, kas savstarpēji sazinās, izmantojot vienoto biznesa loģiku. Ja vēlaties padziļināti uzzināt vairāk par mikropakalpojumiem, varat to darīt



gurķu java selēna tīmekļa draivera piemērs

Tagad, kad jums ir ideja par mikropakalpojumiem, ļaujiet mums izpētīt mikropakalpojumos izmantotos rīkus.

Mikroservisu rīki

Mikroservisu rīki ir dažādu rīku un tehnoloģiju kopums, kam ir dažādas funkcijas. Šie rīki tiek izmantoti dažādos lietojumprogrammas veidošanas posmos un palīdz izstrādātājam strādāt viegli. Tie nāk ar iepriekš definētām funkcijām, algoritmiem un ļoti lietotājam draudzīgu GUI. Arī vairāki jaunuzņēmumi un tehnoloģiju giganti ir strādājuši pie šādu lietotājam draudzīgu mikropakalpojumu rīku izstrādes. Tomēr, tā kā mikropakalpojumi ir arhitektūras stils, bieži vien nepietiek ar visu darbplūsmu izmantot vienu rīku.

Tāpēc mēs aplūkosim mikropakalpojumu rīkus, kas tiek izmantoti atšķirīgajiem, t.i.



Operētājsistēma

Linux logotips - Microservices Tools - EdurekaViens no ļoti svarīgiem lietojumprogrammas veidošanas faktoriem ir pareiza pamata izveidošana jūsu lietojumprogrammai. Nu, to dara operētājsistēma. ir viena no šādām operētājsistēmām, ko visbiežāk izmanto, veidojot lietojumprogrammas. Ar Linux konteineru palīdzību tā nodrošina autonomu izpildes vidi un ļauj jums organizēt mazus un lielus pakalpojumus, piemēram, drošību, tīklošanu un krātuvi. Tātad, ja jūs man prasīsit labāku izvēli no ģimene, tad es uzskatu, ka Red Hat un Ubuntu ir pilnībā aprīkotas ar operētājsistēmām ar nevajadzīgām funkcijām. Bez tiem, Linux pakalpojumu sniedzēji ir izstrādājuši tādus rīkus kā Atomic Red Hat un Ubuntu, ieskaitot LXD, kas ir uz konteineriem orientēts hipervizors.

Programmēšanas valodas

Mikroservisu galvenā priekšrocība ir tā, ka ddažādas valodas un tehnoloģijas var izmantot, lai izveidotu dažādus vienas lietojumprogrammas pakalpojumus. Tātad tas dod izstrādātājiem brīvību izvēlēties savu tehnoloģiju kaudzi un veidot lietojumprogrammu. Bet populārākās mikropakalpojumos izmantotās programmēšanas valodas ir unEliksīrs.

Pavasara zābaks

Pavasara sāknēšana vienkāršo ar Spring Boot palīdzībuietvarus tikai dažās koda rindiņās. Šeit ir dažas Spring Boot funkcijas:

  • Nodrošina automātiskā konfigurēšana lai ielādētu noklusējuma konfigurācijas kopu, lai ātri sāktu lietojumprogrammu
  • Lai izvairītos no WAR failu izmantošanas, tas ir aprīkots ar iegultu runci un servletu konteineru molu
  • Pavasara sāknēšana nodrošina pārdomātu skatu, lai samazinātu izstrādātāja piepūli un vienkāršotu sarežģītas konfigurācijas
  • Sastāv no plaša API, lai uzraudzītu un pārvaldītu dev un prod lietojumprogrammas.

Eliksīrs

Elixir ir universāla programmēšanas valoda, kas darbojas vietnēErlang virtuālā mašīna. Elixir ir tādas pašas abstrakcijas, lai izveidotu kļūdām izturīgas un izplatītas lietojumprogrammas. Tālāk ir norādītas dažas Elixir funkcijas:

  • Izstrādātāji var viegli uzrakstīt kodu īsā, ātrā un uzturamā veidā.
  • Eliksīra kods darbojas izolētos vieglajos procesos, kurus var mērogot atsevišķi.
  • Elixir nodrošina, ka lietojumprogramma nekad neietekmē, nodrošinot vadītājus. Šie uzraugi apraksta, kā var atsākt dažādas sistēmas daļas, ja kaut kas noiet greizi.
  • Šai programmēšanas valodai ir savi veidošanas rīki, lai izveidotu projektus, pārvaldītu uzdevumus un palaistu nepieciešamos testus.

Rīki API pārvaldībai un testēšanai

Sākot veidot lietojumprogrammas, izmantojot mikropakalpojumus, jums arī jāpārliecinās, vai visi individuālie pakalpojumi sazinās savā starpā, izmantojot API. ” Katram mikropakalpojumam var būt savs API, lai sazinātos ar citu pakalpojumu. Šeit tiek attēlota API pārvaldība un testēšana, jo visas sistēmā esošās API ir pareizi jāpārvalda un jāpārbauda, ​​lai iegūtu vēlamos rezultātus.

API pārvaldībai un testēšanai izmantotie rīki ir šādi:

Pastnieks

Postman ir API izstrādes komplekts, kas ļauj ērti izpildīt UI balstītus API testus. Ar Pastnieka palīdzību tiek pētīta kļūst ļoti viegli. Arī ar Pastnieka palīdzību jūs varat nodot HTTP pieprasījumus, lai pārbaudītu, izstrādātu un iegūtu nepieciešamos rezultātus.Šeit ir dažas tās funkcijas:

  • Pastnieks viegli integrējas jūsu programmatūras izstrādes dzīves ciklā.
  • Tas nodrošina funkcijas, lai izstrādātu API un uzturētu vairākas API versijas ar atbalstu.
  • Šis rīks var darboties nelielai lietojumprogrammai lielai lietojumprogrammai.
  • Tas atbalsta darba sadarbību, ļaujot saglabāt saistītos API galapunktus kolekcijā. Tad jūs varat doties uz priekšu un koplietot visu kolekciju ar citiem izstrādātājiem.

API cietoksnis

API cietoksnis ir gan API tests, gan veselības rīki, kas automatizē , veselības uzraudzība un . Šis rīks ir bez koda un veidots, balstoties uz mūsdienu API arhitektūras modeļiem un praksi. Tālāk ir norādītas dažas API cietokšņa funkcijas:

  • Šis rīks ir ļoti savietojams ar jebkuru platformu, kuru izvēlaties savā rīku ķēdē, un apstiprina iebūvētās API pārvaldības platformas API

  • Tas vienkāršo API testa izveidi un izpildi, nodrošinot vilkšanas nomest GUI.

  • Šis rīks arī vienkāršo pilnīgu testēšanu, nodrošinot vienkāršu funkcionālo testu ģenerēšanu.

  • API Fortress mērķis ir arī vienkāršot sadarbību, testus un pārskatus uzglabājot sadarbības vidē, lai pārliecinātos, ka komandas apstiprina savas API, ja tas apmierina uzņēmējdarbību.

Rīki ziņojumapmaiņai

Mikropakalpojumi ir sistēma, kurā autonomie dienesti sazinās savā starpā vai savā starpā. Lai sazinātos savā starpā, mikropakalpojumi izmanto ziņojumapmaiņas rindas. Tātad ziņojumapmaiņai izmantotie rīki ir šādi:

Apache Kafka

Šis rīks ir izplatīta publicēšanas-abonēšanas ziņojumapmaiņas sistēma, kas sākotnēji tika izstrādāta LinkedIn un vēlāk kļuva par daļu no Apache projekta. Kafka ir mērogojams, veikls un tiek izplatīts pēc dizaina. Tātad, Apache Kafka ir izplatīta straumes apstrādes platforma, kuru var izmantot datu apstrādei vai API zvaniem. Šeit ir dažas Apache Kafka funkcijas:

  • Lai saglabātu stabilu sniegumu, Kafka ir augsts caurlaidspēja ziņojumu publicēšanai un abonēšanai.
  • Šis rīks arī garantē nulles dīkstāves un nulles datu zudumu.
  • Ziņojumi pēc iespējas ātrāk saglabājas diskā
  • Daudzas lietojumprogrammas var spraudni un izmantot Kafka, jo tas piedāvā jaunu savienotāju rakstīšanu.

TrusisMQ

Šis rīks izmanto modeļus, lai sazinātos starp mikropakalpojumiem un vienlaikus mērogotu lietojumprogrammas. Ar šī rīka palīdzību jūs varat savienot mikropakalpojumus savā starpā, lai atrisinātu izplatīto sistēmu problēmas. Arī yJūs varat izmantot šo rīku, lai apmainītos ar notikumiem starp atsevišķiem dienestiem. Tālāk ir norādītas dažas RabbitMQ funkcijas:

  • Šis rīks piedāvā dažādas funkcijas, piemēram, uzticamību, piegādes apstiprinājumus, tostarp noturību, izdevēja apstiprinājumus un augstu pieejamību.
  • Izmantojot šo rīku, pirms nonākšanas rindās ziņojumi tiek virzīti caur apmaiņu.
  • RabbitMQ ir pievienots federācijas modelim un ļauj serveriem, kuriem jābūt brīvāk un neuzticamāk savienotiem
  • Šis rīks atbalsta ziņojumapmaiņu, izmantojot vairākus ziņojumapmaiņas protokolus.

Rīku komplekti

Rīku komplekti nespeciālistiem ir rīku kopums, ko izmanto konkrētam mērķim. Mikropakalpojumu arhitektūrā varat izveidot dažāda veida lietojumprogrammas. Tātad, iespējams, jums ir dažādi rīku komplekti, kas tiek izmantoti citam mērķim. Dažādi šajā sadaļā izskatāmie rīki ir šādi:

audums8

fabric8 ir platforma kā pakalpojums rīks, kaspalīdz izstrādātājiem nodrošināt konfigurācijas pārvaldības sistēmu, izmantojot Git. Tas ir atvērtā koda rīks, kas apstrādā portu kartēšanu un IP adrešu sarežģītību. Šis rīks ir atbildīgs arī par slodzes līdzsvarošanas pakalpojumiem ar augstu pieejamību un mērogojamību.

Šeit ir dažas šī rīka funkcijas:

  • Nodrošina vedņu kopu, lai ātrāk izveidotu lietojumprogrammas un iestatītu nepārtrauktas piegādes cauruļvadus.
  • auduma8 komplektācijā ietilpst uz vietasGit krātuves mitināšana
  • Šis rīks nodrošina savākto krātuves pārvaldnieku reklamētajām izlaidumiem kopā ar centrālo savākto krātuvju spoguli.
  • Tas nodrošina izstrādātāja konsoli, lai izveidotu, izveidotu, pārvaldītu mikropakalpojumus ar dziļu vizualizāciju projektos, lietotnēs un vidēs.

Seneka

Seneca tiek izmantots, lai izveidotu uz ziņām balstītus mikropakalpojumus, procesus, un tas ir rīku komplekts Node.js. Šis rīku komplekts palīdz rakstīt tīru un sakārtotu kodu, izmantojot lietojumprogrammas sistemātisko biznesa loģiku. Seneca funkcijas ir zemāk:

  • Seneca nodrošina spraudņus, kas rūpējas par lietojumprogrammas pamatiem.
  • Jums nav jāuztraucas par to, kura datu bāze ir jāizmanto un kā strukturēt komponentus
  • Senekā viss tiek rakstīts kā komanda. Šīs komandas tiek izsauktas ikreiz, kad tās atbilst rekvizītu kopumam.
  • Kods, uz kuru zvanāt, nezina, kura komanda veic darbu.

Arhitektūras ietvari

Tā kā paši mikropakalpojumi ir arhitektūras stils, arhitektūras ietvars ir svarīgs faktors. Šīs sistēmas tiek izmantotas kopā ar dažādām tehnoloģijām, lai izveidotu lietojumprogrammas.
Divi populārie arhitektūras ietvari ir šādi:

goa

Šis arhitektūras ietvars nodrošina veidu, kā izmantot REST API un mikropakalpojumus . Izmantojot šo arhitektūras ietvaru, jūs varat noformēt API un tās nepieciešamās atkarības. Šī sistēma darbojas virs Google Cloud Platform. Dažas no šīm funkcijām ir šādas:

  • Šis rīks ļauj aprakstīt galapunktus, globālos punktus, lai izveidotu pakalpojuma API.
  • Goa ļauj ģenerēt datu struktūras, validācijas kodu un apstrādātājus, tiklīdz ir iestatīts API dizains.
  • Ir atvienots motors.
  • Nodrošina spraudņus, kas var ieviest pielāgotus DSL, kā arī ģenerēt patvaļīgas izejas.

Kong

Kong tiek izmantots gataviem spraudņu izvietošanai, lai uzlabotu mikropakalpojumu izstrādi un ieviešanu. Izmantojot šo rīku, varat izmantot konteineru un mikropakalpojumu dizaina modeļus, lai ātri izveidotu uz API orientētas lietojumprogrammas.Zemāk ir norādītas dažas Kong iezīmes:

  • Nodrošina spraudņus pakalpojumu paplašināšanai un savienošanai hibrīdās un vairāku mākoņu vidēs.
  • Analizē reāllaika datus un izmanto ekosistēmas, lai izvietotu Kongu ar Kubernetes
  • Kong uzlabo efektivitāti un samazina kļūdu skaitu, izmantojot automatizācijas rīkus.
  • Nodrošina uz lomām balstītu piekļuves kontroli un šifrē visu galu, lai atbilstu nozares noteikumiem.

Instrumenti orķestrēšanai

Tā kā mikropakalpojumi darbojas attiecībā uz konteineriem, konteineru orķestrēšana ir svarīgs aspekts, kas jāņem vērā. Mūsdienu tirgū ir dažādi rīki attiecībā uz mikropakalpojumu konteineru orķestrēšanu, taču galvenie rīki ir šādi:

Gubernatori

Gubernatori ir atvērtā koda konteineru pārvaldības (orķestrēšanas) rīks. Konteineru pārvaldības pienākumos ietilpst konteineru izvietošana, konteineru mērogošana un atkaļķošana, kā arī konteineru kravas līdzsvarošana. Pēc definīcijas var šķist, ka Kubernetes ir ļoti parasta un nesvarīga. Bet ticiet man, ka šai pasaulei vajag Kubernetes konteineru pārvaldīšanai, cik vien nepieciešams Dokers to izveidošanai. Šeit ir dažas Kubernetes funkcijas:

  • Kubernetes var palīdzēt izvietot un atjaunināt noslēpumus un lietojumprogrammu konfigurāciju, nepārbūvējot attēlu un neatklājot noslēpumus kaudzes konfigurācijā.
  • Papildus pakalpojumu pārvaldībai Kubernetes var pārvaldīt arī jūsu pakešu un CI slodzi, tādējādi, ja vēlaties, aizstājot neizdevušos konteinerus.
  • Kubernetes ir nepieciešama tikai viena komanda, lai palielinātu konteinerus vai tos samazinātu, izmantojot CLI. Cita mērogošanu var veikt arī, izmantojot vadības paneli (Kubernetes UI).
  • Izmantojot Kubernetes, jūs varat uzstādīt izvēlēto glabāšanas sistēmu. Varat izvēlēties vai nu vietējo krātuvi, vai arī izvēlēties tādu publisko mākoņa nodrošinātāju kā GSP vai vai, iespējams, izmantojiet koplietojamo tīkla atmiņas sistēmu, piemēram, NFS, iSCSI utt.

Tas pats

Šis rīks atbalsta pakalpojuma izvietošanu Kubernetes. Tas arī nodrošina mikroservisu sakaru pārvaldāmības, drošības un uzticamības funkcijas. To dara pakalpojumu tīkla tehnoloģija, kas ļauj uzlabot attiecības un mijiedarbību starp lietojumprogrammu un mikropakalpojumiem. Dažas no šīm funkcijām ir šādas:

  • Veic pakalpojumu automātisku izsekošanu, uzraudzību un reģistrēšanu.
  • Šis rīks automātiski nodrošina pakalpojumus, izmantojot pārvaldītu autorizāciju, autentifikāciju un sakaru starp pakalpojumiem šifrēšanu.
  • Istio kontrolē datplūsmas un API izsaukumu plūsmu starp pakalpojumiem, veic virkni testu un jauninājumu ar sarkanu vai melnu izvietojumu
  • Tas arī piemēro politikas un nodrošina to izpildi, un resursi tiek taisnīgi sadalīti starp patērētājiem.

Monitoringa rīki

Kad lietojumprogramma ir izveidota, ir ļoti svarīgi uzraudzīt lietojumprogrammu darbību. Tātad, lai uzraudzītu lietojumprogrammas, varat izmantot šādus rīkus:

Prometejs

Prometejs ļauj vizualizēt monitoringa informāciju, izmantojot un atbalsta uz laiku balstītu izsekošanu, lai atklātu anomālus modeļus. Šis ir atvērtā koda rīks, kas apkopo uzraudzības informāciju.Tālāk ir norādītas dažas Prometeja funkcijas:

  • Nodrošina elastīgu vaicājumu valodu.
  • Nāk ar sadalītu krātuvi un viena servera mezgliem, kas ir autonomi
  • Atklāj mērķus, izmantojot pakalpojuma atklāšanu vai statisku konfigurāciju
  • Nodrošina informācijas paneļa un grafiku atbalstu.

Žurnāla atlicināšana

Logstash ir atvērtā koda rīks, ar kura palīdzību jūs varat pārbaudīt žurnālus. Šis rīks ļauj saglabāt, centralizēt un pārveidot datus. Šī rīka funkcijas ir šādas:

  • Logstash atbalstadažādas izejvielaskas vienlaikus piesaista notikumus no daudziem kopīgiem avotiem.
  • Šī rīka mērķis ir pārveidot un sagatavot datus neatkarīgi no tā sarežģītības
  • Žurnāla atlicināšana ļauj jums pašiem izvēlēties atlicināt un transportēt datus
  • Tas ir spraudnis, kas sastāv no vairāk nekā 200 spraudņiem, lai izveidotu un konfigurētu cauruļvadu, kā vēlaties.

Bez servera rīki

Šie rīki ir daļa no mikropakalpojumiem, kas optimizē sīkumu sadalīšanas metodiku mazās funkcijās. Daži rīki bez servera ir šādi:

Klaudija

Claudia ir bez servera rīks, ko izmanto AWS Lambda un API Gateway izvietošanai. Šis rīks automatizē izvietošanu un konfigurēšanas uzdevumus, kas var izraisīt kļūdas. Tas satur arī tādus rīkus kā Claudia Bot Builder un Claudia API Builder.

Šī rīka funkcijas ir šādas:

  • Klaudija ļauj izvietot un atjaunināt, izmantojot vienu komandu
  • Tas samazina katla kodu
  • Ar šī rīka palīdzību jūs varatpārvaldīt vairākas versijas
  • Jūs varat izmantot standarta NPM paketes un jums nav jāmācās Swagger

AWS Lambda

Šis rīks nodrošina bez infrastruktūras serverus jūsu mikroservisu būvēm un lietotājiem tiek piemērota maksa par maksu. Šo rīku var izmantot kopā ar AWS API vārteju, lai mitinātu REST vai API pakalpojumu. Šis Amazon tīmekļa pakalpojums ļauj jūsu API apkalpot visus lietotāju pieprasījumus. Tālāk ir norādītas dažas iezīmes AWS Lambda :

  • Šis rīks ļauj jums palaist kodu, reaģējot uz notikumiem, un automātiski pārvalda atkarīgos skaitļošanas resursus.
  • AWS ļauj palaist kodu, nepārvaldot serverus. Tā ir samaksa, kā jūs izmantojat apkalpošanai, un jūs maksājat tikai par patērēto aprēķina laiku.
  • Šis rīks automātiski mērogo lietojumprogrammu, palaižot kodu katram aktivizētājam.
  • AWS Lambda var izmantot arī, lai izveidotu bez servera aizmuguri mobilo, API un tīmekļa pieprasījumu apstrādei.

Ja vēlaties apgūt mikropakalpojumus un izveidot savas lietojumprogrammas, iepazīstieties ar mūsu kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs padziļināti izprast mikropakalpojumus un palīdzēs apgūt priekšmetu.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā Mikroservisa rīki ”Un es sazināšos ar jums.