Byron
an Event-Driven Microservices Framework
Trabalho de Conclusão de Curso
Bacharelado em Ciência da Computação
Instituto de Matemática e Estatística
Universidade de São Paulo
2019
Prof. Dr. Alfredo Goldman - IME-USP
Leonardo Lana Violin Oliveira
Autores:
B. Renato Cordeiro - IME-USP
Prof. Dr. Eduardo Guerra - INPE
Orientadores:
João Francisco Lino Daniel
introdução
Byron - an Event-Driven Microservices Framework
essenciais para sistemas online:
- disponibilidade
- confiabilidade
sistemas mais complexos
- maiores chances de falhas
- acoplamento entre partes
questões de pesquisa
Byron - an Event-Driven Microservices Framework
Q1 - É possível propor uma arquitetura que entregue consistência de dados a um componente de sistema, mesmo que seja consistência eventual?
Q2 - Assumindo a arquitetura proposta e considerando mais de um componente, ela sustenta a consistência eventual entre todos os componentes?
Q3 - A arquitetura proposta fornece desacoplamento entre as partes, tal que em caso de falha de uma, as demais não falhem também?
proposta
Byron - an Event-Driven Microservices Framework
Criar o Byron, um framework
reativo
lida com o problema de demanda, regulando os tempos de resposta e a comunicação interna
nativo à nuvem
construído pensando em infraestrutura automatizada e gerida externamente
fast-data
lida com dados como fluxos infinitos tratando assim que chegam à aplicação
contexto
Byron - an Event-Driven Microservices Framework
the system
componente
Byron - an Event-Driven Microservices Framework
estudo de caso
Byron - an Event-Driven Microservices Framework
Estudo de caso
consistência interna dos dados de um único componente
consistência dos dados de múltiplos componentes
desacoplamento de vários componentes com um falhando
Perses, sistema de gerenciamento de ICs em escolas
três cenários
estudo de caso
Byron - an Event-Driven Microservices Framework
consistência interna dos dados de um único componente
consistência dos dados de múltiplos componentes
desacoplamento de vários componentes com um falhando
Q1 - É possível propor uma arquitetura que entregue consistência de dados a um componente de sistema, mesmo que seja consistência eventual?
Q2 - Assumindo a arquitetura proposta e considerando mais de um componente, ela sustenta a consistência eventual entre todos os componentes?
Q3 - A arquitetura proposta fornece desacoplamento entre as partes, tal que em caso de falha de uma, as demais não falhem também?
conclusão
Byron - an Event-Driven Microservices Framework
- Análises positivas¹
- Como prova de conceito, Byron funciona
consistência interna dos dados de um único componente
consistência dos dados de múltiplos componentes
desacoplamento de vários componentes com um falhando
Os cenários
linha do tempo
Byron - an Event-Driven Microservices Framework
proposta
desenvolvimento da v1
teste com devs @ dev.camp()
TDD para desenvolvimento da v2
estudo de caso
monografia e documentos finais
abr
abr
jul
jul
jul
out
out
nov
nov
trabalhos futuros
Byron - an Event-Driven Microservices Framework
P1 - developer experience - Como as abstrações e o workflow do Byron beneficiam os times que o utilizam?
P2 - benchmarking - Como se comporta o gasto de tempo de troca de mensagens e, com isso, a consistência eventual de dados?
P3 - evolução técnica - Implementação de novas funcionalidades¹
Obrigado
repositório: gitlab.com/byron-framework/cli
documentação: byron.netlify.com
NPM: npmjs.com/package/@byronframework/cli
Byron
an Event-Driven Microservices Framework
Byron
By João Daniel
Byron
- 1,066