MicroServices Reference architecture-with Spring Boot, Spring Cloud and Netflix oss--go

Source: Internet
Author: User

Original address: Https://www.linkedin.com/pulse/microservices-reference-architecture-spring-boot-cloud-anil-allewarWhat is " MicroServices "?

MicroServices is the ' New Kid ' on the Block; A new paradigm this seeks to the replace monolithic enterprise applications with a suite of small services this use Lightweigh T mechanism like REST to communicate with each other. These services is built around business capabilities and independently deployable by fully automated deployment machinery .

The crux of MicroServices can is epitomized by this illustration as defined Bymartin Fowler.

Frameworks

There is couple of frameworks available in different software ecosystems this make it easy to create distributed Applicat Ions using microservices architecture.

    1. Java-spring Cloud using Netflix OSS
    2. Node.js-seneca

The reference architecture developed by US builds on the Spring Cloud ecosystem.

There is number of components available within the Spring Cloud and Netflix OSS ecosystem, solve common problems for Distributed applications (e.g. configuration management, service discovery, circuit breakers, intelligent routing etc).

Target Architecture and Components

The application consists of 8 different services that is available in Synerzip GitHub repository.

    1. config- Server -Setup external configuration
    2. WebService -registry -Eureka Server
    3. Auth -server -OAuth2 Authorization server
    4. user- WebService -User Microservice
    5. task- WebService -Task Microservice
    6. comments- WebService -Comments for Task Microservice
    7. API -gateway -API gateway that proxies all the microservices
    8. web-portal -Single Page application that provides the UI

All of the different services lend themselves to the following target architecture.

While there is existing samples available for using the different Spring Cloud/netflix OSS components, we do not find a Ything that merged all of the them together to provide an enterprise architecture. Additionally the documentation is sporadic and widely distributed so it becomes hard-understand how the components inte Ract with all other.

This reference architecture can is used as a starting point-to-understand the microservices paradigm and then expand to SC Ale to your architecture needs.

Considerations for building Production-ready Systems

The thought process for the reference Architecture revolved around 2 concepts

    1. Making it easy enough so beginners can understand
    2. Making it enough so, it can serve as the starting point of enterprise applications.

When your is ready-to-build your application with this reference Architecture, keep the following things in mind

    1. The application uses an endpoint to a check if the user is authenticated; This leads to a very chatty application. When building your system instead with the Json Web token (JWT) wherein the Token itself contains enough information for th E resource server to does simple user authentication.
    2. The single Page application This provides the UI is part of the reference architecture, whereas applications might be Bett Er off have the SPA as separate application that just needs to interact with your distributed system and is part of The distributed system.
    3. There is additional Netflix OSS components such as Turbine, feign and SideCar that might is applicable to your architecture.
Codebase
    1. Https://github.com/Synerzip/spring-boot-microservices
    2. Https://github.com/anilallewar/sample-config

MicroServices Reference architecture-with spring Boot, Spring Cloud and Netflix oss--ext.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.