- Check setup.md for setup details
- Cloud Gateway is broken
Surfing the internet, we come across resources that we might need for later use or maybe store them for a current project we are working on. This is where project Urlink comes in. It helps the user create multiple collections which can store multiple URLs with description for later access.
- The project is created using Spring Boot, a framework for creating back-end and microservices using Java, with - MySQL as database.
- The project is deployed to Azure Spring Cloud and connected to Azure MySQL single server database
- The code is divided into 5 modules and 3 micro-services, 1 cloud-gateway, 1 shared module containing models, - DTOs etc.
- All microservice discover each other using Eureka service registry and internally requests are load balanced - going from one micro-service to another.
- All microservices perform database operations using Spring Data JPA library.
- All micro-service implemented according to Open-API specification and documented using swagger.
- All database models are abstracted from the user end using Data Transfer Objects ( DTOs )
- You can send HTTP requests to individual micro-services but to make our infrastructure more resilient, we - implemented cloud gateway and circuit breaker for all requests to traverse through it and in-case of any - failure, handle the fallback and inform the user about the same.
- Configurations are loaded into the system using the config server using git and azure service binding.
- Service Registry and Cloud Config server are integrated and fully-managed by Azure spring cloud.
- Modules are packaged in .jar files and deployed to azure spring cloud from azure devops build pipeline
- For distributed tracing and logging, we added zipkin and sleuth libraries which integrate with the AppInsights dashboard for Azure