Service Discovery with Eureka and Zuul

Jarett Lear .NET, Microservices, Spring Leave a Comment

One issue that we face day to day as developers is speed of development. One of the coolest things to me in the ever-changing landscape of technology is how this issue us continually being addressed in an effort to makes our lives easier.

We have gone from having to write everything needed in a verbose way to being able to configure a simple REST API in a few lines of code with Spring Boot. The most amazing part of this is not only the ability to create the web services but also the ability to allow these services to communicate in a smart way. Spring has given us many tools to allow easy configuration and putting together things that just work (mostly).

This post is not to be considered a full guide to which the extent of these technologies can be leveraged. In this post, we give examples of how Spring Boot can be used (along with Zuul and Eureka) to create a simple discovery service.

There are other components that can be added for things like a configuration server to pull all application.properties files from a common location that is updatable in real time, or circuit breakers to allow the graceful failing of different pieces of your API.

What this post will focus on is the service discovery between Spring Boot applications. We will also touch on how, using SteeltoeOSS, .NET applications can also take advantage of being a part of the service discovery and be routed through our Spring Boot-based Zuul Gateway. We will also look at how we can integrate Spring Security into our gateway to secure the entire API no matter the language…



Trouble Maker

Failure As A Use Case: Introducing Trouble Maker

David Pitt Keyhole Creations, Microservices, Programming, Technology Snapshot, Testing Leave a Comment

For too many reasons to count, it is nearly a guarantee that your production software systems will fail in some way. We attempt to QA our software, which essentially tests application “business” function, but it’s very difficult to test what can go wrong in an actual production environment. Things like memory utilization and leaks, port exhaustion, connection pool timeouts, too …