Microservice

with Spring Boot & Spring Cloud

Lucian Neghina

Agenda

  • Common problems

  • Microservice - Core concept 

  • Demo

Monolitic ?

Common Problems

Too much complexity needs to be exposed

Legacy components - Hard to upgrade

New functionality can just pop

Easy to maintain standards,
hard to maintain quality

Easy to maintain quality,
hard to maintain standards

Refactoring

Microservice

Core Concepts

  • Service Registry

  • Load balancing

  • Edge Service

  • Failure management

Service Registry

Zookeeper

Eureka

Consistency

Availability

Eureka

  • Server - REST service

  • Client - Java component

Load balancing - Ribbon

  • Client side load balancer

  • Built-in Failure resiliency

  • Rule based load balancing

Edge Service - Zuul

  • Authentication & Security

  • Static Response handling

  • Debug Filter

  • Stress Testing

Failure management - Hystrix

  • Manage failures

    • latency 

    • fault tolerance 

  • Cascading failures

  • Fail fast approach

Demo

Shopping system

?

Resource:

  • http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html
  • https://spring.io/blog/2015/07/14/microservices-with-spring
  • https://spring.io/blog/2015/01/20/microservice-registration-and-discovery-with-spring-cloud-and-netflix-s-eureka

Microservice

By Lucian Neghina

Microservice

  • 271