[Música] é bom [Música] olá sejam bem vindo ao lado de número 13 estão distribuídos espero que vocês estejam aproveitando é nessa aula a gente vai falar sobre arquitetura de sistemas distribuídos do segundo capítulo do nosso livro e queria frisar a importância de vocês lerem os capítulos o livro texto uma vez que lá e que vocês vão sanar é e assimilar o conteúdo cujo conteúdo é muito importante pessoal pró vida profissional aí de vocês né ou até para a vida acadêmica existem vários eu mesmo faço pesquisa e middlewares a baseado em eventos centrados em dados sendo
assim portanto existe muita muita pesquisa na área de internet das coisas me deu pela internet das coisas pra rede de sensores sem fio e assim por diante bom gente o que a gente viu na aula passada foi tipos de distribuir suas implementações estão distribuídos em todo o concelho dessa dessa aula de hoje vai ser o que vai ser ou arquitetura do sistema distribuído ele é arquitetado como é que ele é organizado é isso que a gente vai ver nessa aula de hoje existem várias arquiteturas várias implementações dessa arquitetura que é o conteúdo dessa arquitetura arquitetônicos
né ele é determinado através de que através de componentes suas conexões conexões entre os componentes os dados que eles trocam assim como a forma de configuração como é que ocorre a configuração entre elas vou mostrar aqui como ilustrar como é que funciona essa parte dos estilos arquitetônicos a esses quatro componentes aqui então primeiramente tem um componente aqui ser um e um componente c2 esses dois componentes são o que são módulos de um código e na arquitetura baseada em componentes esses dois módulos eles podem ser instance ados e podem ser instance adn e consequentemente executados de
maneira que esses dois componentes possa então fazer alguma tarefa entretanto muitas vezes esses componentes eles não trabalham sozinhos esse trabalho em forma de que em forma de conexão então esse componente aqui vai se conectar com esse outro componente e vai montar o que a gente chama de que vai montar que tinham aqui de uma aplicação essa aplicação aplicação altamente modular porque esse componente aqui ela pode ser pode ser conectada a um outro componente aqui em baixo um componente que a gente pode chamar por exemplo de um c3 que eu tô falando isso aqui gente que
eu quero dizer o seguinte que esses quatro aqui elementos aqui esses quatro elementos aqui forma o que forma o estilo arquitetônico a arquitetura do sistema distribuída é muitas vezes determinada por essas processos quatro elementos que a gente vai falar pra vocês primeiro que é um componente é um módulo é o módulo que pode ser instance adu e destruindo também da memória principal se eu tenho uma um processo ou uma aplicação nesse formato aqui eu tenho um sistema distribuído uma arquitetura de um sistema distribuído que é altamente o que é altamente flexível uma vez que esse
componente aqui agora pode sumir na ec dois aqui pode ser substituído por um c4 irmã chiara que o que criar aqui uma conexão assim gente num principalmente no sistema de telefones marte fone onde a memória principal é bastante escassa eu possa economizar memória colocando que colocando apenas os componentes que são que que são necessários e requisitados então esse aqui são o que fez aqui são os modos primeiro componente e só que o que a gente chama de conexão nota que tem dois tipos de que diniz tração aqui né essa interface aqui o que chama de
interface requerida os serviços que são requeridos elas formam esse receptáculo aqui essa interface aqui ó essa interface é com uma bolinha ela na interface dos serviços que são fornecidos por que existem interface em componentes porque os componentes elas possuem o que elas possui um serviço mas é preciso saber como é que esse serviço ela é pode ser chamado com e quais são os serviços que são implementados em cada um desses componentes com são os serviços como é que eu chamo cada um dos serviços que são implementados por esses componentes que o chão era olhando que
as interfaces então às vezes têm interfaces que são requeridas e as interfaces que são fornecidos ela serve como se fosse um contrato e assim olha o contrato para saber qual serviço de uma determinada empresa que é pode se mostrar comportar com o componente ela pode o que ela pode fornecer para você então serviço aí é que a usp ela fornece seria o que te fornece o universo vai prover seria educar o aluno de forma que o aluno possa tornar se graduado em engenharia da computação e se o serviço que ela vai prover entretanto ela também
possui os serviços requeridos serviços requeridos são o que os professores ministrem aulas dadas intercambiados como é que a existe é como é que a troca de dados e realizando é utilizando um mecanismo de caixa postal onde coloco uma má kata e o cidadão depois no final da tarde quando ele chega ele verifica caixa postal para tirar essa é uma forma de intercambiar a outra outra questão que a gente cita aqui é a forma de configuração como é que é esses componentes elas podem ser configurados podem ser configurados durante a execução ou só a quando ela
é instance ada e essas conexões coisas que são essas conexões suas conexões é conectar um componente com o outro de forma o que de forma que eu tenho uma aplicação agora maior então essas são essas três é três elementos que eu queria falar pra vocês que vão formar a arquitetura de um sistema distribuído existem vários arquitetura saque distintas e primeiro essa arquitetura de camadas já larga jael como se fosse o jejum são fregueses dessa arquitetura de camadas uma vez que vocês estudaram redes e redes é o que formada com essa arquitetura aqui de camadas onde
a gente tem uma camada de aplicação uma camada de transporte uma camada de rede camada de enlace uma causa física existem que se essas os componentes aqui elas são organizados em forma aqui de camadas seja sabem disso e de objectos aqui objetos os objetos aqui são os componentes a componente pode ser um objeto pode ser um procedimento pode ser uma função ou pode ser até 45 dias código assim a componente não é objeto mas é um objeto pode ser um componente objetos são conectados o por outro através de uma chamada é remota que de métodos
né e ela é amplamente explorado em que a arquitetura cliente servidor bom essa arquitetura centrada em dados essa te trouxe entrada em dados é o que eu falei isso aqui funciona como se fosse o que uma acha o hospital ou uma caixa de caixa de correio onde um determinado componente coloca uma informação nessa uma carta um pacote nesse barramento aqui o repositório compartilhado e os componentes então elas vão recolher dados dessa caixa aqui o postal que é um repositório e compartilhada sendo assim portanto elas são o que são francamente acoplados são altamente voltadas tapa ambiente
aí de sistemas pervasivos de internet das coisas a rede de sensores sem fio de fone senso e assim por diante porque porque esses componentes aqui esses sensores por falta de bateria ou por falta de conexão 3g 4g elas podem desaparecer de uma hora pra outra então quanto menos quanto mais fraco o acoplamento entre elas melhor seria essa arquitetura e as baseadas em eventos mas baseados em eventos é são assim que funciona como se fosse um facebook o facebook você publica um evento e quem se inscreve para aquele evento consegue o que consegue recuperar os dados
que foram publicados então elas são baseados o que são baseados na arquitetura quem chama de panos sagres cry onde um evento é publicado e só as pessoas que se inscreveram para aquele evento recebe então aqueles dados podem então ler utilizados o apache kafka ele utiliza este modelo existe uma micro micro kafka que seria voltado aí pra arquiteturas com o yo tenesse smartphones em si e assim por diante uma vez que eles também funciona como sistema distribuído nota pessoal se eu tenho uma arquitetura cliente e servidor onde um servidor seria a nuvem e o cliente seria
o que seria um dispositivo e hotel tem uma comunicação né onde os dados coletados de temperatura ambiental podem então ser o que podem e devem ser transferidas para 9 para que esses dados então possam ser processados né distribuídos eles são organizados na prática que vai ver agora é isso aí a omd onde são executados como eles se comunicam e se há um elemento aí então é central então acho que existem diversas arquiteturas diferentes as arquiteturas que são centralizadas existem arquiteturas que são descentralizadas e existem arquiteturas híbridas onde se pode existir um catálogo central ea partir
desse catálogo os dados então podem ocorrer de maneira descentralizada então vamos começar aqui com a arquitetura é centralizado na arquitetura centralizada é o velho modelo cliente servidor onde existe o papel bem definido ea gente sabe que é um servidor e quem o cliente normalmente é o cliente quem faz a requisição em e se a requisição e o servidor vai atender o que vai atender à requisição que o cliente fez e vai devolver uma resposta então aqui a gente tem o que a gente tem aqui um cliente e esse lado aqui a gente tem então um
servidor o cliente é quem inicia né a requisição ele o a de maneira proativa o servidor então fornece o serviço ao processo um determinado serviço e esse serviço então é esse serviço então ele é o que ele é transferido há desculpa resposta desse serviço então transferida from cliente então eles são divididos em dois grupos servidor é o que é o processo está lembrando que eu existir tanto servidor com o cliente existe tanto a parte de errada assim com a parte de software então o servidor processo que implementa um serviço específico cliente é o processo que
vai requisitar um serviço para o servidor ea forma de interação aqui a requisição que a requisição resposta requisito quem e se a comunicação sempre o cliente o cliente requisito serviço serviço é processado então vem a resposta pro cliente não considerar essas aplicações a gente pode dividir essa arquitetura centralizada e na parte de interface na parte aqui é de processamento assim como na parte aqui de dados a interface processamento ea partir de dados em três níveis diferentes no modelo aí cliente servidor onde a interface aqui possui que prover meios gráficos ou textuais tá pra que o
serviço então possam ser requisitados e processados nas camadas aí mais baixas podem descer ambiente de é centralizado existe arquiteturas multi divididas e pra isso existe o que existe aí conceitos na de fé cliente assim como vem clientes os clientes são clientes o que são clientes mas como é que eu posso dizer mais gordos a gente conhece bastante fértil klamt thinklight fretes vende que de uma pessoa é mais saudável né ilsinho de uma pessoa mais magra né então se você for ver aqui ó existem várias organizações vária arquiteturas diferentes mesmo no ambiente o que é mesmo
ambiente centralizado né então nesse cenário aqui de cliente a gente tem o que a gente tem uma implementação mínima uma vez que o cliente ela possui pouco memória e pouco poder de processamento então aquela possui é essencialmente né ela é essencialmente ela vai possuir o que vai possuir apenas a interface sense lamentações que a parte de processamento da interface ela implementado no lado do cliente e nesse cenário aqui vocês podem ver que existe o que existe uma implementação maior lá do servidor servidor deve ser mais parrudo por assim dizer pra que ela possa então prover
o serviço para o lado aí do cliente é bom finalmente existe o que realmente existe os aqui seria o fim clique aqui existe uma arquitetura onde a gente tem um flash né um cliente aí um pouco mais parrudo então a gente tem toda a interface é implementada em toda parte impede a aplicação implementada e apenas a parte ditados o repositório de dados é disponibilizado no lado do servidor então dentro desse ambiente centralizado a gente pode possuir basicamente né duas arquiteturas diferentes dois tipos diferentes de clientes os fé cliente os cães mais gordas slim cliente que
seria o quê que seriam os clientes macros então existem dois arquiteturas diferentes onde existe uma distinção bem claras de arquitetura de duas divisões aqui né de servidor e de clientes bom assim como existe a arquitetura que ele chama de arquitetura de três divisões que seja a abertura de três divisões a arquitetura de três divisões seria o que seria o cliente primeiro eo segundo seria o servidor entretanto existem cenários a onde o servidor de aplicação ele pode servir também de que ele pode servir também como cliente então nesse cenário a gente tem o que a gente
tem uma arquitetura centralizada com três divisões o primeiro do cliente vamos dizer assim é o do cliente vai requisitar o serviço esse cliente vai requisitar o serviço para o servidor para servidor de aplicação por sua vez servidor de aplicação ele vai fazer o que vai fazer uma requisição para o servidor propriamente dito esse servidor propriamente dita então vai fazer todo o processamento a retornar para o servidor de aplicação esse servidor de aplicação que por sua vez vai retornar para o servidor para o cliente que requisitou inicialmente esse serviço não recebe faz a requisição o próprio
servidor de aplicação ela recebe a requisição e faz a requisição para o servidor que seria o terceiro bom esses são os é o que a gente falou de relacionada à arquitetura de sistemas distribuídos a gente citou sobre a arquitetura é centralizada net citou sobressai arquitetura multi divididas onde o cliente ela pode possui duas implementações diferentes da implementação aí de um cliente mais magro assim como o cliente mais gordo e onde o servidor é também né ele pode ser um servidor mais parrudo como vocês estão vendo aqui quem tem toda a implementação inclusive a implementação de
barro o banco de dados e onde a máquina a partir de banco em banco de dados também ela pode ser implementada né é é a partir de interface tanto no lado do cliente como no lado aí do servidor então isso é o que a gente é definiu nessa aula aqui é de hoje não existem outras arquiteturas é diferente que a gente vai estudar a gente viu apenas é essa arquitetura do centralizada e nas próximas aulas então a gente vai ver as duas arquiteturas né é diferente que seria arquitetura descentralizadas que se o acusado já a
definição seria basicamente onde um cliente e um servidor os processos elas podem o que podem servir tanto com o próprio é como cliente que assim com o processo o servidor é esses dois essas duas arquiteturas aqui vocês já viram inicialmente na disciplina de redes de computadores no ambiente aqui um ambiente de rede espírito p então nesse ambiente de perto pior a um determinado cliente ele pode ser um servidor e um determinado servidor ele pode ser o que pode ser um cliente agora quem é que vai definir aqui que vai definir se ele é um client
um servidor que inicia ou a comunicação entre entre os 22 entidades né segundo a agente tem o que a gente tem também uma arquitetura híbrida né nessa arquitetura híbrida existe o que existe um catálogo central então esse cliente aqui vai requisitar o serviço pro catálogo vai retornar o endereço do cliente ea partir daí ele vai realizar o que vai realizar uma comunicação o que é uma comunicação totalmente descentralizado então é a gente viu essa arquitetura centralizado e nessas duas nas próximas aulas então a gente vai ver essas do outras duas arquiteturas de sistemas distribuídos distintos
que seriam adquiridos e centralizadas e as arquiteturas piripiri então isso fica o assunto para a próxima aula e peço novamente que vocês leiam o conteúdo dessa gente citou hoje uma vez que eles são bastante importantes as redes sociais são todas baseadas em sistemas distribuídos sendo assim eles são bastante importantes para que vocês possam então entender e quem sabe até criar novas redes sociais não adianta que de puras nas redes sociais e aí se tornar um expoente de conhecimento nessa área obrigado gente [Música] [Música] [Música]