-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fail service registration if address is not provided
Add generic overview docs for stork features
- Loading branch information
1 parent
9eb376b
commit 338ac0c
Showing
11 changed files
with
135 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
### Load Balancer / Service Selection in SmallRye Stork | ||
|
||
Once services are registered and discovered, the next critical step is selecting which service instance will handle a given request. | ||
SmallRye Stork provides flexible load balancing strategies to efficiently distribute requests across multiple instances of a service. | ||
This ensures optimal resource usage, improved performance, and high availability. | ||
|
||
#### Key Features: | ||
- **Multiple Load Balancing Strategies**: SmallRye Stork supports several built-in strategies for selecting service instances. | ||
Check them out in the following dedicated sections. | ||
- **Customizable Strategies**: You can define custom service selection strategies based on your unique use case or performance requirements, ensuring that the load balancer can adapt to specific needs. | ||
|
||
#### How it Works: | ||
Once a service has been registered and discovered, the load balancer comes into play when a client makes a request to that service. | ||
Stork applies the configured load balancing strategy to select an instance from the available pool of discovered services. | ||
|
||
This feature ensures that your services remain responsive, scalable, and resilient, providing a smooth experience for both users and developers. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
### Service Discovery in SmallRye Stork | ||
|
||
As already introduced, service discovery is a crucial part of modern microservices architectures. | ||
It allows services to dynamically discover the location of other services at runtime, which is particularly useful in distributed systems where services may scale up or down, | ||
or change their network addresses. | ||
|
||
SmallRye Stork provides a flexible and extensible mechanism for service discovery. | ||
It supports out of the box some service discovery such as Kubernetes or Consul but the main strength of it is customization so you can easily create your own implementation related on your business for example. | ||
Stork allows services to communicate with each other without requiring hardcoded addresses, making it an ideal solution for microservices deployments. | ||
SmallRye Stork brings this capability to clients for Quarkus applications but it's vendor agnostic so you easily use it with other solutions and even in standalone mode. | ||
|
||
You can explore the different implementations and learn how to create your own in the following sections. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
### Service Registration in SmallRye Stork | ||
|
||
Service registration is the process by which services announce their availability to a central registry, allowing other services to discover and communicate with them. | ||
In SmallRye Stork, service registration is automated and integrated with supported registries like **Consul**. | ||
This ensures that services can dynamically join and leave the network. | ||
|
||
#### Key Features: | ||
- **Automatic Registration**: For Quarkus applications, SmallRye Stork automatically registers it with the configured service registry (e.g., Consul). | ||
|
||
**IMPORTANT** Public IP address needs to be provided. Smallrye Stork will fail if the service IP address is not provided during registration. | ||
|
||
#### Supported Registries: | ||
Currently, Smallrye Stork provides seamless integration with **Consul**, Eureka and a Static registry. | ||
This integration simplifies the management of dynamic environments where services are frequently added or removed. | ||
|
||
#### Custom Registration: | ||
In addition to the default mechanisms, SmallRye Stork allows you to implement custom service registration strategies, providing flexibility for different infrastructures or custom service discovery needs. | ||
|
||
In the following sections you can have more details about each specific implementation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters