Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joshlong-attic/bootiful-microservice-configuration
https://github.com/joshlong-attic/bootiful-microservice-configuration
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/joshlong-attic/bootiful-microservice-configuration
- Owner: joshlong-attic
- Created: 2014-11-21T22:14:24.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-03-22T06:11:43.000Z (almost 10 years ago)
- Last Synced: 2024-04-13T19:27:32.013Z (9 months ago)
- Language: Java
- Size: 121 KB
- Stars: 1
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.asc
Awesome Lists containing this project
README
Bootiful Microservice Configuration
===================================This accompanies a talk that looks at how Spring supports configuration at the various tiers.
It starts with http://spring.io/projects/spring-framework[Spring Framework], which provides the `Environment` abstraction, a concept of _profiles_ and the `@PropertySource` annotation.
Then, it looks at how Spring Boot's next-level support for configuration. Spring Boot normalizes external configuration (like `-D` arguments and environment variables) and even goes as far as canonicalizing external configuration properties such that, for example, the shell variable `SERVER_PORT` is the same as `-Dserver.port`, which is the same as putting `server.port` in a `.properties` file. Spring Boot also adds novel support for `.yml` configuration files. Spring Boot will, by convention, look for `src/main/resources/application.properties` and `src/main/resources/application.yml`, too.
Then, we look at how Spring Cloud supports cloud-native applications and operational requirements by supporting journaled, centralized configuration for multiple applications and services through the Spring Cloud config server. The Spring Cloud config server is backed by a http://en.wikipedia.org/wiki/Git_%28software%29[Git]. This promotes traceability and easier updates to configuration since there's no need to re-push an application just to change its configuration. Additionally, Spring Cloud supports _refreshing_ configuration for beans _in-situ_ through the `/refresh` Actuator endpoint and through the Spring Cloud event bus (which uses RabbitMQ as a message bus to propagate configuration changes to all connected applications or services).