SlideShare a Scribd company logo
12
Most read
15
Most read
18
Most read
Presented by - Ashish Gautam
Spring Boot Microservices
Agenda
● Introduction
● Comparison with monolith architecture
● Advantages of microservices
● Challenges with microservices
● Eureka server
● Creating a spring boot microservice
● Communicating with other microservices
● Load balancing
Introduction
Microservices is an approach to developing a single application as a suite of small
services, each running in its own process and communicating with lightweight
mechanisms, often an HTTP resource API.
Microservices allow large systems to be built up from a number of collaborating
components. It does at the process level what Spring has always done at the
component level: loosely coupled processes instead of loosely coupled
components.
In comparison with Monolith application
Monolith applications are typically huge - more 100,000 line of code. In
some instances even more than million lines of code. Monoliths are
characterized by -
● Large Application Size
● Long Release Cycles
● Large Teams
Typical challenges in Monolith application
● Scalability challenges
● New technology adoption
● Difficult to perform automation tests
● Difficult to adapt to modern development practices
● Adapting to device explosion
Microservice architectures evolved as a solution to the scalability and
innovation challenges with monolithic architectures.
What Does Microservice Architecture Look Like?
This is how the same application would look like when developed using
microservices architecture.
Microservice architectures involve a number of small, well-designed
components interacting with messages.
Advantages of Microservices
● New technology and process adaptation becomes easier. You can try
new technologies with the newer microservices that we create.
● Faster release cycles.
● Scaling with the cloud.
● Quick setup needed: You cannot spend a month setting up each microservice.
You should be able to create microservices quickly.
● Automation: Because there are a number of smaller components instead of a
monolith, you need to automate everything - Builds, Deployment,
Monitoring, etc.
● Visibility: You now have a number of smaller components to deploy and
maintain, maybe 100 or maybe 1000 components. You should be able to
monitor and identify problems automatically. You need great visibility around
all the components.
● Configuration Management: You need to maintain configurations for
hundreds of components across environments. You would need a
Configuration Management solution
Challenges With Microservice Architectures
Spring Boot
Spring Boot enables building production-ready applications quickly and provides non-functional
features:
● Embedded servers (easy deployment with containers)
● Metrics (monitoring)
● Health checks (monitoring)
● Externalized configuration
Spring Cloud
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed
systems. Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud
developers can quickly stand up services and applications that implement those patterns.
Solutions to Challenges with Microservice Architectures
Important Spring Cloud Modules
● Dynamically scale up and down. using a combination of
○ Naming Server (Eureka)
○ Ribbon (Client Side Load Balancing)
○ Feign (Easier REST Clients)
● Visibility and monitoring with
○ Zipkin Distributed Tracing
○ Netflix API Gateway
● Configuration Management with Spring Cloud Config Server
● Fault Tolerance with Hystrix
Eureka Server
When you have multiple processes working together they need to find each
other. The developers at Netflix had this problem when building their systems
and created a registration server called Eureka (“I have found it” in Greek).
Fortunately for us, they made their discovery server open-source and Spring
has incorporated into Spring Cloud, making it even easier to run up a Eureka
server.
@SpringBootApplication
@EnableEurekaServer
public class ServiceRegistrationServer {
public static void main(String[] args) {
SpringApplication.run(ServiceRegistrationServer.class, args);
}
}
Configurations in application.properties
spring.application.name=netflix-eureka-naming-server
server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
The configuration specifies that I am not a client and stops the server process trying to register with itself.
Eureka Server Application
Creating a Microservice
A microservice is a stand-alone process that handles a well-defined requirement.
When configuring applications with Spring we emphasize Loose Coupling and Tight Cohesion, These are
not new concepts (Larry Constantine is credited with first defining these in the late 1960s - reference) but
now we are applying them, not to interacting components (Spring Beans), but to interacting processes.
@SpringBootApplication
@EnableEurekaClient
public class AccountsService {
public static void main(String[] args) {
SpringApplication.run(AccountsService.class, args);
}
}
What makes this a microservice is the registration with the eureka-server via @EnableEurekaClient
In application.properties-
spring.application.name=account-service
server.port=8000
eureka.client.service-url.default-zone=http://localhost:8761/eureka
Note that this file -
● Sets the application name as accounts-service. This service registers under this name.
● Specifies a custom port to listen on (8000).
● The URL of the Eureka Service process - from the previous section.
Communicating with other microservices
Using RestTemplate -
To consume a RESTful service, Spring provides the RestTemplate class. This allows you to send HTTP
requests to a RESTful server and fetch data in a number of formats - such as JSON and XML.
public Account getByNumber(String accountNumber) {
Account account = new RestTemplate().getForObject(serviceUrl
+ "/accounts/{number}", Account.class, accountNumber);
if (account == null)
throw new AccountNotFoundException(accountNumber);
else
return account;
}
Using Feign (Spring cloud module)
@FeignClient(name="account-service" url="localhost:8000")
public interface AccountNumberServiceProxy {
@GetMapping("/accounts/{number}")
public Account retrieveAccount(@PathVariable("number") String number);
}
Enabling Feign clients -
Before we are able to use Feign, we need to enable it by using @EnableFeignClients annotation on the appropriate package where
the client proxies are defined.
@SpringBootApplication
@EnableFeignClients("com.springboot.microservice.example.account")
@EnableDiscoveryClient
public class AccountNumberServiceApplication {
public static void main(String[] args) {
SpringApplication.run(AccountNumberServiceApplication.class, args);
}
}
Load Balancing Using Ribbon
If you have multiple instances of a service available, ribbon picks one for you. (Eureka on their own
doesn’t perform load-balancing so we use Ribbon to do it instead).
Add dependency in build.gradle-
compile('org.springframework.cloud:spring-cloud-starter-ribbon')
@FeignClient(name="account-service")
@RibbonClient(name="account-service")
public interface AccountNumberServiceProxy {
@GetMapping("/accounts/{number}")
public Account retrieveAccount(@PathVariable("number") String number);
}
References
● https://spring.io/blog/2015/07/14/microservices-with-spring
● https://dzone.com/articles/microservices-with-spring-boot-part-1-getting-star
● https://github.com/paulc4/microservices-demo
● https://start.spring.io/
● http://www.baeldung.com/spring-cloud-netflix-eureka
Thank You..

More Related Content

What's hot (20)

PDF
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
 
PPTX
Spring Framework Petclinic sample application
Antoine Rey
 
PDF
Spring Framework - Core
Dzmitry Naskou
 
PDF
Spring Security
Knoldus Inc.
 
PDF
REST APIs with Spring
Joshua Long
 
PPTX
Spring boot
sdeeg
 
PDF
Spring Framework
NexThoughts Technologies
 
PPTX
Introduction to microservices
Anil Allewar
 
PDF
Introduction to Spring Cloud
VMware Tanzu
 
PPT
Maven Introduction
Sandeep Chawla
 
PPTX
Java Spring Framework
Mehul Jariwala
 
PPTX
Flask – Python
Max Claus Nunes
 
PPTX
Microservices
SmartBear
 
PPTX
Reactive programming
SUDIP GHOSH
 
PDF
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
PDF
Spring Security
Sumit Gole
 
PDF
Spring Boot
Jaran Flaath
 
PDF
Support distributed computing and caching avec hazelcast
ENSET, Université Hassan II Casablanca
 
PPTX
Docker Ecosystem on Azure
Patrick Chanezon
 
PDF
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 
Microservices with Java, Spring Boot and Spring Cloud
Eberhard Wolff
 
Spring Framework Petclinic sample application
Antoine Rey
 
Spring Framework - Core
Dzmitry Naskou
 
Spring Security
Knoldus Inc.
 
REST APIs with Spring
Joshua Long
 
Spring boot
sdeeg
 
Spring Framework
NexThoughts Technologies
 
Introduction to microservices
Anil Allewar
 
Introduction to Spring Cloud
VMware Tanzu
 
Maven Introduction
Sandeep Chawla
 
Java Spring Framework
Mehul Jariwala
 
Flask – Python
Max Claus Nunes
 
Microservices
SmartBear
 
Reactive programming
SUDIP GHOSH
 
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
Spring Security
Sumit Gole
 
Spring Boot
Jaran Flaath
 
Support distributed computing and caching avec hazelcast
ENSET, Université Hassan II Casablanca
 
Docker Ecosystem on Azure
Patrick Chanezon
 
The Beginner’s Guide To Spring Cloud
VMware Tanzu
 

Similar to Springboot Microservices (20)

ODP
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
PPTX
Building stateful serverless orchestrations with Azure Durable Azure Function...
Callon Campbell
 
PPTX
Intro to spring cloud &microservices by Eugene Hanikblum
Eugene Hanikblum
 
PPTX
Microservice creation using spring cloud, zipkin, ribbon, zull, eureka
Binit Pathak
 
PDF
Netflix Cloud Platform and Open Source
aspyker
 
PDF
Microservices and modularity with java
DPC Consulting Ltd
 
PPT
.NET Core Apps: Design & Development
GlobalLogic Ukraine
 
PDF
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
PPTX
Microservices with kubernetes @190316
Jupil Hwang
 
PDF
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
PPTX
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
PPTX
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Callon Campbell
 
PPTX
Service Fabric – building tomorrows applications today
BizTalk360
 
PPTX
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
PPTX
Serverless Computing & Automation - GCP
abiguimeleroy
 
PPTX
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic
 
PDF
Open shift and docker - october,2014
Hojoong Kim
 
PDF
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
Jitendra Bafna
 
PDF
Spring Cloud: Why? How? What?
Orkhan Gasimov
 
PPTX
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
confluent
 
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Callon Campbell
 
Intro to spring cloud &microservices by Eugene Hanikblum
Eugene Hanikblum
 
Microservice creation using spring cloud, zipkin, ribbon, zull, eureka
Binit Pathak
 
Netflix Cloud Platform and Open Source
aspyker
 
Microservices and modularity with java
DPC Consulting Ltd
 
.NET Core Apps: Design & Development
GlobalLogic Ukraine
 
SpringBoot and Spring Cloud Service for MSA
Oracle Korea
 
Microservices with kubernetes @190316
Jupil Hwang
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
.NET microservices with Azure Service Fabric
Davide Benvegnù
 
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Callon Campbell
 
Service Fabric – building tomorrows applications today
BizTalk360
 
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
Serverless Computing & Automation - GCP
abiguimeleroy
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic
 
Open shift and docker - october,2014
Hojoong Kim
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
Jitendra Bafna
 
Spring Cloud: Why? How? What?
Orkhan Gasimov
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
confluent
 
Ad

More from NexThoughts Technologies (20)

PDF
Alexa skill
NexThoughts Technologies
 
PDF
Docker & kubernetes
NexThoughts Technologies
 
PDF
Apache commons
NexThoughts Technologies
 
PDF
Microservice Architecture using Spring Boot with React & Redux
NexThoughts Technologies
 
PDF
Solid Principles
NexThoughts Technologies
 
PDF
Introduction to TypeScript
NexThoughts Technologies
 
PDF
Smart Contract samples
NexThoughts Technologies
 
PDF
My Doc of geth
NexThoughts Technologies
 
PDF
Geth important commands
NexThoughts Technologies
 
PDF
Ethereum genesis
NexThoughts Technologies
 
PDF
An Introduction to Redux
NexThoughts Technologies
 
PPTX
Google authentication
NexThoughts Technologies
 
ODP
Java 9 Features
NexThoughts Technologies
 
Docker & kubernetes
NexThoughts Technologies
 
Apache commons
NexThoughts Technologies
 
Microservice Architecture using Spring Boot with React & Redux
NexThoughts Technologies
 
Solid Principles
NexThoughts Technologies
 
Introduction to TypeScript
NexThoughts Technologies
 
Smart Contract samples
NexThoughts Technologies
 
My Doc of geth
NexThoughts Technologies
 
Geth important commands
NexThoughts Technologies
 
Ethereum genesis
NexThoughts Technologies
 
An Introduction to Redux
NexThoughts Technologies
 
Google authentication
NexThoughts Technologies
 
Java 9 Features
NexThoughts Technologies
 
Ad

Recently uploaded (20)

PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 

Springboot Microservices

  • 1. Presented by - Ashish Gautam Spring Boot Microservices
  • 2. Agenda ● Introduction ● Comparison with monolith architecture ● Advantages of microservices ● Challenges with microservices ● Eureka server ● Creating a spring boot microservice ● Communicating with other microservices ● Load balancing
  • 3. Introduction Microservices is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. Microservices allow large systems to be built up from a number of collaborating components. It does at the process level what Spring has always done at the component level: loosely coupled processes instead of loosely coupled components.
  • 4. In comparison with Monolith application Monolith applications are typically huge - more 100,000 line of code. In some instances even more than million lines of code. Monoliths are characterized by - ● Large Application Size ● Long Release Cycles ● Large Teams
  • 5. Typical challenges in Monolith application ● Scalability challenges ● New technology adoption ● Difficult to perform automation tests ● Difficult to adapt to modern development practices ● Adapting to device explosion Microservice architectures evolved as a solution to the scalability and innovation challenges with monolithic architectures.
  • 6. What Does Microservice Architecture Look Like? This is how the same application would look like when developed using microservices architecture.
  • 7. Microservice architectures involve a number of small, well-designed components interacting with messages.
  • 8. Advantages of Microservices ● New technology and process adaptation becomes easier. You can try new technologies with the newer microservices that we create. ● Faster release cycles. ● Scaling with the cloud.
  • 9. ● Quick setup needed: You cannot spend a month setting up each microservice. You should be able to create microservices quickly. ● Automation: Because there are a number of smaller components instead of a monolith, you need to automate everything - Builds, Deployment, Monitoring, etc. ● Visibility: You now have a number of smaller components to deploy and maintain, maybe 100 or maybe 1000 components. You should be able to monitor and identify problems automatically. You need great visibility around all the components. ● Configuration Management: You need to maintain configurations for hundreds of components across environments. You would need a Configuration Management solution Challenges With Microservice Architectures
  • 10. Spring Boot Spring Boot enables building production-ready applications quickly and provides non-functional features: ● Embedded servers (easy deployment with containers) ● Metrics (monitoring) ● Health checks (monitoring) ● Externalized configuration Spring Cloud Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems. Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. Solutions to Challenges with Microservice Architectures
  • 11. Important Spring Cloud Modules ● Dynamically scale up and down. using a combination of ○ Naming Server (Eureka) ○ Ribbon (Client Side Load Balancing) ○ Feign (Easier REST Clients) ● Visibility and monitoring with ○ Zipkin Distributed Tracing ○ Netflix API Gateway ● Configuration Management with Spring Cloud Config Server ● Fault Tolerance with Hystrix
  • 12. Eureka Server When you have multiple processes working together they need to find each other. The developers at Netflix had this problem when building their systems and created a registration server called Eureka (“I have found it” in Greek). Fortunately for us, they made their discovery server open-source and Spring has incorporated into Spring Cloud, making it even easier to run up a Eureka server.
  • 13. @SpringBootApplication @EnableEurekaServer public class ServiceRegistrationServer { public static void main(String[] args) { SpringApplication.run(ServiceRegistrationServer.class, args); } } Configurations in application.properties spring.application.name=netflix-eureka-naming-server server.port=8761 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false The configuration specifies that I am not a client and stops the server process trying to register with itself. Eureka Server Application
  • 14. Creating a Microservice A microservice is a stand-alone process that handles a well-defined requirement. When configuring applications with Spring we emphasize Loose Coupling and Tight Cohesion, These are not new concepts (Larry Constantine is credited with first defining these in the late 1960s - reference) but now we are applying them, not to interacting components (Spring Beans), but to interacting processes.
  • 15. @SpringBootApplication @EnableEurekaClient public class AccountsService { public static void main(String[] args) { SpringApplication.run(AccountsService.class, args); } } What makes this a microservice is the registration with the eureka-server via @EnableEurekaClient In application.properties- spring.application.name=account-service server.port=8000 eureka.client.service-url.default-zone=http://localhost:8761/eureka Note that this file - ● Sets the application name as accounts-service. This service registers under this name. ● Specifies a custom port to listen on (8000). ● The URL of the Eureka Service process - from the previous section.
  • 16. Communicating with other microservices Using RestTemplate - To consume a RESTful service, Spring provides the RestTemplate class. This allows you to send HTTP requests to a RESTful server and fetch data in a number of formats - such as JSON and XML. public Account getByNumber(String accountNumber) { Account account = new RestTemplate().getForObject(serviceUrl + "/accounts/{number}", Account.class, accountNumber); if (account == null) throw new AccountNotFoundException(accountNumber); else return account; }
  • 17. Using Feign (Spring cloud module) @FeignClient(name="account-service" url="localhost:8000") public interface AccountNumberServiceProxy { @GetMapping("/accounts/{number}") public Account retrieveAccount(@PathVariable("number") String number); } Enabling Feign clients - Before we are able to use Feign, we need to enable it by using @EnableFeignClients annotation on the appropriate package where the client proxies are defined. @SpringBootApplication @EnableFeignClients("com.springboot.microservice.example.account") @EnableDiscoveryClient public class AccountNumberServiceApplication { public static void main(String[] args) { SpringApplication.run(AccountNumberServiceApplication.class, args); } }
  • 18. Load Balancing Using Ribbon If you have multiple instances of a service available, ribbon picks one for you. (Eureka on their own doesn’t perform load-balancing so we use Ribbon to do it instead). Add dependency in build.gradle- compile('org.springframework.cloud:spring-cloud-starter-ribbon') @FeignClient(name="account-service") @RibbonClient(name="account-service") public interface AccountNumberServiceProxy { @GetMapping("/accounts/{number}") public Account retrieveAccount(@PathVariable("number") String number); }
  • 19. References ● https://spring.io/blog/2015/07/14/microservices-with-spring ● https://dzone.com/articles/microservices-with-spring-boot-part-1-getting-star ● https://github.com/paulc4/microservices-demo ● https://start.spring.io/ ● http://www.baeldung.com/spring-cloud-netflix-eureka