Els microserveis són un enfocament arquitectònic per desenvolupar aplicacions de programari com una col·lecció de serveis petits i independents que es comuniquen entre ells a través d'una xarxa. En lloc de crear una aplicació monolítica on tota la funcionalitat està fortament integrada en una única base de codi, els microserveis desglossen l'aplicació en serveis més petits i poc acoblats.
variables nginx
Temes importants per als microserveis
- Què són els microserveis?
- Com funcionen els microserveis?
- Quins són els components principals de l'arquitectura de microserveis?
- Quins són els patrons de disseny dels microserveis?
- Quins són els anti-patrons als microserveis?
- Exemple real de microserveis
- Microserveis versus arquitectura monolítica?
- Com passar del monolític als microserveis?
- Arquitectura orientada a serveis (SOA) vs. Arquitectura de microserveis
- Microserveis nadius del núvol
- Paper dels microserveis a DevOps
- Beneficis d'utilitzar l'arquitectura de microserveis
- Reptes de l'ús de l'arquitectura de microserveis
- Exemples del món real d'empreses que utilitzen l'arquitectura de microserveis
- Tecnologies que permeten l'arquitectura de microserveis
1. Què són els microserveis?
El microservei és un servei distribuït petit i poc acoblat. Cada microservei està dissenyat per realitzar una funció empresarial específica i es pot desenvolupar, desplegar i escalar de manera independent. Us permet prendre una aplicació gran i descompondre-la o dividir-la en components petits fàcilment manejables amb responsabilitats molt definides. Es considera el bloc de construcció de les aplicacions modernes. Els microserveis es poden escriure en una varietat de llenguatges de programació i marcs, i cada servei actua com una miniaplicació per si sol.
2. Com funcionen els microserveis?
Els microserveis funcionen desglossant una aplicació complexa en peces més petites i independents que es comuniquen i treballen conjuntament, proporcionant flexibilitat, escalabilitat , i un manteniment més fàcil, com construir una ciutat a partir de components modulars i interconnectats.
Entendrem com funcionen els microserveis:
- Estructura modular:
- L'arquitectura de microserveis desglossa les aplicacions grans i monolítices en serveis més petits i independents.
- Cada servei és un mòdul autònom amb una capacitat o funció empresarial específica.
- Aquesta estructura modular promou la flexibilitat, la facilitat de desenvolupament i el manteniment simplificat.
- Funcions independents:
- Cada microservei està dissenyat per gestionar una funció o característica empresarial específica.
- Per exemple, un servei pot gestionar l'autenticació dels usuaris, mentre que un altre gestiona les funcions del catàleg de productes.
- Aquesta independència permet un desenvolupament i manteniment especialitzats de cada servei.
- Comunicació:
- Els microserveis es comuniquen entre ells mitjançant interfícies de programació d'aplicacions (API) ben definides.
- Les API serveixen com a interfícies a través de les quals els serveis intercanvien informació i sol·licituds.
- Aquesta comunicació estandarditzada permet la interoperabilitat i flexibilitat en la integració de serveis.
- Flexibilitat:
- L'arquitectura de microserveis admet l'ús de tecnologies diverses per a cada servei.
- Això vol dir que es poden triar diferents llenguatges de programació, marcs i bases de dades en funció dels requisits específics de cada microservei.
- Els equips tenen la flexibilitat d'utilitzar les millors eines per a les seves respectives funcions.
- Independència i actualitzacions:
- Els microserveis funcionen de manera independent i permeten actualitzacions o modificacions a un servei sense afectar tot el sistema.
- Aquesta desacoblament de serveis redueix el risc d'interrupcions a tot el sistema durant les actualitzacions, facilitant la implementació de canvis i millores.
- També els microserveis contribueixen a la resiliència del sistema assegurant que si un servei troba problemes o errors, no destrueixi tot el sistema.
- Escalabilitat:
- Els microserveis ofereixen escalabilitat ja que permeten afegir instàncies de serveis específics.
- Si una funció concreta requereix més recursos, es poden desplegar instàncies addicionals d'aquest microservei per gestionar l'augment de la demanda.
- Aquesta escalabilitat és crucial per adaptar-se a diferents càrregues de treball.
- Millora contínua:
- La naturalesa modular dels microserveis facilita la millora contínua.
- Els equips de desenvolupament poden treballar i publicar actualitzacions de manera independent per als seus respectius serveis.
- Aquesta agilitat permet que el sistema evolucioni ràpidament i respongui als requisits canviants o necessitats dels usuaris.
3. Quins són els components principals de l'Arquitectura de Microserveis?
L'arquitectura de microserveis inclou diversos components que funcionen conjuntament per crear un sistema modular, escalable i desplegable de manera independent.
Els components principals dels microserveis inclouen :
- Microserveis: Aquests són els serveis individuals i autònoms que encapsulen capacitats empresarials específiques. Cada microservei se centra en una funció o característica diferent.
- Passarel·la API: L'API Gateway és un punt d'entrada central perquè els clients externs interactuïn amb els microserveis. Gestiona les sol·licituds, gestiona l'autenticació i encamina les sol·licituds als microserveis adequats.
- Registre i descobriment de serveis: Aquest component fa un seguiment de les ubicacions i adreces de xarxa de tots els microserveis del sistema. El descobriment de serveis garanteix que els serveis es puguin localitzar i comunicar-se entre ells de manera dinàmica.
- Equilibrador de càrrega: Els equilibradors de càrrega distribueixen el trànsit de xarxa entrant en diverses instàncies de microserveis. Això garanteix que la càrrega de treball es distribueix de manera uniforme, optimitzant la utilització dels recursos i evitant que qualsevol servei es converteixi en un coll d'ampolla.
- Contenidors: Els contenidors, com ara Docker, encapsulen microserveis i les seves dependències. Les eines d'orquestració, com ara Kubernetes, gestionen el desplegament, l'escala i el funcionament dels contenidors, garantint una utilització eficient dels recursos.
- Bus d'esdeveniments/agent de missatges: Un bus d'esdeveniments o un agent de missatges facilita la comunicació i la coordinació entre microserveis. Permet als serveis publicar i subscriure's a esdeveniments, permetent la comunicació asíncrona i el desacoblament.
- Registre i seguiment centralitzats: Les eines de registre i supervisió centralitzades ajuden a fer un seguiment del rendiment i la salut dels microserveis. Proporcionen informació sobre el comportament del sistema, detecten problemes i ajuden a resoldre'ls.
- Base de dades per microservei: Cada microservei normalment té la seva pròpia base de dades, garantint l'autonomia de les dades. Això permet als serveis gestionar i escalar de manera independent el seu emmagatzematge de dades segons els seus requisits específics.
- Emmagatzematge a la memòria cau: Es poden implementar mecanismes de memòria cau per millorar el rendiment emmagatzemant les dades d'accés freqüent més a prop dels microserveis. Això redueix la necessitat d'obtenir repetidament les mateixes dades de les bases de dades.
- Components de tolerància a fallades i resiliència: La implementació de components per a la tolerància a errors, com ara interruptors i mecanismes de reintent, garanteix que el sistema pugui gestionar amb gràcia les fallades dels microserveis i recuperar-se sense afectar la funcionalitat general.
4. Quins són els patrons de disseny dels microserveis?
Quan es produeix un problema mentre es treballa en un sistema, hi ha algunes pràctiques que s'han de seguir i en els microserveis, aquestes pràctiques són patrons de disseny. Els patrons de disseny de microserveis són aquestes pràctiques que, quan es segueixen, condueixen a patrons arquitectònics eficients que permeten superar reptes com l'administració ineficient d'aquests serveis i també maximitzar el rendiment. Quan es treballa en una aplicació, cal saber quin patró de disseny s'utilitzarà per crear una aplicació eficient.
- Agregador
- Va invocar serveis per rebre la informació requerida (dades relacionades) de diferents serveis, aplicar alguna lògica i produir el resultat.
- Les dades recollides poden ser utilitzades pels serveis respectius. Els passos seguits en el patró d'agregació impliquen la sol·licitud rebuda pel servei, i després la sol·licitud feta a diversos altres serveis combina cada resultat i finalment respon a la sol·licitud inicial.
- API Gateway
- API Gateway actua com a solució a la sol·licitud feta als microserveis.
- Serveix com a punt d'entrada a tots els microserveis i crea API detallades per a diferents clients.
- Les sol·licituds realitzades es passen a l'API Gateway i l'equilibrador de càrrega ajuda a comprovar si la sol·licitud es gestiona i s'envia al servei respectiu.
- Provisió d'esdeveniments
- Aquest patró de disseny crea esdeveniments relacionats amb els canvis (dades) en l'estat de l'aplicació.
- Amb aquests esdeveniments, els desenvolupadors poden fer un seguiment dels registres dels canvis realitzats.
- Estrangulador
- L'estrangulador també es coneix com a patró de vinya, ja que funciona de la mateixa manera que la vinya estranya un arbre al seu voltant. Per a cada trucada URI (Uniform Resource Identifier), una trucada va i torna i també es divideix en diferents dominis.
- Aquí, dues aplicacions separades romanen una al costat de l'altra al mateix espai URI, i aquí es tindrà en compte un domini alhora. Així, la nova aplicació refactoritzada substitueix l'aplicació original.
- Descomposició
- El patró de disseny de descomposició és la descomposició d'una aplicació en microserveis més petits, que tenen la seva pròpia funcionalitat.
- En funció dels requisits empresarials, podeu dividir una aplicació en subcomponents. Per exemple, Amazon té serveis separats per a productes, comandes, clients, pagaments, etc.
5. Quins són els Anti-Patrons als microserveis?
Aprendre antipatrons en microserveis és crucial per evitar errors comuns. Proporciona informació sobre problemes potencials que poden comprometre l'escalabilitat, la independència i el manteniment del sistema. En comprendre aquests antipatterns, els desenvolupadors poden prendre decisions informades, implementar bones pràctiques i contribuir al disseny i desplegament reeixits d'arquitectures de microserveis robustes.
A continuació es mostren els 5 antipatterns principals en microserveis
- Monòlit de dades: Compartir una base de dades centralitzada entre microserveis, soscavant la independència i l'escalabilitat.
- Serveis de conversa: Els microserveis es comuniquen massa per a tasques petites, cosa que augmenta la sobrecàrrega i la latència de la xarxa.
- Ús excessiu de microserveis: Crear massa microserveis per a funcionalitats trivials, introduint una complexitat innecessària.
- Límits de servei inadequats: Els límits dels microserveis estan mal definits, cosa que genera ambigüitat i responsabilitats poc clares.
- Ignorant la seguretat: Descuidant els problemes de seguretat en els microserveis, arriscant les vulnerabilitats i les violacions de dades.
6. Exemple real de microserveis
Entenem els Miscroserveis utilitzant l'exemple real de l'aplicació de comerç electrònic d'Amazon:
La botiga en línia d'Amazon és com un trencaclosques gegant format per moltes peces petites i especialitzades anomenades microserveis. Cada microservei fa una feina específica per assegurar-se que tot funciona correctament. Junts, aquests microserveis funcionen entre bastidors per oferir-vos una gran experiència de compra.
A continuació es mostren els microserveis implicats en l'aplicació de comerç electrònic d'Amazon:
- Servei d'usuari: Gestiona els comptes d'usuari, l'autenticació i les preferències. Gestiona el registre d'usuaris, l'inici de sessió i la gestió de perfils, garantint una experiència personalitzada per als usuaris.
- Servei de cerca: Potencia la funcionalitat de cerca a la plataforma, permetent als usuaris trobar productes ràpidament. Indexa la informació del producte i proporciona resultats de cerca rellevants basats en les consultes dels usuaris.
- Servei de catàleg: Gestiona el catàleg de productes, inclosos els detalls del producte, les categories i les relacions. Assegura que la informació del producte sigui precisa, actualitzada i fàcilment accessible per als usuaris.
- Servei de Carro : gestiona el carretó de la compra de l'usuari, permetent-li afegir, eliminar i modificar articles abans de pagar. Assegura una experiència de compra perfecta fent un seguiment dels articles seleccionats.
- Servei de llista de desitjos : Gestiona les llistes de desitjos dels usuaris, permetent-los desar productes per a futures compres. Proporciona una manera còmoda perquè els usuaris facin un seguiment i gestionen els seus articles desitjats.
- Servei de presa de comandes : Accepta i processa les comandes realitzades pels clients. Valida les comandes, comprova la disponibilitat del producte i inicia el procés de compliment de comandes.
- Servei de processament de comandes: Gestiona la tramitació i compliment de comandes. Es coordina amb els serveis d'inventari, enviament i pagament per garantir el lliurament de les comandes puntuals i precisos.
- Servei de pagament : Gestiona el processament de pagaments de comandes. Processa de manera segura les transaccions de pagament, s'integra amb passarel·les de pagament i gestiona les dades relacionades amb els pagaments.
- Servei de Logística : Coordina la logística de lliurament de la comanda. Calcula els costos d'enviament, assigna transportistes, fa un seguiment dels enviaments i gestiona les rutes de lliurament.
- Servei de magatzem: Gestiona l'inventari a través dels magatzems. Fa un seguiment dels nivells d'inventari, actualitza la disponibilitat d'estocs i coordina la reposició d'estocs.
- Servei de notificacions : envia notificacions als usuaris sobre les seves comandes, promocions i altra informació rellevant. Manté els usuaris informats sobre l'estat de les seves interaccions amb la plataforma.
- Servei de recomanacions : ofereix recomanacions de productes personalitzades als usuaris. Analitza el comportament i les preferències dels usuaris per suggerir productes rellevants, millorant l'experiència de l'usuari i impulsant les vendes.
7. Microserveis vs. Arquitectura monolítica?
A continuació es mostra una comparació tabular entre microserveis i arquitectura monolítica en diversos aspectes:
Aspecte | Arquitectura de microserveis | Arquitectura monolítica |
---|---|---|
Estil arquitectònic | Descompost en petits serveis independents. | Base de codi única i estretament integrada. |
Estructura de l'equip de desenvolupament | Equips petits i multifuncionals per a cada microservei. | Equip de desenvolupament més gran i centralitzat. |
Escalabilitat | Escalat independent dels serveis individuals. | L'escalat implica replicar tota l'aplicació. |
Desplegament | Desplegament independent de serveis. | Tota l'aplicació es desplega com a unitat única. |
Ús dels recursos | Ús eficient dels recursos ja que els serveis poden escalar de manera independent. | Recursos assignats en funció de les necessitats generals de l'aplicació. |
Velocitat de desenvolupament | Cicles de desenvolupament i desplegament més ràpids. | Desenvolupament i desplegament més lent a causa de tota la base de codi. |
Flexibilitat | Més fàcil d'adoptar noves tecnologies per a serveis específics. | Flexibilitat limitada a causa d'una pila de tecnologia comuna. |
Manteniment | Manteniment més fàcil de bases de codi més petites i enfocades. | El manteniment pot ser complex per a una base de codi gran i monolítica. |
Prova | Proves independents de cada microservei. | Prova exhaustiva de tota l'aplicació. |
Dependència d'infraestructures | Menys depenent de les opcions d'infraestructura específiques. | Lligat a una infraestructura específica a causa d'una base de codi compartida. |
8. Com passar del monolític als microserveis?
A continuació es mostren els principals passos clau per passar d'una arquitectura monolítica a una arquitectura de microserveis:
- Avaluació de Monolith: Comprendre l'aplicació monolítica existent, identificant components per a la migració.
- Definir microserveis: Desglosseu el monòlit en diferents capacitats empresarials per als microserveis.
- Patró estrangulador: Substituïu gradualment les peces monolítices per microserveis, adoptant un enfocament de migració gradual.
- Definició de l'API: Definiu clarament les API i els contractes per a una comunicació perfecta de microserveis.
- Implementació CI/CD: Configureu la integració contínua/desplegament continu (CI/CD) per a proves i desplegament automatitzats.
- Descentralitzar dades: Transició a un enfocament de base de dades per servei, reduint les dependències d'una base de dades central.
- Descobriment de serveis: Introduir mecanismes de descoberta de serveis per a la comunicació dinàmica entre microserveis.
- Registre i seguiment: Implementeu registres i supervisió centralitzats per a la visibilitat del rendiment dels microserveis.
- Preocupacions transversals: Gestioneu les preocupacions transversals com la seguretat i l'autenticació de manera coherent entre els microserveis.
- Millora iterativa: Adopteu un enfocament iteratiu, perfeccionant i ampliant contínuament els microserveis basats en la retroalimentació i les necessitats en evolució.
9. Arquitectura Orientada a Serveis (SOA) vs. Arquitectura de Microserveis
A continuació es mostra una comparació tabular entre l'Arquitectura Orientada a Serveis (SOA) i els microserveis en diversos aspectes:
Aspecte | Arquitectura Orientada a Serveis (SOA) | Arquitectura de microserveis |
---|---|---|
Àmbit | Inclou un ampli conjunt de principis arquitectònics. | Se centra en la creació de serveis petits i independents. |
Dimensió dels serveis | Els serveis solen ser més grans i complets. | Els serveis són petits, enfocats i d'un sol propòsit. |
Gestió de dades | El model de dades comuns i les bases de dades compartides són habituals. | Cada servei té la seva pròpia base de dades o magatzem de dades. |
Comunicació | Normalment es basa en protocols estandarditzats com SOAP. | Utilitza protocols lleugers com REST o missatgeria. |
Diversitat Tecnològica | Pot tenir diferents tecnologies, però sovint middleware estandarditzat. | Fomenta tecnologies diverses per a cada servei. |
Desplegament | Els serveis sovint es despleguen de manera independent. | Promou el desplegament independent de microserveis. |
Escalabilitat | L'escala horitzontal de serveis sencers és habitual. | Permet l'escala independent dels serveis individuals. |
Velocitat de desenvolupament | Cicles de desenvolupament més lents a causa de serveis més grans. | Cicles de desenvolupament més ràpids amb serveis més petits. |
Flexibilitat | Pot ser flexible, però els canvis poden afectar diversos serveis. | Ofereix flexibilitat gràcies als serveis independents. |
Ús dels recursos | Els recursos poden estar infrautilitzats durant la baixa demanda. | Ús eficient dels recursos, ja que els serveis poden escalar de manera independent. |
Gestió de la dependència | Es basa en components compartits i govern centralitzat. | Cada microservei gestiona les seves dependències de manera independent. |
Dificultat d'adopció | Generalment requereix més planificació i canvi organitzatiu. | Més fàcil d'adoptar de manera incremental i adequat per al desenvolupament àgil. |
10. Microserveis natius del núvol
Els microserveis i el núvol entre ells proporcionant un entorn flexible, eficient i col·laboratiu per crear i executar aplicacions de programari
- Operacions simplificades Els proveïdors de núvol gestionen el manteniment i la seguretat de la infraestructura, de manera que és més senzill per als equips de microserveis. Poden centrar-se en les seves tasques específiques sense preocupar-se dels aspectes tècnics de fons.
- Cost-eficiència Combinar microserveis amb recursos al núvol és com pagar per les eines i l'espai de treball exactes que utilitzeu. És rendible perquè no us quedeu amb equips o espai innecessaris.
- Flexibilitat Necessites més equips o vols canviar el teu procés de producció? El núvol us permet adaptar-vos ràpidament, com ara reordenar les estacions de treball en un espai de treball flexible.
11. Paper dels microserveis a DevOps
DevOps i microserveis estan estretament alineats i sovint van de la mà per millorar el desenvolupament, el desplegament i els aspectes operatius dels sistemes de programari moderns. Aquí teniu una breu visió general de com funcionen conjuntament DevOps i microserveis:
- Integració contínua/Desplegament continu (CI/CD):
- En una arquitectura de microserveis, cada servei es pot desenvolupar, provar i desplegar de manera independent. Els pipelines CI/CD són crucials per gestionar de manera eficient les actualitzacions constants i els llançaments associats als microserveis.
- Les pràctiques de DevOps posen l'accent en les canalitzacions CI/CD, que impliquen l'automatització de la creació, proves i desplegament de programari.
- Desenvolupament àgil:
- Els microserveis donen suport inherent al desenvolupament àgil, ja que permeten als equips treballar de manera independent en serveis específics, facilitant la ràpida iteració i el desplegament de noves funcions.
- DevOps promou la col·laboració entre els equips de desenvolupament i operacions, fomentant pràctiques de desenvolupament àgil.
- Seguiment i registre continus
- L'arquitectura de microserveis requereix un seguiment sòlid per fer un seguiment de la salut i les interaccions entre diversos serveis, ajudant a la detecció i resolució de problemes primerenques. DevOps posa èmfasi en la supervisió i el registre continus per obtenir informació en temps real sobre el rendiment de les aplicacions.
12. Beneficis d'utilitzar l'arquitectura de microserveis
- Modularitat i desacoblament:
- Desenvolupament independent: Els microserveis es desenvolupen i es despleguen de manera independent, permetent que diferents equips treballin en diferents serveis simultàniament.
- Aïllament de fallades: Els errors en un microservei no n'afecten necessàriament els altres, la qual cosa proporciona un aïllament més gran d'errors.
- Escalabilitat:
- Escalat granular: Cada microservei es pot escalar de manera independent en funció de les seves necessitats específiques de recursos, cosa que permet una utilització eficient dels recursos.
- Elasticitat: Les arquitectures de microserveis es poden adaptar fàcilment a diferents càrregues de treball escalant dinàmicament serveis individuals.
- Diversitat tecnològica:
- Llibertat de tecnologia: Cada microservei es pot implementar utilitzant la pila tecnològica més adequada als seus requisits específics, fomentant la diversitat tecnològica.
- Equips autònoms:
- Empoderament de l'equip: Els microserveis sovint permeten que petits equips multifuncionals treballin de manera independent en serveis específics, promovent l'autonomia i la presa de decisions més ràpida.
- Despeses generals de coordinació reduïdes: Els equips poden llançar i actualitzar els seus serveis sense requerir una àmplia coordinació amb altres equips.
- Desplegament ràpid i lliurament continu:
- Cicles de llançament més ràpids: Els microserveis es poden desenvolupar, provar i desplegar de manera independent, facilitant cicles de llançament més ràpids.
- Integració i desplegament continus (CI/CD): Les eines d'automatització admeten pràctiques d'integració i desplegament contínues, millorant la velocitat i la fiabilitat del desenvolupament.
- Manteniment fàcil:
- Bases de codi aïllades: Les bases de codi més petites i enfocades són més fàcils d'entendre, mantenir i resoldre problemes.
- Actualitzacions en continu: Els microserveis individuals es poden actualitzar o revertir sense afectar tota l'aplicació.
13. Reptes de l'ús de l'Arquitectura de Microserveis
- Complexitat dels sistemes distribuïts: Els microserveis introdueixen la complexitat dels sistemes distribuïts. Gestionar la comunicació entre serveis, gestionar la latència de la xarxa i garantir la coherència de les dades entre els serveis pot ser un repte.
- Major desenvolupament i despeses generals operatives: La descomposició d'una aplicació en microserveis requereix un esforç addicional en termes de desenvolupament, prova, desplegament i supervisió. Els equips han de gestionar un nombre més gran de serveis, cadascun amb la seva pròpia base de codi, dependències i procés de desplegament.
- Despeses generals de comunicació entre serveis: Els microserveis han de comunicar-se entre ells a través de la xarxa. Això pot comportar una major latència i una complexitat addicional en la gestió dels protocols de comunicació, la gestió d'errors i la transferència de dades.
- Coherència de dades i gestió de transaccions: Mantenir la coherència de les dades entre els microserveis pot ser un repte. La implementació de transaccions distribuïdes i la garantia de la integritat de les dades esdevenen complexos, i és possible que les transaccions ACID tradicionals no siguin fàcils d'aconseguir.
- Reptes de desplegament: Coordinar el desplegament de múltiples microserveis, especialment quan hi ha dependències entre ells, pot ser complex. Garantir la coherència i evitar temps d'inactivitat del servei durant les actualitzacions requereix una planificació acurada.
- Supervisió i complexitat de depuració: La supervisió i la depuració es tornen més complexes en un entorn de microserveis. La identificació de la causa arrel dels problemes pot implicar el seguiment de sol·licituds a través de diversos serveis, i el registre centralitzat esdevé crucial per a una depuració eficaç.
14. Exemples del món real d'empreses que utilitzen l'arquitectura de microserveis
Les organitzacions van experimentar un canvi massiu mentre utilitzaven el microservei a la seva aplicació, i aquí va ser on va arribar la transició del monolític al microservei. Podeu consultar alguns dels exemples reals d'aplicacions que utilitzen microservei:
- Amazon: Inicialment, Amazon era una aplicació monolítica, però quan va néixer el microservei, Amazon va ser la primera plataforma que va dividir la seva aplicació en petits components, adaptant així el microservei. A causa de la seva capacitat per canviar les característiques i recursos individuals, la funcionalitat del lloc va millorar en gran mesura.
- Netflix: Netflix és una d'aquestes empreses que utilitza microserveis amb API . L'any 2007, quan Netflix va començar el seu pas cap al servei de reproducció de pel·lícules, va patir grans interrupcions i reptes del servei, després va arribar l'arquitectura de microserveis que va ser una benedicció per a la plataforma.
- Uber: Quan Uber va passar de la naturalesa monolítica a un microservei, va experimentar una manera senzilla. Mitjançant l'arquitectura de microserveis, les visualitzacions i les cerques de pàgines web van augmentar en major mesura.
15. Tecnologies que permeten l'arquitectura de microserveis
- Docker:
- Docker és una plataforma de contenidors que permet als desenvolupadors empaquetar aplicacions i les seves dependències en contenidors lleugers i portàtils. Aquests contenidors encapsulen tot el necessari per executar l'aplicació, inclòs el codi, el temps d'execució, les biblioteques i les eines del sistema, garantint la coherència en diferents entorns.
- Kubernetes:
- Kubernetes és una plataforma d'orquestració de contenidors de codi obert desenvolupada originalment per Google. Automatitza el desplegament, l'escala i la gestió d'aplicacions en contenidors, proporcionant funcions per a la programació de contenidors, la descoberta de serveis, l'equilibri de càrrega i molt més.
- Malla de servei:
- Les tecnologies de malla de servei com Istio i Linkerd proporcionen una capa d'infraestructura dedicada per gestionar la comunicació de servei a servei, la gestió del trànsit i l'observabilitat a les arquitectures de microserveis. Ofereixen funcions com l'equilibri de càrrega, el descobriment de serveis, l'interrupció de circuits i la recollida de mètriques.
- Passarel·les API :
- Les passarel·les d'API com Kong i Tyk serveixen com a punts d'entrada per als clients externs per accedir a aplicacions basades en microserveis. Proporcionen funcionalitats com l'encaminament, l'autenticació, la limitació de velocitat i les transformacions de sol·licitud/resposta.
- Arquitectura impulsada per esdeveniments :
- Les arquitectures basades en esdeveniments faciliten la comunicació entre microserveis ja que els permeten produir i consumir esdeveniments de manera asíncrona. Tecnologies com Apache Kafka, RabbitMQ i Amazon SNS/SQS ofereixen sistemes de missatgeria escalables i fiables per crear microserveis basats en esdeveniments.
- Informàtica sense servidor:
- Tot i que no són exclusives dels microserveis, plataformes sense servidor com AWS Lambda, Azure Functions i Google Cloud Functions es poden utilitzar per implementar microserveis individuals sense gestionar la infraestructura subjacent, desacoblar i ampliar els serveis.
16. Conclusió
Ara que ho saps Què són els microserveis , és molt important tenir una idea pràctica sobre ells treballant-los de manera pràctica. Aquest article respon completament a tots els vostres dubtes sobre els microserveis, la seva arquitectura, funcionament, característiques, aplicacions de la vida real, etc. Els microserveis són un terme imprescindible en el cas durant la creació d'una aplicació. Per tant, és molt important tenir-ne un bon domini.