Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service Registry pattern #383

Open
npathai opened this issue Feb 16, 2016 · 11 comments
Open

Service Registry pattern #383

npathai opened this issue Feb 16, 2016 · 11 comments

Comments

@npathai
Copy link
Contributor

npathai commented Feb 16, 2016

Description

The Service Registry design pattern is a central service registry that maintains a database of available services. It acts as a lookup mechanism, allowing services to register themselves and clients to discover services. This pattern is crucial for service-oriented architectures (SOA) and microservices, facilitating dynamic discovery and decoupling of service consumers and providers.

Main Elements of the Pattern

  1. Service Registry: A central database that holds the details of available services, such as their network locations and interfaces.
  2. Service Provider: Registers its service with the service registry, providing metadata such as the service name, version, and network address.
  3. Service Consumer: Queries the service registry to find services and obtain their metadata for consumption.
  4. Heartbeat Mechanism: Ensures that the service registry has up-to-date information about the service availability through periodic heartbeat messages from the service providers.

References

Acceptance Criteria

  1. Implement a basic service registry that can register services and allow querying for service details.
  2. Include a heartbeat mechanism for service providers to periodically update their status in the registry.
  3. Provide example implementations of a service provider registering itself and a service consumer querying the registry.
@Aravamudhan
Copy link

@npathai @iluwatar I am working on this pattern. Please add under construction tag to this issue. Thanks.

@npathai
Copy link
Contributor Author

npathai commented Mar 1, 2016

@Aravamudhan Sure. I would suggest you to discuss the approach. We may need some microservice toolkit for this.

@Aravamudhan
Copy link

@npathai We can use Spring boot. I deployed the app in my machine. It worked quite well. Please let me know if that is fine.

@npathai
Copy link
Contributor Author

npathai commented Mar 2, 2016

@Aravamudhan Yes that would be fine 👍 I haven't used Sprint Boot personally though.

@Aravamudhan
Copy link

@npathai Even I never used it before. Recently came across it. It makes creating apps and deploying them extremely simple. Since in this pattern we need to deploy few apps, by using Spring boot, we do not even need a server or db connection for deploying the applications we create.

@iluwatar
Copy link
Owner

@Aravamudhan are you still working on this?

@Aravamudhan
Copy link

@iluwatar I apologize for not informing before. No I am not currently working on this pattern.

@iluwatar
Copy link
Owner

It's ok. I'll change the labels to indicate this issue is free for taking again.

@javatlacati
Copy link

I knew this as Service Discovery, and the service registry as a part of it. https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/

@ved-asole
Copy link
Contributor

HI @iluwatar, please let me know if I can work on the above PR. I would like to contribute here.

Copy link

stale bot commented Nov 16, 2023

This issue has been automatically marked as stale because it has not had recent activity. The issue will be unassigned if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status: stale issues and pull requests that have not had recent interaction label Nov 16, 2023
@stale stale bot removed the status: stale issues and pull requests that have not had recent interaction label Mar 24, 2024
@iluwatar iluwatar added info: help wanted status: stale issues and pull requests that have not had recent interaction labels Mar 24, 2024
@stale stale bot removed the status: stale issues and pull requests that have not had recent interaction label Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants