-
Notifications
You must be signed in to change notification settings - Fork 4
Home
With hundreds of services, each of them having tens of dependencies, managing and maintaining the tree of dependencies for an application is a cumbersome but necessary task. NAME is a library that helps you manage, expose and take decisions based on the state/version of your dependencies, by adding logic to fetch the state of yours and third-party dependencies. NAME does this by adding an endpoint to your application that exposes the service version and corresponding service dependencies state.
- Assisting in dependencies management.
- Help avoiding cascading dependencies problems.
- Expose useful service information.
- Expose dependencies state.
- Encourage developer participation in infrastructure definition.
In a micro-services environment the main source of problems are your dependencies, even if you have control over each of them you will sooner of later have issues with versions inconsistency.
With hundreds of services, each of them having tens of dependencies, managing and maintaining the tree of dependencies for a service may become a really long but important and necessary task, a mistake may result in a service connecting to a dependency with an unsupported version.
Problems like these usually manifest long after the deployment of services, diagnosing this kind of problems is not an easy task and may have an impact on your end-users.
That's were NAME comes in, by having NAME installed since day one you will have an endpoint for debugging dependencies issues, logs for when dependencies do not meet the requirements and, optionally, you can register all your services in a central location, all this with minimal impact on your existent ecosystem.
Specify your dependencies in a developer friendly JSON format. Keep you existing connection settings, using built-in locators.
Realtime recursive dependencies health check, including minimum/maximum version checks.
Optionally abort the application startup if any dependency reports an unhealthy state.
Expose the current status of the dependencies through a manifest, provided via endpoints in machine readable JSON format and human friendly table layout.
Optionally register all your services against a central registration service, with regular health checks and manifest snapshots using the established registration interface. Read more about it here.
Support for state checks of third-party services without the need for specific drivers/software. Currently we support version and state resolution for the following third-party dependencies:
- SQL Server 7 and above.
- MongoDB.
- RabbitMQ.
- Windows.
- Linux.
Copyright © NOS Inovação.