-
Notifications
You must be signed in to change notification settings - Fork 14
Introduction
Heimdall is composed of six modules, where three of them are central to the project — Config, API and Gateway —, being built around certain business domains.
Spring Cloud Config is a horizontally scalable centralized configuration service for distributed systems. It uses a pluggable repository layer that currently supports local storage, Git, and Subversion.
In this project, we use native profile which loads config files from the local classpath. You can look into shared directory in Config service resources. Now, when Heimdall-api requests its configuration, Config service responds with shared/application-api.yml.
We built our algorithm on top of Netflix Zuul. We put some steroids on the Zuul Filters and added some criteria to make the routes matching more rigid (like the HTTP Verb on the match). Plus, to manage the request/response and Zuul Filters flow, we applied a message broker (RabbitMQ) to communicate with the API.
To present an easy way to manage the gateway, we implemented an API to make it easier to add new routes, interceptors, rate limit and others things to manipulate the gateway at runtime.
Heimdall can be easily deployed to Heroku clicking on this button:
alternatively, executing the commands:
$ heroku login
$ heroku create
$ git push heroku master
$ heroku openHeimdall is open source, and we appreciate your help. Feel free to contribute.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface. Including new environment variables, exposed ports, useful file locations and container parameters.
- Your Pull Request will be merged once it is sign-off by one of the project owners.
Only Heimdall subteam members should create new issues in this repo. If you believe a project should be added within the tracker, please leave a comment on the appropriate "parent" issue, i.e., one of the issues on the repository. Moreover, in general, feel free to use comments to ask questions, pitch ideas, or mention updates that need to be made!
Heimdall Gateway
Website | Demo | Conductor Tecnologia SA
-
English
-
Português
-
Interceptors
-
Funcionalidades
