Contracts for Microservices With OpenAPI and Spring Cloud Contract

I've previously posted about defining Consumer Driven Contracts using the OpenAPI specification and Spring Cloud Contract. This approach works well because you can tie your contracts to your API specification, and also wire in a request validator into your contract tests.

But one problem that remained is typically your OpenAPI specification will span multiple services. Thus, when generating contract tests, you'd get tests generated for all services and not just a specific service.

This Week in Spring: Releases, Spring Data, Cloud, and More

Hi, Spring fans! Welcome to another wild-and-wacky week of This Week in Spring! I’m in Johannesburg, South Africa, where I both spoke at the SpringOne Tour South Africa event and at the Johannesburg Java User Group. I have had tons of fun on safari visiting (safely from a great distance and in an SUV) the utterly astonishing, beautiful, majestic wildlife here. I can’t stress that last part enough. The animals here are so, so, SO breathtaking. I got as close as I ever want to get to an elephant that was the size of a small house with eyes. Utterly massive! It towered over buses. When you go into the bush, my tour guide warned, you enter the food chain, and there, we don’t figure very high at all. The experience reminded me how insignificant I am and how utterly privileged I am to be here, with you, dear community. We’re all pretty lucky.

I also really enjoyed meeting some of the local community. My friend, Rory Preddy at Microsoft South Africa, was telling me that the local community here in South Africa is very small — tens of thousands of professional developers, if that. What the community lacks in quantity, they more than make up for in quality.

Kotlin Microservices With Micronaut, Spring Cloud, and JPA

The Micronaut Framework provides support for Kotlin built upon the Kapt compiler plugin. It also implements the most popular cloud-native patterns, like distributed configuration, service discovery, and client-side load balancing. These features allow you to include an application that's been built on top of Micronaut into an existing microservices-based system. The most popular example of such an approach may be integration with the Spring Cloud ecosystem. If you have already used Spring Cloud, it is very likely you built your microservices-based architecture using the Eureka discovery server and Spring Cloud Config as a configuration server. Beginning with version 1.1, Micronaut supports both these popular tools as part of the Spring Cloud project. That's good news because, in version 1.0, the only supported distributed solution was Consul, and there was no way to use Eureka discovery together with Consul's property source (running them together ends with an exception).

In this article, you will learn how to:

Developing Spring Cloud Microservices With a Central Environment

How can developers work simultaneously on the same central Spring Cloud environment?

Developing software based on a microservices architecture is extremely easy when you use Spring Boot and Spring Cloud. Just throw in a few lines of code and you can have a microservice up and running. But how do you develop a real-world application in such an environment? In theory, each microservice is isolated and can be developed alone, but, in practice, this is often not the case. To develop and test your service in the context of the application that uses it requires more than just your microservice to be up and running. So, how can one conveniently develop in a multi-microservices environment?

Spring Cloud and Spring Boot, Part 2: Implementing Zipkin Server For Distributed Tracing

In my last article you have learn how to implement Eureka Server for service discovery and registration. In this article, you will learn one more important feature of microservices, Distributed Tracing.

What is Distributed Tracing?

Distributed Tracing is crucial for troubleshooting and understanding microservices. It is very useful when we need to track the request passing through multiple microservices. Distributed Tracing can be used to measure the performance of the microservices. 

Spring Cloud and Spring Boot, Part 1: Implementing Eureka Server

What is Eureka Server?

Eureka Server is service discovery for your microservices, where all client applications can register by themselves and other microservices look up the Eureka Server to get independent microservices to get the job complete.

Eureka Server is also known as Discovery Server and it contains all the information about client microservices running on which IP address and port.