All Projects → RussellLuo → superdiscoverer

RussellLuo / superdiscoverer

Licence: other
A Supervisor backed service discoverer for automatic service-discovery.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to superdiscoverer

Monexec
Light supervisor on Go (with optional Consul autoregistration)
Stars: ✭ 132 (+780%)
Mutual labels:  consul, supervisor
sample-kotlin-ktor-microservices
sample microservices written in Kotlin that demonstrates usage of Ktor framework woth Consul server
Stars: ✭ 37 (+146.67%)
Mutual labels:  consul, service-discovery
Hippo
💨A well crafted go packages that help you build robust, reliable, maintainable microservices.
Stars: ✭ 134 (+793.33%)
Mutual labels:  consul, service-discovery
Eureka Consul Adapter
This project contains a Spring Boot Starter that registers HTTP endpoints on a Spring Cloud Eureka server to support Prometheus's service discovery mechanism for Consul (<consul_sd_config>)
Stars: ✭ 93 (+520%)
Mutual labels:  consul, service-discovery
rkt-compose
CLI to run Docker Compose file as pod on rkt with integrated service discovery using Consul - EOL
Stars: ✭ 24 (+60%)
Mutual labels:  consul, service-discovery
User.api
集成网关、身份认证、Token授权、微服务、.netcore等的基于CQRS的微服务开发框架示例
Stars: ✭ 109 (+626.67%)
Mutual labels:  consul, service-discovery
kongsul
Kong Api Gateway with Consul Service Discovery (MicroService)
Stars: ✭ 35 (+133.33%)
Mutual labels:  consul, service-discovery
Docker Alpine
Docker containers running Alpine Linux and s6 for process management. Solid, reliable containers.
Stars: ✭ 574 (+3726.67%)
Mutual labels:  consul, service-discovery
hazelcast-consul-discovery-spi
Consul based discovery strategy SPI for Hazelcast enabled applications
Stars: ✭ 47 (+213.33%)
Mutual labels:  consul, service-discovery
blogr-pve
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.
Stars: ✭ 28 (+86.67%)
Mutual labels:  consul, service-discovery
Containerpilot
A service for autodiscovery and configuration of applications running in containers
Stars: ✭ 1,078 (+7086.67%)
Mutual labels:  consul, service-discovery
seagull
Configuration server submodule for all SeaSerives
Stars: ✭ 19 (+26.67%)
Mutual labels:  consul, service-discovery
Sample Vertx Microservices
Two applications in different branches illustrates how to create asynchronous microservices with Vert.x, Consul and MongoDB, and how to secure them with Vert.x OAuth2 module and Keycloak
Stars: ✭ 37 (+146.67%)
Mutual labels:  consul, service-discovery
Library
A microservice project using .NET Core 2.0, DDD, CQRS, Event Sourcing, Redis and RabbitMQ
Stars: ✭ 122 (+713.33%)
Mutual labels:  consul, service-discovery
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (+4586.67%)
Mutual labels:  consul, service-discovery
Condenserdotnet
API Condenser / Reverse Proxy using Kestrel and Consul, Including light weight consul lib
Stars: ✭ 147 (+880%)
Mutual labels:  consul, service-discovery
Ansible Consul
📡 Ansible role for Hashicorp Consul clusters
Stars: ✭ 320 (+2033.33%)
Mutual labels:  consul, service-discovery
Registrator
Service registry bridge for Docker with pluggable adapters
Stars: ✭ 4,558 (+30286.67%)
Mutual labels:  consul, service-discovery
Uragano
Uragano, A simple, high performance RPC library. Support load balancing, circuit breaker, fallback, caching, intercepting.
Stars: ✭ 28 (+86.67%)
Mutual labels:  consul, service-discovery
consul-examples
Example usages of consul functionality.
Stars: ✭ 88 (+486.67%)
Mutual labels:  consul, service-discovery

Superdiscoverer

A Supervisor backed service discoverer, which will automatically register and deregister services according to the corresponding event notifications sent by Supervisor.

Superdiscoverer supports pluggable service registries, which currently only includes Consul.

Installation

$ go get -u github.com/RussellLuo/superdiscoverer/cmd/superdiscoverer

Quick start

1. Add superdiscoverer as an event listener

Suppose that:

  • Your target service's process name in Supervisor is test, and it is listening on 127.0.0.1:8000
  • Use consul as an underlying service registry, and Consul is listening on 127.0.0.1:8500

then a typical Supervisor configuration is as follows:

[eventlistener:superdiscoverer]
command=$GOPATH/bin/superdiscoverer [email protected]:8000 [email protected]:8500
events=PROCESS_STATE_RUNNING,PROCESS_STATE_STOPPING,PROCESS_STATE_EXITED
stdout_logfile=$LOGPATH/supervisor/logs/superdiscoverer/stdout.log
stderr_logfile=$LOGPATH/supervisor/logs/superdiscoverer/stderr.log

NOTE: Replace $GOPATH and $LOGPATH with the actual full path on your system.

See here for more details about event notification protocol of Supervisor.

2. Update the event listener into your existing Supervisor

$ supervisorctl -c <supervisord.conf>
supervisor> update
superdiscoverer: added process group

3. Stop or start or restart the test process

supervisor> stop test
test: stopped
supervisor> start test
test: started
supervisor> restart test
test: stopped
test: started

4. Check out

  • Check out the stderr log of superdiscoverer to see event notifications sent by Supervisor
  • Check out the daemon log of Consul to see the behaviors of service registering/deregistering
  • Check out the healthy services managed by Consul, by using its command-line interface or client APIs

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].