SlideShare uma empresa Scribd logo
Load Shedding,
Backpressure, CDC,
Hypervisor Docker
Gabriel Passos
Request
Load Shedding
● Negar requests para evitar que o serviço caia
○ Cenários:
■ Se uma instância cair as outras instâncias vão sofrer com uma sobre carga, potencialmente
derrubando essas outras instâncias.
■ Se um microsserviço demora para dar uma resposta, quem fez a request está esperando e assim por
diante gerando uma latência e problema geral.
● Como fazer?
○ Configurar no serviço?
■ Instância A conhece da saúde da Instância B?
■ Requisição chegando na instância sobrecarregada mesmo que negada vai consumir recurso.
○ Configurar no load balance?
■ Pulling nas instâncias (/health)?
■ Por que não subir outra instância?
○ Produtor?
■ Quem vistoria o produtor?
Load Shedding
Backpressure
● Quando o processo de baseado em um input/request em um output sofre algum tipo de resistência,
interferência, demora.
● Soluções:
○ Controlar o produtor
○ “Estocar” as requisições e processa-las posteriormente
○ Deletar/Ignorar requisições
Backpressure
Control Producers
Buffering
Change data capture
● Baseado em um estado de uma entidade persistida, propagar eventos em caso de mudanças
● Baseado em uma data
○ Se data persistida é mais recente que a último evento, considera-se que aconteceu uma mudança
● Versionamento
○ Quando uma tupla é atualizada, sua versão também é atualizada
○ Poderia fazer o update com versão no where, caso falhe, já existe uma versão mais atualizada
● Status
○ Campo (bool) informando se registro foi atualizado
● Combinações das técnicas anteriores
● Log Scanner
○ Monitorar os logs da database e a partir destes publicar um evento
○ Serviço específico
Hypervisor
● Software, Hardware, Firmware que executa máquinas virtuais.
● Host, Guest
● Gerencia a alocação de recursos do host para n guests.
Hypervisor
Docker
● Namespaces:
○ Aspectos do container estão em namespaces diferentes
■ PID (Process ID) - Processo pai vem os “filhos”, e não vê seus irmãos
■ NET - Isola as os controladores de interface (físicos e virtuais), tabelas de ip e roteamento, firewall,
etc.
■ IPC - Processo de inter comunicação entre namespaces
■ MNT - Sistema de arquivos
■ UTS - Permite mudar o hostname
● Permissions:
○ Acesso de root internamente do container e é feito um map para o exterior:
■ /etc/subuid
■ /etc/subgid
Docker
● Control Groups
○ Compartilhamento do hardware com o container
○ Limitar o uso da memória por parte do container
○ Grupos de controle:
■ CPU
■ Memória
■ Banda de rede
■ Disco
■ Prioridade
○ Capacidade de alocação de recursos para o container
Docker
● Network
● Comunicação entre containers ou container e outro sistema
● Independente do SO
● Bridge:
○ Padrão
○ User Defined
● Host:
○ Usa a network do host
● Overlay:
○ Conecta diferentes containers para se comunicarem,
● Macvlan:
Outros players
● LXC Linux Containers
○ “containers which offer an environment as close as possible as the one you'd get from a VM”
● Mesos Containerizer

Mais conteúdo relacionado

PPTX
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
PDF
Gerenciamento de processos Linux
PDF
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
PDF
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
PPTX
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
PPTX
ASP.NET - Cache
PDF
Automação de Data Center
PDF
Docker: Introdução à Conteinerização de Apps e Nuvem.
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
Gerenciamento de processos Linux
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
1º Meetup Zabbix Meetup do Recife: Francys Nivea - LLD ODBC
ASP.NET - Cache
Automação de Data Center
Docker: Introdução à Conteinerização de Apps e Nuvem.

Semelhante a Load shedding, backpressure, cdc, hypervisor, docker (20)

PPTX
Docker - Um capitulo à parte
PDF
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
PDF
Docker | Meetspark - #2
PDF
Virtualização
PDF
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
PDF
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
PDF
Talk no Meetup LaravelSP #3
PDF
SI - Processos, Threads, Virtualização e Migração de Código
PDF
Beers & Bytes - O Futuro da virtualização
PDF
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
PDF
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
PDF
Afinal, o que é Docker? (Meetup Laravel #12)
PDF
Do princípio a Cloud : Uma Breve História de Serviços Online.pdf
PPT
Virtualização.ppt
PDF
Docker.io:
PDF
Monografia_Apolonio_UnB_Invasao
PDF
Service mesh com Istio [pt-br]
PDF
Um novo modelo de implantação do SEI no governo
PPSX
Apresentação HyperCloud GT8
Docker - Um capitulo à parte
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Docker | Meetspark - #2
Virtualização
Comparação de Desempenho entre máquinas virtuais e containers - por Bruno Rod...
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Talk no Meetup LaravelSP #3
SI - Processos, Threads, Virtualização e Migração de Código
Beers & Bytes - O Futuro da virtualização
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Afinal, o que é Docker? (Meetup Laravel #12)
Do princípio a Cloud : Uma Breve História de Serviços Online.pdf
Virtualização.ppt
Docker.io:
Monografia_Apolonio_UnB_Invasao
Service mesh com Istio [pt-br]
Um novo modelo de implantação do SEI no governo
Apresentação HyperCloud GT8
Anúncio

Mais de Gabriel Passos (6)

PDF
Aws glue
PDF
Apache kafka
PPTX
Hot and cold observables, overlay
PPTX
Event sourcing
PPTX
Versioning rest api's
Aws glue
Apache kafka
Hot and cold observables, overlay
Event sourcing
Versioning rest api's
Anúncio

Último (8)

PPTX
Mecânico de Manutenção de Equipamentos.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Mecânico de Manutenção de Equipamentos.pptx
Manejo integrado de pragas na cultura do algodão
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Arquitetura de computadores - Memórias Secundárias
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...

Load shedding, backpressure, cdc, hypervisor, docker

  • 3. Load Shedding ● Negar requests para evitar que o serviço caia ○ Cenários: ■ Se uma instância cair as outras instâncias vão sofrer com uma sobre carga, potencialmente derrubando essas outras instâncias. ■ Se um microsserviço demora para dar uma resposta, quem fez a request está esperando e assim por diante gerando uma latência e problema geral. ● Como fazer? ○ Configurar no serviço? ■ Instância A conhece da saúde da Instância B? ■ Requisição chegando na instância sobrecarregada mesmo que negada vai consumir recurso. ○ Configurar no load balance? ■ Pulling nas instâncias (/health)? ■ Por que não subir outra instância? ○ Produtor? ■ Quem vistoria o produtor?
  • 5. Backpressure ● Quando o processo de baseado em um input/request em um output sofre algum tipo de resistência, interferência, demora. ● Soluções: ○ Controlar o produtor ○ “Estocar” as requisições e processa-las posteriormente ○ Deletar/Ignorar requisições
  • 9. Change data capture ● Baseado em um estado de uma entidade persistida, propagar eventos em caso de mudanças ● Baseado em uma data ○ Se data persistida é mais recente que a último evento, considera-se que aconteceu uma mudança ● Versionamento ○ Quando uma tupla é atualizada, sua versão também é atualizada ○ Poderia fazer o update com versão no where, caso falhe, já existe uma versão mais atualizada ● Status ○ Campo (bool) informando se registro foi atualizado ● Combinações das técnicas anteriores ● Log Scanner ○ Monitorar os logs da database e a partir destes publicar um evento ○ Serviço específico
  • 10. Hypervisor ● Software, Hardware, Firmware que executa máquinas virtuais. ● Host, Guest ● Gerencia a alocação de recursos do host para n guests.
  • 12. Docker ● Namespaces: ○ Aspectos do container estão em namespaces diferentes ■ PID (Process ID) - Processo pai vem os “filhos”, e não vê seus irmãos ■ NET - Isola as os controladores de interface (físicos e virtuais), tabelas de ip e roteamento, firewall, etc. ■ IPC - Processo de inter comunicação entre namespaces ■ MNT - Sistema de arquivos ■ UTS - Permite mudar o hostname ● Permissions: ○ Acesso de root internamente do container e é feito um map para o exterior: ■ /etc/subuid ■ /etc/subgid
  • 13. Docker ● Control Groups ○ Compartilhamento do hardware com o container ○ Limitar o uso da memória por parte do container ○ Grupos de controle: ■ CPU ■ Memória ■ Banda de rede ■ Disco ■ Prioridade ○ Capacidade de alocação de recursos para o container
  • 14. Docker ● Network ● Comunicação entre containers ou container e outro sistema ● Independente do SO ● Bridge: ○ Padrão ○ User Defined ● Host: ○ Usa a network do host ● Overlay: ○ Conecta diferentes containers para se comunicarem, ● Macvlan:
  • 15. Outros players ● LXC Linux Containers ○ “containers which offer an environment as close as possible as the one you'd get from a VM” ● Mesos Containerizer