Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thallyta-castro-cv/ms-alurafood
O projeto desenvolvido é sobre uma implementação de microserviços com Spring Cloud, sobre um sistema eficiente e escalável para gerenciar pedidos e pagamentos em uma arquitetura de microserviços. O projeto utiliza tecnologias como Eureka, Gateway, OpenFeign e Load Balancer.
https://github.com/thallyta-castro-cv/ms-alurafood
java open-feign spring-cloud spring-cloud-eureka spring-cloud-gateway
Last synced: about 1 month ago
JSON representation
O projeto desenvolvido é sobre uma implementação de microserviços com Spring Cloud, sobre um sistema eficiente e escalável para gerenciar pedidos e pagamentos em uma arquitetura de microserviços. O projeto utiliza tecnologias como Eureka, Gateway, OpenFeign e Load Balancer.
- Host: GitHub
- URL: https://github.com/thallyta-castro-cv/ms-alurafood
- Owner: thallyta-castro-cv
- Created: 2024-01-14T21:45:06.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-08-27T00:11:16.000Z (4 months ago)
- Last Synced: 2024-08-28T00:58:15.500Z (4 months ago)
- Topics: java, open-feign, spring-cloud, spring-cloud-eureka, spring-cloud-gateway
- Language: Java
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microserviço de pedidos e pagamentos com Spring Cloud
Este projeto foi criado com Spring e Spring Cloud e se trata de um monorepo de dois microserviços: pedidos e pagamentos, bem como os
recursos necessários para sua implementação e integração.# Sobre o projeto
Este projeto foi desenvolvido como parte do curso da Alura sobre implementação de microserviços com Spring Cloud, com o propósito de criar um sistema eficiente e escalável para gerenciar pedidos e pagamentos em uma arquitetura de microserviços. O projeto utiliza tecnologias como Eureka, Gateway, OpenFeign e Load Balancer para oferecer uma solução completa.# Objetivo
O objetivo principal deste microserviço é fornecer uma base sólida para consultas futuras e servir como referência para a
implementação de funcionalidades e arquitetura de microserviços em projetos semelhantes.# Tecnologias Utilizadas
| Tecnologia | Função | Descrição | Implementação |
|----------------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
| Eureka | Serviço de Registro e Descoberta | Eureka é utilizado para registrar e descobrir microserviços na arquitetura, facilitando a comunicação entre eles. Cada microserviço se registra no servidor Eureka, permitindo que outros serviços descubram e se comuniquem de maneira eficiente. | Projeto `server` |
| Gateway | Roteamento e Agregação | O Gateway atua como um ponto de entrada único para a arquitetura de microserviços. Ele roteia as requisições do cliente para os microserviços apropriados e pode realizar a agregação de dados provenientes de diferentes serviços. | Projeto `gateway` |
| OpenFeign | Cliente HTTP Declarativo | OpenFeign simplifica as chamadas de serviço HTTP entre microserviços. Ele permite que as chamadas sejam feitas de forma declarativa, reduzindo a complexidade do código e facilitando a integração entre os serviços. Neste projeto, o microserviço de pagamentos se comunica com pedidos para informar que o pedido foi pago. | Projeto `pagamentos` |
| Load Balancer | Distribuição de Carga | O Load Balancer distribui o tráfego entre várias instâncias dos microserviços, garantindo que a carga seja distribuída de maneira equitativa. Isso melhora a escalabilidade e a confiabilidade do sistema. Neste projeto, o gateway registra todas as instâncias de auto scaling e distribui a carga entre elas. | Projeto `gateway` |
| Resilience4j + Spring AOP | Circuit Breaker | O *Resilience4j* é utilizado para implementar a estratégia de *Circuit Breaker* no microserviço de pagamentos. Combinado com *Spring AOP*, ele ajuda a proteger o sistema contra falhas temporárias, evitando sobrecarga e degradação de serviços quando outro serviço está indisponível. | Projeto `pagamentos` |# Organização dos projetos
| Projeto | Descrição |
|------------|--------------------------------------------------------------------------------------|
| pagamentos | Microserviço de pagamento. |
| pedidos | Microserviço de pedidos. |
| server | Projeto com serviço de descoberta Eureka Server usando Spring Cloud Netflix. |
| gateway | Projeto com implementação de endereço que faz as requisições e delega para o microsserviço certo e faz o balanceamento de carga automaticamente em instâncias que são escaladas. |# Autor
Thallyta Macedo Carvalho de CastroLinkedin: https://www.linkedin.com/in/thallyta-castro/
Medium: https://medium.com/@thallyta-castro-cv
email: [email protected]