Skip to content

olist/palestra-microsservicos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Palestra desvendando uma arquitetura de microsserviços baseada em eventos

O projeto exemplifica uma simples plataforma de um departamento de trânsito, onde multas são criadas e estas são enviadas para os emails dos proprietários do veiculo multado.

Para a construção dessa plataforma de microsserviços, foi utilizada as seguintes tecnologias:

  • Boto3: É o SDK da AWS para Python, que permite desenvolvedores Python utilizarem serviços como o Amazon SNS e SQS em suas aplicações;
  • Django: É um framework web open source que lhe permitirá escrever aplicações web sem precisar reinventar a roda;
  • Django Rest Framework: É um kit de ferramentas que auxilia na criação de APIs REST em cima do framework Django;
  • Loafer: É um biblioteca que auxilia na construção de aplicações assíncronas que consumem mensagens enviadas para filas SQS;
  • SQS: É um serviço da AWS de filas de mensagens que permite o desacoplamento e a escalabilidade de microsserviços. Nosso microsserviço obterá as mensagens por meio de um fila SQS.
  • SNS: É um serviço da AWS de publicação de mensagens em tópicos que permite o desacoplamento de microsserviços. Nossa API irá publicar mensagens em um determinado tópico que possui uma fila SQS inscrita.

Diagrama de fluxo de envio de multas por email

imagens/fluxo-multa.png

Configurando o projeto

Esse projeto está todo configurado para rodar no Ubuntu e suas variações (Kubuntu, Xubuntu...). Também é esperado que você tenha o docker instalado no seu sistema operacional. Caso o docker ainda não esteja instalado siga este tutorial de instalação.

  1. Faça o clone do projeto executando o comando abaixo.
$ git clone https://github.com/olist/palestra-microsservicos.git
$ cd palestra-microsservicos
  1. Para instalar tudo que é necessario para rodar as apis e o serviço basta executar o comando abaixo.
~/palestra-microsservicos $ make inicializar_projeto

Levantando as aplicações

  • Para levantar a api de multas abra um terminal e execute o comando abaixo.
~/palestra-microsservicos $ make levantar_multa_api
  • Para levantar a api de veiculo abra um terminal e execute o comando abaixo.
~/palestra-microsservicos $ make levantar_veiculo_api
  • Para levantar o serviço de envio de multas abra um terminal e execute o comando abaixo.
~/palestra-microsservicos $ make levantar_envia_multa_servico

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •