In a previous post, we have talked about how we are managing the configurations. In the light of twelve-factor apps, the configurations are externalized. By the same token, we will see how we can continuously deploy our developments to production rapidly and safely.
“Continuous Delivery is the ability to get changes of all types — including new features, configuration changes, bug fixes and experiments — into production, or into the hands of users, safely and quickly in a sustainable way.”
On the other hand, one of the main purposes of the microservice architecture is to provide atomic and rapid…
While our software projects evolve, they must be in good quality. Thus, we apply practices like TDD and pair programming. Besides, we can benefit from quality measurement tools like Sonarqube. Above all, in this post, we are going to check out how we can configure Spring boot 2.2.6 with Sonarqube 8.2.
Below components are used for the sample project:
Before starting the example, let’s learn what are these plugins for.
This plugin provides a Sonar Scanner for Maven. When we run the plugin’s goal with `sonar:sonar`, the…
To begin with, one of the most critical topics of an application environment is the configurations. Moreover, every app has at least two environments: test & prod. For example, a basic application needs at least four or five configurations. When you multiply these you got 10 config params.
By the same token, for an enterprise application, you need additional test environments like stage & QA. At the same time, you’ll have at least 10 or 20 apps per development team. When we multiply these 5 (environments) * 5 (config params) * 20 (applications) -> at least 500 configuration key and…
To begin with, in an event-driven microservice architecture, services communicate each-other via event messages. When business events occur, producers publish them with messages. At the same time, other services consume them through event listeners.
Thus, the main benefits of event-driven systems are asynchronous behavior and loosely coupled structures. For example, instead of requesting data when needed, apps consume them via events before the need. Therefore overall app performance increases. On the other hand, keeping coupling loose is one of the main key points of a microservice environment.
As well as you can build your systems with event-driven structures, you can…
In Trendyol Marketplace team, we needed a centralized job executor service. In detail, the need is to trigger the desired asynchronous events across microservices. In this post, you are going to read the details about the Trendyol Scheduler Service.
You can access the Github repo via this link.
Scheduler Service is a Spring Boot app with version 2.1.0.RELEASE. To begin with, for the database it uses PostgreSQL version 9.6.12. For cache and concurrency purposes, Couchbase 6.0.0 is set. Also, to be able to create job descriptions asynchronously, it provides a queueing mechanism via RabbitMQ 3.7.8.
At the present time, this…