In this part, I explain how I solved basic service discovery and monitoring need in distributed microservice ecosystem.

3rd Party Alternatives

This decision highly depends on the state of your system. There is no software that is one-size-fits-all. For biggeer systems, you can benefit from AWS or Azure solutions. On the other hand, this may be overkill for small-sized systems.

  • Zookeeper, Consul, Eureka and so on
  • Datadog, New Relic for monitoring

In-house Solution

Method: Method

Agent: Not required
Language: Java. Provides have short lead time. Today, it is also possible to use GO as a second option
Storage: Redis. Accessible from multiple servers/locations, expire feature eliminates data-garbage collection need
Service provider/consumer criteria: Only Redis connectivity is required

Benefits of in-house development

  • Basic problems are solved with basic solutions (Weak implementation as a benefit)
  • Minimum overhead. Only client library and Redis Server
  • Very fast implementation and integration
  • Day-zero benefit
  • Solves multiple problems/needs (Build data for service discovery, get CPU/Mem usage, get running instances, test load switchover)
  • No learning curve for 3rd party software. Focus on direct problem solving by known technology and tools
  • Fulfills expectations till next system growing cycle
  • Agentless. No agent deployment or maintainance. Storage automatically evicts data after data expires or system reboot