Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 2.34 KB

README.md

File metadata and controls

86 lines (66 loc) · 2.34 KB

BFF

NPM

API com padrão arquitetural BFF e microserviços com Clean Architecture.

Papel do BFF

o BFF atua como uma interface simples entre o frontend e os microsserviços.

Vantagens

  • Separação das responsabildiades;
  • Fácil manutenção;
  • Melhor tratamento de erros no frontend;
  • Vários tipos de dispositivos podem chamar o back-end em paralelo;
  • Melhora a segurança;
  • Propriedade compartilhada de componentes pela equipe.

Desvantagens

  • Aumenta a latência;

BFF é semelhante a um servidor proxy entre o cliente e outras APIs externas, serviços, etc. Se a solicitação tiver que passar por outro componente, com certeza aumentará a latência. No entanto, a latência do BFF é insignificante em comparação com o alto uso de recursos do navegador se ele precisar trabalhar com vários serviços não otimizados para o frontend.

Stack

  • NodeJs/Express;
  • Typescript;
  • Docker (MongoDB, Redis);
  • Jest;

Padrão de projeto

Árvore do BFF

src
├── app.ts
├── framework
│   └── integrations
├── infra
│   ├── datasource
│   ├── httpclients
│   └── loggers
├── main
│   ├── adapters
│   ├── configs
│   ├── containers
│   ├── errors
│   ├── helpers
│   ├── index.ts
│   ├── mappers
│   ├── middlewares
│   └── routes
├── presentation
│   ├── contracts
│   ├── controllers
│   └── helpers
└── usecases
    ├── contracts
    ├── helpers
    └── user.usecase.ts

Referências

👉 O padrão BFF (Backend para Frontend): uma introdução
👉 BFF SoundCloud

Profile Made with 💙 by Enéas Almeida