An open API service indexing awesome lists of open source software.

https://github.com/soumyadip007/uber-netflix-microservices-architrecture-using-rest-kafka-eureka-zuul-graphql-webflux-elasticsearch

Uber-Netflix-Microservices-Architrecture-Using-Rest-Kafka-Eureka-Zuul
https://github.com/soumyadip007/uber-netflix-microservices-architrecture-using-rest-kafka-eureka-zuul-graphql-webflux-elasticsearch

data-streams dynamic elasticsearch eureka graphql kafka microservice-architecture netflix spring-boot spring-mvc spring-rest spring-security webflux zuul

Last synced: 2 months ago
JSON representation

Uber-Netflix-Microservices-Architrecture-Using-Rest-Kafka-Eureka-Zuul

Awesome Lists containing this project

README

          

# Uber-Netflix-Microservices-Architrecture-Using-Rest-Kafka-Eureka-Zuul

# Microservices
DescriptionMicroservices are a software development technique —a variant of the service-oriented architecture structural style— that arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight.

# Representational state transfer
Representational state transfer is a software architectural style that defines a set of constraints to be used for creating Web services. Web services that conform to the REST architectural style, called RESTful Web services, provide interoperability between computer systems on the Internet.

# Apache Kafka
Apache Kafka is an open-source stream-processing software platform developed by LinkedIn and donated to the Apache Software Foundation, written in Scala and Java. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds, Kafka works well as a replacement for a more traditional message broker.

# Netflix Eureka
Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers. At Netflix, Eureka is used for the following purposes apart from playing a critical part in mid-tier load balancing.

# Netflix Zuul
Zuul is the front door for all requests from devices and websites to the backend of the Netflix streaming application. As an edge service application, Zuul is built to enable dynamic routing, monitoring, resiliency, and security. Routing is an integral part of a microservice architecture

# GraphQL
GraphQL is a syntax that describes how to ask for data, and is generally used to load data from a server to a client. ... It lets the client specify exactly what data it needs. It makes it easier to aggregate data from multiple sources. It uses a type system to describe data.

# Reactive Programming

Reactive programming is an asynchronous programming paradigm concerned with data streams and the propagation of change. This means that it becomes possible to express static (e.g. arrays) or dynamic (e.g. event emitters) data streams with ease via the employed programming language(s).

# Spring WebFlux

Spring WebFlux is parallel version of Spring MVC and supports fully non-blocking reactive streams. It support the back pressure concept and uses Netty as inbuilt server to run reactive applications. If you are familiar with Spring MVC programming style, you can easily work on webflux also.

# Kafka Producer & Consumer
https://github.com/soumyadip007/Kafka-Producer-using-Spring-Boot-Rest-and-Microservices