Build a Microservices Architecture for Microbrews with Spring Boot

Build a Microservices Architecture for Microbrews with Spring Boot

This article shows you how to build a microservices architecture with Spring Boot, Netflix Eureka, Feign, and Hystrix.

Andrea B.

Great article!!!

sivakumar gunuru

good article on the microservices,can you just also make some complex scenarios we may incurr while implement the microservices.

Amir Amir

awesome :slight_smile:

Chris Maki

Great article Matt, there’s a small bug with the Beer class, if you use the Lombok @Data annotation, it will also give you the NoArgsConstructor, I had to comment out the @NoArgsConstructor annotation for the code to compile.

Matt Raible

Thanks for the heads up Chris! Something must’ve changed in the last few months since I updated this article. I’ve updated it again, fixing the compilation error you mentioned. I also upgraded to the latest Spring Boot release (2.0.5).

pmanvi

Matt → Comprehensive article. With the advent of Docker & their orchestrations (Kubernetes, ECS, Istio …), there is overlap of many services (discovery, load balancer, etc…) with Netflix OSS, whats your take on that.

Matt Raible

My take is that it depends on how you want to architect your microservices. Do you want to manage services with code (Netflix OSS) or with Istio? I think Netflix has proven that the former works. I think Istio is good too, but I haven’t played with it much. If you’re interested in using Istio with JHipster, see Sendil Kumar’s Hello Istio :sailboat:, welcome to JHipster.

satish kumar

Gr8 article…

Akinrotoye Ayomide

Nice Article… Thanks.
I am using Spring 2.1.3.RELEASE. I am having issues using the @EnableFeignClients, @EnableZuul, @FeignClient annotations in the edge-service class. Please help me with a viable solution. Thanks once again.

Matt Raible

Can you compare your code to the example code on GitHub? My guess is you’re missing some dependencies in your pom.xml. Or the dependency names have changed with Spring Boot 2.1.3. This article uses Spring Boot 2.0.5 and Spring Cloud Finchley SR1.

Christopher Tysh

You are missing @NoArgsConstructor where you first setup class Beer { …

Matt Raible

Hi Christopher!

I don’t believe it’s necessary. I removed it based on a comment from Chris Maki six months ago:

Great article Matt, there’s a small bug with the Beer class, if you use the Lombok @Data annotation, it will also give you the NoArgsConstructor, I had to comment out the @NoArgsConstructor annotation for the code to compile.

Christopher Tysh

Ok. Maybe I am missing something then. I wasn’t able to get the microbrew service to run, but as soon as I added @NoArgsConstructor it ran as expected ¯_(ツ)_/¯

ramya k

Nice Article .Can I directly consume beer-catalog-service from angular ? ( I mean without using rest web-service ,is there any option to consume eureka registered micro-service from Angular?

Matt Raible

You could. It’s just an HTTP request after all. However, with most microservice architectures, you create a gateway that does the routing and security to your downstream microservices. That way you don’t have to specify different ports and URLs for different services in your client.

ramya k

thank u

Vimal

Great Article… Thank you

Muhammad Yassein

Thank You

lombocska

Did you use @Builder as well @christophertysh ? Since @Builder requires @NoArgsConstructor usage. :slight_smile: