Principals eines de microserveis que heu de conèixer el 2019



Aquest article és una guia completa sobre les principals eines de microserveis que heu de conèixer per gestionar i construir una aplicació mitjançant l'arquitectura de microserveis.

Microservices és un estil arquitectònic amb l’ajut del qual podeu crear aplicacions empresarials petites o complexes. Per crear aplicacions amb aquest estil arquitectònic necessiten eines i tecnologies per construir i supervisar aquests serveis. Per tant, en aquest article sobre les eines de microserveis, parlaré de les diverses eines que podeu utilitzar per construir aquests serveis autònoms.

En aquest article es tractaran els temes següents:





  1. Què són els microserveis?
  2. Eines de microserveis:

Abans, comencem a discutir les eines i les tecnologies que s’utilitzen per crear una aplicació mitjançant microserveis. Deixeu-me dir-vos què són els microserveis.

Què són els microserveis?

Microserveis, també conegut com arquitectura de microserveis , és un estil arquitectònic que estructura una aplicació com una col·lecció de petits serveis autònoms, modelats al voltant d'un domini empresarial. Per tant, podeu entendre els microserveis com petits serveis individuals que es comuniquen entre ells al voltant de la lògica empresarial única. Si voleu obtenir més informació sobre els microserveis en profunditat, podeu fer-ho



Ara, que ja teniu una idea dels microserveis, anem a examinar les eines que s’utilitzen als microserveis.

Eines de microserveis

Les eines de microserveis són una col·lecció de diverses eines i tecnologies que tenen diverses funcionalitats. Aquestes eines s’utilitzen en diverses etapes de la creació d’una aplicació i ajuden el desenvolupador a treballar amb facilitat. Vénen amb funcions predefinides, algorismes i una interfície gràfica d’usuari molt fàcil d’utilitzar. A més, diverses empreses emergents i gegants de la tecnologia han estat treballant en el desenvolupament d’aquestes eines de microserveis fàcils d’utilitzar. No obstant això, atès que els microserveis són un estil arquitectònic, sovint mai no és suficient utilitzar una eina per a tot el flux de treball.

Per tant, veurem les eines de microserveis que s’utilitzen per a diferents, és a dir,



Sistema operatiu

Logotip de Linux - Eines de microserveis - EdurekaUn dels factors molt importants de la creació d’una aplicació és establir les bases adequades per a la vostra aplicació. Bé, això ho fa el sistema operatiu. és un d'aquests sistemes operatius, més utilitzat durant la construcció d'aplicacions. Amb l’ajuda de contenidors Linux, proporciona un entorn d’execució autònom i us permet orquestrar serveis petits a grans com seguretat, xarxes i emmagatzematge. Per tant, si em demaneu millors opcions de família, aleshores crec que Red Hat i Ubuntu estan plens amb sistemes operatius amb funcionalitats innecessàries. A part d’això, els proveïdors de Linux han creat eines com Atomic Red Hat i Ubuntu, inclòs LXD, que és un hipervisor orientat al contenidor.

Llenguatges de programació

El principal avantatge dels microserveis és que ddiversos idiomes i tecnologies es poden utilitzar per crear diferents serveis d'una mateixa aplicació. Per tant, ofereix als desenvolupadors la llibertat de triar la seva pila de tecnologia i construir l’aplicació. Però, els llenguatges de programació més populars utilitzats en microserveis són iElixir.

Arrencada de primavera

Spring Boot simplifica la creació de amb l’ajut de Spring Bootmarcs en poques línies de codi. Aquí teniu algunes funcions de Spring Boot:

  • Ofereix autoconfiguració per carregar un conjunt de configuracions predeterminades per iniciar ràpidament l'aplicació
  • Ve amb tomcat incrustat, embarcador de contenidors de servlets per evitar l'ús de fitxers WAR
  • Spring Boot proporciona una visió opinada per reduir l'esforç del desenvolupador i simplificar les configuracions maven
  • Inclou una àmplia gamma d'APIs per supervisar i gestionar aplicacions en desenvolupadors i productes.

elixir

Elixir és un llenguatge de programació d'ús general que s'executa a laMàquina virtual Erlang. Elixir comparteix les mateixes abstraccions per crear aplicacions distribuïdes i tolerants a fallades. A continuació es mostren algunes de les funcions d’Elixir:

  • Els desenvolupadors poden escriure fàcilment el codi d’una manera breu, ràpida i mantenible.
  • El codi Elixir s’executa en processos lleugers aïllats que es poden escalar individualment.
  • Elixir s’assegura que l’aplicació no baixa mai, proporcionant supervisors. Aquests supervisors descriuen com es poden reiniciar diferents parts del sistema si alguna cosa surt malament.
  • Aquest llenguatge de programació inclou les seves pròpies eines de creació per crear projectes, gestionar tasques i executar les proves necessàries.

Eines per a la gestió i proves d'API

Mentre comenceu a crear aplicacions mitjançant microserveis, també heu d’assegurar-vos que tots els serveis individuals es comuniquen entre si mitjançant API. Cada microservei pot tenir la seva pròpia API per comunicar-se amb l’altre servei. Aquí és on la gestió i les proves de l'API apareixen a la imatge, ja que totes les API presents al sistema s'han de gestionar i provar adequadament per obtenir els resultats desitjats.

Les eines utilitzades per a la gestió i la prova de les API són les següents:

Carter

Postman és una suite de desenvolupament d'API que us permet executar fàcilment proves d'API basades en la IU. Amb l 'ajuda de Postman, l' exploració de es fa molt fàcil. A més, amb l’ajuda de Postman, podeu passar sol·licituds HTTP per provar, desenvolupar i obtenir els resultats necessaris.Aquí hi ha algunes de les seves característiques:

pl sql per a principiants amb exemples
  • Postman s’integra fàcilment amb el cicle de vida del desenvolupament de programari.
  • Proporciona funcions per dissenyar API i mantenir diverses versions d'API amb suport.
  • Aquesta eina pot funcionar per a una aplicació petita a una aplicació gran.
  • Admet la col·laboració de treball, ja que us permet desar punts finals de l'API relacionats en una col·lecció. A continuació, podeu avançar i compartir tota la col·lecció amb altres desenvolupadors.

API Fortress

API Fortress és una prova API i eines de salut que automatitzen el procés , vigilància de la salut, i . Aquesta eina està lliure de codi i es basa en pràctiques i patrons arquitectònics moderns d’API. A continuació es mostren algunes funcions de l'API Fortress:

  • Aquesta eina és altament interoperable amb qualsevol plataforma que trieu a la vostra cadena d’eines i valida les API integrades en plataformes de gestió d’API.

  • Simplifica la creació i l'execució de les proves de l'API proporcionant una interfície gràfica d'usuari.

  • Aquesta eina també simplifica les proves de punta a punta proporcionant una fàcil generació de proves funcionals.

    com compilar a Java
  • API Fortress també té com a objectiu simplificar la col·laboració emmagatzemant les proves i els informes en un entorn col·laboratiu, per assegurar-se que els equips validin les seves API si compleix el cas empresarial.

Eines per a missatgeria

Els microserveis són un sistema on els serveis autònoms es comuniquen entre ells o dins d’ells mateixos. Per comunicar-se entre ells, els microserveis utilitzen les cues de missatgeria. Per tant, les eines que s’utilitzen per a la missatgeria són les següents:

Apache Kafka

Aquesta eina és un sistema de missatgeria de publicació i subscripció distribuït desenvolupat originalment a LinkedIn i que més endavant va formar part del projecte Apache. Kafka és escalable, àgil i es distribueix per disseny. Per tant, Apache Kafka és una plataforma de processament de flux distribuït que es pot utilitzar per al processament de dades o per a trucades a API. Aquí teniu algunes funcions d’Apache Kafka:

  • Kafka té un alt rendiment per publicar i subscriure missatges, per mantenir un rendiment estable.
  • Aquesta eina també garanteix zero temps d'inactivitat i zero pèrdues de dades.
  • Els missatges continuen al disc el més ràpid possible
  • Moltes aplicacions poden connectar i fer ús de Kafka, ja que ofereix escriure nous connectors.

RabbitMQ

Aquesta eina utilitza patrons per comunicar-se entre microserveis i també escalar aplicacions simultàniament. Amb l'ajuda d'aquesta eina, podeu connectar microserveis entre si per resoldre problemes de sistemes distribuïts. També, yPodeu utilitzar aquesta eina per intercanviar esdeveniments entre els serveis individuals. A continuació es mostren algunes funcions de RabbitMQ:

  • Aquesta eina ofereix una varietat de funcions, com ara fiabilitat, reconeixements de lliurament, inclosa la persistència, la confirmació de l'editor i l'alta disponibilitat.
  • En utilitzar aquesta eina, els missatges s’encaminen a través d’intercanvis abans d’arribar a les cues.
  • RabbitMQ inclou el model de federació i permet connectar els servidors que necessiten connectar-se de manera més fluïda i poc fiable
  • Aquesta eina admet la missatgeria mitjançant diversos protocols de missatgeria.

Kits d'eines

Els jocs d’eines en termes simples són un conjunt d’eines que s’utilitzen per a un propòsit específic. En una arquitectura de microservei, podeu crear diversos tipus d’aplicacions. Per tant, és possible que tingueu diversos jocs d’eines amb un propòsit diferent. Les diverses eines que podeu considerar en aquesta secció són les següents:

fabric8

fabric8 és una eina de plataforma com a servei queajuda els desenvolupadors a proporcionar un sistema de gestió de configuracions mitjançant Git. És una eina de codi obert que gestiona mapes de ports i complexitats d’adreces IP. Aquesta eina també té la responsabilitat d’equilibrar la càrrega dels serveis amb alta disponibilitat i escalabilitat.

Aquí teniu algunes funcions d'aquesta eina:

  • Proporciona un conjunt d'assistents per crear aplicacions més ràpidament i configurar canonades de lliurament continu.
  • fabric8 ve amb premissesAllotjament del dipòsit Git
  • Aquesta eina proporciona el gestor de dipòsits maven per a versions publicades promocionades juntament amb un mirall de repositoris centrals maven.
  • Proporciona la consola per a desenvolupadors per crear, construir, gestionar microserveis amb una visualització profunda en projectes, aplicacions i entorns

Sèneca

Seneca s’utilitza per crear processos i microserveis basats en missatges i és el conjunt d’eines per a Node.js. Aquest conjunt d’eines us ajuda a escriure codi net i organitzat amb la lògica empresarial sistemàtica de l’aplicació. Les característiques de Seneca són les següents:

  • Seneca proporciona connectors que vetllen pels fonaments de l'aplicació.
  • No us heu de preocupar de quina base de dades s’ha d’utilitzar i de com estructurar els vostres components
  • A Sèneca, tot s’escriu com a ordre. Aquestes ordres es criden sempre que coincideixen amb un conjunt de propietats.
  • El codi al qual truqueu no sap quina ordre realitza la feina.

Marcs arquitectònics

Com que els microserveis en si són un estil arquitectònic, el marc arquitectònic és un factor important. Aquests marcs s’utilitzen amb diverses tecnologies per crear aplicacions.
Els dos marcs arquitectònics populars són els següents:

goa

Aquest marc arquitectònic proporciona una manera de crear API REST i microserveis mitjançant . Amb l’ajut d’aquest marc arquitectònic, podeu dissenyar les API juntament amb les dependències necessàries. Aquest marc s'executa a la part superior de Google Cloud Platform. Poques de les funcions són les següents:

  • Aquesta eina us permet descriure els punts finals, punts globals per crear una API de servei.
  • Goa us permet generar les estructures de dades, el codi de validació i els gestors un cop establert el disseny de l'API.
  • Té un motor desacoblat.
  • Proporciona connectors que poden implementar DSL personalitzats i també generar sortides arbitràries.

Kong

Kong s'utilitza per a connectors preparats per desplegar per millorar el desenvolupament i el desplegament de microserveis. Amb aquesta eina podeu aprofitar els patrons de disseny de contenidors i microserveis per crear ràpidament aplicacions centrades en l'API.A continuació es mostren algunes funcions de Kong:

  • Proporciona connectors per ampliar i connectar serveis a entorns híbrids i multi-núvol.
  • Analitza dades en temps real i aprofita els ecosistemes per desplegar Kong amb Kubernetes
  • Kong es connecta amb eines d'automatització per millorar l'eficiència i reduir els errors.
  • Proporciona control d’accés basat en funcions i xifra de punta a punta per complir amb la normativa del sector.

Eines per a l'orquestració

Com que els microserveis funcionen respecte als contenidors, l’orquestració de contenidors és un aspecte important que cal tenir en compte. Al mercat actual, hi ha diverses eines relacionades amb l’orquestració de contenidors per a microserveis, però les eines principals són les següents:

Governadors

Governadors és una eina de gestió de contenidors de codi obert (orquestració). Les responsabilitats de la gestió de contenidors inclouen el desplegament de contenidors, l’escala i la descalcificació de contenidors i l’equilibri de càrrega dels contenidors. Seguint la definició, és possible que Kubernetes sigui molt ordinari i poc important. Però confieu en mi, aquest món necessita Kubernetes per gestionar contenidors, tant com ho necessiti Docker per crear-los. Aquí teniu algunes funcions de Kubernetes:

  • Kubernetes us pot ajudar a desplegar i actualitzar secrets i configuració d'aplicacions sense reconstruir la vostra imatge i sense exposar secrets a la configuració de la vostra pila.
  • A més de gestionar serveis, Kubernetes també pot gestionar les vostres càrregues de treball per lots i CI, substituint així els contenidors que fallen, si es vol.
  • Kubernetes només necessita 1 ordre per augmentar els contenidors o reduir-los quan s’utilitza la CLI. Altrament, l’escala també es pot fer a través del tauler de control (interfície d’usuari de Kubernetes).
  • Amb Kubernetes, podeu muntar el sistema d’emmagatzematge que vulgueu. Podeu optar per emmagatzematge local o triar un proveïdor de núvol públic com GCP o bé , o potser utilitzeu un sistema d'emmagatzematge de xarxa compartit com NFS, iSCSI, etc.

Mateix

Aquesta eina admet el desplegament de serveis a Kubernetes. També proporciona funcions de maneig, seguretat i fiabilitat a les comunicacions de microserveis. Bé, això ho fa la tecnologia de malla de serveis que us permet millorar les relacions i les interaccions entre l’aplicació i els microserveis. Poques de les funcions són les següents:

  • Realitza el seguiment, supervisió i registre automàtic dels serveis.
  • Aquesta eina protegeix automàticament els serveis mitjançant l’autorització gestionada, l’autenticació i el xifratge de la comunicació entre serveis.
  • Istio controla el flux de trànsit i trucades API entre serveis, realitza una sèrie de proves i actualitzacions amb desplegaments de color vermell o negre
  • També aplica polítiques i assegura que s’apliquen i que els recursos es distribueixen de manera justa entre els consumidors.

Eines per al seguiment

Un cop creada l'aplicació, és molt important controlar el funcionament de les aplicacions. Per tant, per controlar les aplicacions, podeu utilitzar les eines següents:

Prometeu

Prometheus permet visualitzar la informació de monitoratge utilitzant i admet un seguiment basat en el temps per detectar patrons anòmals. Aquesta és una eina de codi obert que recopila informació de control.A continuació es mostren algunes de les característiques de Prometeu:

  • Proporciona un llenguatge de consulta flexible.
  • Inclou emmagatzematge distribuït i nodes de servidor únic que són autònoms
  • Descobreix els objectius mitjançant el descobriment del servei o la configuració estàtica
  • Proporciona suport per al tauler de control i gràfics.

Emmagatzematge de registre

Logstash és una eina de codi obert mitjançant la qual podeu comprovar els registres. Aquesta eina us permet guardar, centralitzar i transformar dades. Les funcions d’aquesta eina són les següents:

programació de sòcol TCP a Java
  • Suports Logstashuna varietat d’entradesque arrosseguen els esdeveniments d’una multitud de fonts comunes, tot alhora.
  • Aquesta eina pretén transformar i preparar dades independentment de la seva complexitat
  • El registre emmagatzemat us permet triar les vostres dades i transportar-les
  • És un framework connectable que consta de més de 200 connectors per crear i configurar una canonada com vulgueu.

Eines sense servidor

Aquestes eines formen part dels microserveis, que optimitzen la metodologia de trencar coses en petites funcions. Poques de les eines sense servidor són les següents:

Claudia

Claudia és una eina sense servidor que s’utilitza per a desplegaments d’AWS Lambda i API Gateway. Aquesta eina automatitza els desplegaments i les tasques de configuració propensos a errors. També conté eines com Claudia Bot Builder i Claudia API Builder.

Les funcions d’aquesta eina són les següents:

  • Claudia us permet desplegar i actualitzar mitjançant una sola ordre
  • Redueix el codi de la caldera
  • Amb l'ajuda d'aquesta eina, podeugestionar diverses versions
  • Podeu utilitzar paquets NPM estàndard i no heu d'aprendre Swagger

AWS Lambda

Aquesta eina proporciona servidors sense infraestructura per a les vostres versions de microserveis i els usuaris cobren una tarifa de pagament per ús. Aquesta eina es pot utilitzar en combinació amb AWS API Gateway per allotjar un servei REST o API. Aquest servei web d’Amazon permet a la vostra API atendre qualsevol sol·licitud dels usuaris. A continuació es mostren algunes característiques de AWS Lambda :

  • Aquesta eina us permet executar el codi en resposta a esdeveniments i gestiona automàticament els recursos de càlcul dependents.
  • AWS us permet executar el codi sense gestionar els servidors. Es paga mentre utilitzeu el servei i només pagueu pel temps de càlcul consumit.
  • Aquesta eina escala una aplicació automàticament executant un codi per a cada activador.
  • AWS Lambda també es pot utilitzar per crear un backend sense servidor per processar sol·licituds mòbils, API i web.

Si voleu aprendre microserveis i crear les vostres pròpies aplicacions, consulteu el nostre que inclou formació en viu dirigida per un instructor i experiència en projectes reals. Aquesta formació us ajudarà a comprendre en profunditat els microserveis i us ajudarà a dominar el tema.

Tens alguna pregunta? Esmenteu-lo a la secció de comentaris de ' Eines de microservei ”I em posaré en contacte amb vosaltres.