Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add content /pt/client server architecture.md #398

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions content/pt/client_server_architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Arquitetura Cliente-Servidor
status: Completed
category: concept
---

## O que é

Em uma arquitetura cliente-servidor (client-server), a lógica (ou código) que compõe uma aplicação é dividida entre dois ou mais componentes: O Cliente, ele solicita uma função a ser executada (por exemplo, o site do Gmail sendo executado no seu navegador) e em um ou mais servidores que atendem essa requisição (por exemplo, o serviço "enviar-email" executado nos computadores do Google na nuvem).
Isso é diferente dos softwares legados que normalmente eram independentes (como softwares de desktop na década de 1990) e faziam todo o trabalho em um só lugar (no nosso exemplo, o e-mail é enviado pelos servidores da Google e não pelo seu computador).

## Qual problema é resolvido

Uma arquitetura cliente-servidor (client-server), resolve um grande desafio que as aplicações/softwares independentes representam: atualizações constantes e regulares. Em uma aplicação/software independente, para cada atualização, os usuários teriam que baixar e instalar a versão mais recente. Imagina você ter que baixar todo o catálogo de produtos da Amazon para o seu computador, antes de poder navegar no site!

## No que isso ajuda

Ao implementar o software/aplicação em um servidor remoto, os servidores podem atualizá-lo sem precisar alterar a logica no lado do cliente. Isso siginifica que as atualizações podem ser feitas com muito mais frequência. Armazenar dados no servidor permite que muitos clientes vejam e compartilhem os mesmos dados. Considere a diferença entre usar um editor de texto online, comparado a um editor de texto offline tradicional. No primeiro, seus arquivos existem no lado do servidor e podem ser compartilhado com outros usuários, onde o download é realizado automaticamente. No mundo legado, os arquivos precisavam ser copiados para algum dispositivo removível (disquetes, pen drives, cd's) e aí compartilhar com alguém.