Creating RESTful APIs with Spring Boot is a straightforward process, making it a popular choice for a variety of applications, from UI to batch processing. The same API created can be used anywhere, whether it’s called from a UI application or batch applications. However, testing these APIs to ensure they work correctly can be challenging. In this article, I’ll introduce …
What is the Process of Building Microservices Using Spring Boot?
Microservices architecture has gained immense popularity due to its ability to break down complex systems into smaller, manageable services. When it comes to implementing microservices, Spring Boot emerges as a leading framework, offering developers a robust toolkit to build scalable and resilient applications. In this guide, we will explore the process of building microservices using Spring Boot, covering everything from …
Spring Boot With GraphQL: What The Cool Kids Are Doing
Attention: The following article was published over 3 years ago, and the information provided may be aged or outdated. Please keep that in mind as you read the post.This article is going to introduce you to Spring Boot with GraphQL. We’ll walk through a simple beer app to show you what it can do. So you have built this really …
Spring Boot & Apache Camel: Navigating the Data Processing Desert
This article will set up a basic Spring Boot app that incorporates Apache Camel to move some sample files around.
If you are like me, you find that flat-file processing can be pretty dry. Considering what Apache Camel does, its name is very fitting. While there are plenty of reasons for the name, it definitely makes sense that Apache Camel does a lot of lugging things around for you…
Centralizing Configurations with Spring Cloud Config
When the Microservices approach became popular a few years ago, many companies rushed to build their own microservices or to convert their legacy applications into microservices. Over the years, companies have implemented an abundance of microservices, mostly with Spring Boot. Each of them manage their own configurations across deployment environments like Dev, Test, and Prod.
Due to the nature of a complex business process, there are many common configurations (e.g. databases, queues, email servers, and FTP servers, etc.) used in the distributed services. This can result in services having redundant and confusing configs on a distributed system. It can become challenging to update the configs for too many services on a distributed system across multiple environments.
Thankfully, Spring Cloud Config provides the implementation to successfully resolve these issues. It provides server-side and client-side support for externalized configuration in a distributed system. With the Config Server, you have a central place to manage external properties for applications across all environments. The concepts on both client and server map identically to the Spring Environment and PropertySource abstractions, so they fit very well with Spring applications.
In this post, I’ll demonstrate Config Server and Client with example code. I’ll show you how to use Git or a local repository as a central place to store all the config files. The diagram below illustrates how the distributed client services (e.g. Investment Position/Price/Reporting Data service) fetch their configuration from the Config Server, which in turn retrieves them from one central place.