Skip to content

Commit

Permalink
Add generic overview docs for stork features
Browse files Browse the repository at this point in the history
  • Loading branch information
aureamunoz committed Oct 21, 2024
1 parent bacbf03 commit ecd477d
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 0 deletions.
16 changes: 16 additions & 0 deletions docs/docs/load-balancer/overview.md
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.
12 changes: 12 additions & 0 deletions docs/docs/service-discovery/overview.md
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.
19 changes: 19 additions & 0 deletions docs/docs/service-registration/overview.md
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.
3 changes: 3 additions & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ nav:
- Javadoc: 'https://javadoc.io/doc/io.smallrye.stork/smallrye-stork-api/latest/index.html'
- Using Stork with Quarkus: './quarkus.md'
- Service Discovery:
- Overview: 'service-discovery/overview.md'
- Consul: 'service-discovery/consul.md'
- DNS: 'service-discovery/dns.md'
- Kubernetes: 'service-discovery/kubernetes.md'
Expand All @@ -23,6 +24,7 @@ nav:
- Static List: 'service-discovery/static-list.md'
- Custom Service Discovery: 'service-discovery/custom-service-discovery.md'
- Load-Balancing:
- Overview: 'load-balancer/overview.md'
- Round Robin: 'load-balancer/round-robin.md'
- Random: 'load-balancer/random.md'
- Least Requests: 'load-balancer/least-requests.md'
Expand All @@ -31,6 +33,7 @@ nav:
- Sticky: 'load-balancer/sticky.md'
- Custom Load Balancer: 'load-balancer/custom-load-balancer.md'
- Service Registration:
- Overview: 'service-registration/overview.md'
- Consul: 'service-registration/consul.md'
- Eureka: 'service-registration/eureka.md'
- Static List: 'service-registration/static-list.md'
Expand Down

0 comments on commit ecd477d

Please sign in to comment.