SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
MICROSERVICES
ARQUITETURA
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com
(21) 96624-5486
parte 2
AGENDA
1  / Arquitetura Monolítica
2  / Arquitetura Micro Serviços
3  / Mensagens Síncronas
4  / Point-to-point Style
5  / API-Gateway Style
6  / Message Broker style
7  / Decentralized Data Management
8  / Service: Registry and Discovery
9  /  Client-side Discovery
10/  Server-side Discovery  
11/ Deployment
12/ Docker
ARQUITETURA MONOLÍTICA
Osaplicativosdesoftwarecorporativosãoprojetadospara
facilitarinúmerosrequisitosdenegócios.Assim,um
determinadoaplicativodesoftwareoferececentenasde
funcionalidadesetodasessasfuncionalidadessãoempilhadas
emumaúnicaaplicaçãomonolítica.
Porexemplo,ERPs,CRMseoutrosváriossistemasdesoftware
sãoconstruídoscomoummonólitocomváriascentenasde
funcionalidades.
Aimplantação,soluçãodeproblemas,dimensionamentoe
atualizaçãodetaisaplicaçõesdesoftwaremonstruosaséum
pesadelo.
ARQUITETURA MONOLÍTICA
ARQUITETURA MICRO SERVIÇOS
Aarquiteturademicroservicesésobreodesenvolvimentode
umúnicoaplicativocomoumconjuntodeserviçospequenos
eindependentesqueestãosendoexecutadosemseupróprio
processo,desenvolvidoseimplantadosdeforma
independente.
Namaioriadasdefiniçõesdaarquiteturamicroservices,é
explicadocomooprocessodesegregaçãodosserviços
disponíveisnomonolíticoemumconjuntodeserviços
independentes.
Noentanto,naminhaopinião,aMicroservicesnãoconsiste
apenasemdividirosserviçosdisponíveisemmonolíticosem
serviçosindependentes.
ARQUITETURA MICRO SERVIÇOS
MENSAGENS SÍNCRONAS
Paramensagenssíncronas(oclienteesperaumaresposta
"atempada"doserviçoeesperaatéconseguir)na
arquiteturaMicroservices,RESTéaescolhaunânime,pois
forneceumestilodemensagenssimplesimplementadocom
solicitação-respostaHTTP,combasenoestilodaAPIde
recursos.
Portanto,amaioriadasimplementaçõesdemicroservices
estãousandoHTTP, juntamentecomestilosbaseadosna
APIderecursos.
MENSAGENS SÍNCRONAS
POINT-TO-POINT STYLE
NoestiloPoint-to-point(pontoaponto),atotalidadedalógicaderoteamentodemensagensresideemcada
pontofinaleosserviçospodemsecomunicardiretamente.CadamicroserviceexpõeumaAPIRESTeum
microservicedadoouumclienteexternopodeminvocaroutromicroserviceatravésdasuaAPIREST.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
INVOCANDO SERVIÇOS DIRETAMENTE
API-GATEWAY STYLE
Aidéia-chaveportrásdoestilodoGatewaydaAPIéqueusarumgatewaydemensagenslevescomoo
pontodeentradaprincipalparatodososclientes/consumidoreseimplementarosrequisitosnão
funcionaiscomunsnoníveldoGateway.
Emgeral, umGatewaydeAPIpermitequevocêconsomeumaAPIgerenciadaemREST/HTTP,
portanto,aquipodemosexpornossasfuncionalidadesdenegóciosquesãoimplementadascomo
microservices,atravésdaAPI-GW,comoAPIgerenciadas.
Naverdade,estaéumacombinaçãodearquiteturadeMicroserviceseAPI-Managementquelhedãoo
melhordosdoismundos.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
MESSAGE BROKER STYLE
Osmicroservicespodemserintegradoscomumcenáriodemensagensassíncronas,como
solicitaçõesunidirecionaisemensagensdeinscriçãodepublicaçãousandofilas.
 
Ummicroservicedadopodeseroprodutordemensagensepodeenviarmensagensassíncronamente
paraumafilaeemseguida,omicroserviceconsumidorpodeconsumirmensagensdafila,esteestilo
desacoplaráosprodutoresdemensagensdosconsumidoresdemensagenseocorretorde
mensagensintermédiasarmazenandoasmensagensatéqueoconsumidorpossaprocessá-las.
Osmicroservicesdoprodutordesconhecemcompletamenteosmicroservicesdoconsumidor.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
DECENTRALIZED DATA MANAGEMENT
NaarquiteturaMicroservices,asfuncionalidadessãodispersasemváriosmicroservicese,seusarmos
omesmobancodedadoscentralizado,osmicroservicesnãoserãomaisindependentesunsdosoutros
(porexemplo,seoesquemadobancodedadostivermudadodeummicroservicedeterminado,isso
iráquebrarváriosoutrosserviços), portanto,cadamicroservicedeveterseuprópriobancodedados.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
SERVICE REGISTRY & DISCOVERY
Service Registry
O Registro de serviços contém as instâncias dos microservices e suas localizações. As instâncias do
Microservice são registradas no registro do serviço na inicialização e cancelaram o registro no
desligamento. Os consumidores podem encontrar os microservices disponíveis e seus locais através do
registro do serviço.
Service Discovery
Para encontrar os microservices disponíveis e sua localização, precisamos ter um mecanismo de
descoberta de serviço. Existem dois tipos de mecanismos de descoberta de serviço, Client-side
Discovery e Server-side Discovery. 
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
CLIENT-SIDE DISCOVERY
Nesta abordagem, o cliente ou a API-GW obtém a localização de uma instância de serviço
consultando um Service Registry.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
SERVER-SIDE DISCOVERY
Nesta abordagem, os clientes / API-GW enviam a solicitação para um componente
(geralmente um LoadBalancer) que é executado em um local bem conhecido e esse
componente chama o Service Registry e determina a localização absoluta do
microservice.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
As soluções de implantação de microservices,
como Kubernetes, oferecem mecanismos de
descoberta (Discovery Service) de service-side.
DEPLOYMENT
Visão geral da implantação dos microservices do
aplicativo de varejo.
Cada instância de microservice é implantada
como um contêiner e existem dois recipientes por
cada host.
Você pode alterar arbitrariamente o número de
contêineres que você executa em um
determinado host.
DOCKER
Quando se trata de arquitetura de microservices, a implantação de microservices desempenha um
papel crítico e possui os seguintes requisitos-chave:
>> Capacidade de implantar / desdobrar independentemente de outros microservices.
>> Deve ser capaz de escalar em cada nível de microservices (um determinado serviço pode obter
mais tráfego do que outros serviços).
>> A falha em um microservice não deve afetar nenhum dos outros serviços.
Docker (permite aos desenvolvedores e administradores de sistemas implantar contêineres de
aplicativos auto-suficientes em ambientes Linux) fornece uma ótima maneira de implantar
microservices e as principais etapas são as seguintes:
>> Coloque o microservice como uma imagem de recipiente (Docker).
>> Implante cada instância de serviço como um contêiner.
>> O dimensionamento é feito com base na alteração do número de instâncias de contêiner.
>> Construir, implementar e iniciar o microservice será muito mais rápido, pois estamos usando
recipientes Docker (é muito mais rápido do que uma VM normal)
OBRIGADO PELA
ATENÇÃO!
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com

Mais conteúdo relacionado

Semelhante a Microservices arquitetura parte 2

Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em NuvemVitor Savicki
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservicoEduardo Cesar
 
Microservices arquitetura - parte1
Microservices arquitetura - parte1Microservices arquitetura - parte1
Microservices arquitetura - parte1Agni Campos
 
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...tdc-globalcode
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesleopoa
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreAlexandroAlves13
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana Costa
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOpsCaio Candido
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosVinícius Krolow
 
Microsoft BizTalk server aos olhos dos programadores
Microsoft BizTalk server aos olhos dos programadoresMicrosoft BizTalk server aos olhos dos programadores
Microsoft BizTalk server aos olhos dos programadoresSandro Pereira
 
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOEstevão Hess
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwordsWaldemar Neto
 

Semelhante a Microservices arquitetura parte 2 (20)

Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Do monolito ao microservico
Do monolito ao microservicoDo monolito ao microservico
Do monolito ao microservico
 
Microservices arquitetura - parte1
Microservices arquitetura - parte1Microservices arquitetura - parte1
Microservices arquitetura - parte1
 
Microserviços
MicroserviçosMicroserviços
Microserviços
 
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
TDC2017 | POA Trilha Arquitetura - Desafios de se implantar uma arquitetura d...
 
Desafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservicesDesafios de implantar uma arquitetura de microservices
Desafios de implantar uma arquitetura de microservices
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Utilização de DevOps
Utilização de DevOpsUtilização de DevOps
Utilização de DevOps
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Microsoft BizTalk server aos olhos dos programadores
Microsoft BizTalk server aos olhos dos programadoresMicrosoft BizTalk server aos olhos dos programadores
Microsoft BizTalk server aos olhos dos programadores
 
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
 
Web services
Web  servicesWeb  services
Web services
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords
 

Mais de Agni Campos

Curriculum - Agni campos
Curriculum - Agni campos Curriculum - Agni campos
Curriculum - Agni campos Agni Campos
 
Manage branchs using git bash
Manage branchs using git bashManage branchs using git bash
Manage branchs using git bashAgni Campos
 
Implementando microservices
Implementando microservicesImplementando microservices
Implementando microservicesAgni Campos
 
Overview arquitetura
Overview arquiteturaOverview arquitetura
Overview arquiteturaAgni Campos
 

Mais de Agni Campos (6)

Curriculum - Agni campos
Curriculum - Agni campos Curriculum - Agni campos
Curriculum - Agni campos
 
Auth
AuthAuth
Auth
 
Manage branchs using git bash
Manage branchs using git bashManage branchs using git bash
Manage branchs using git bash
 
Git overview
Git   overviewGit   overview
Git overview
 
Implementando microservices
Implementando microservicesImplementando microservices
Implementando microservices
 
Overview arquitetura
Overview arquiteturaOverview arquitetura
Overview arquitetura
 

Microservices arquitetura parte 2