All Projects → BarathArivazhagan → spring-cloud-sidecar-polygot

BarathArivazhagan / spring-cloud-sidecar-polygot

Licence: other
This project contains samples demonstrating the usage of side car polygot

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to spring-cloud-sidecar-polygot

Web Development Interview With Java
Java 开发相关技术栈(大中厂)高频面试问题收录。
Stars: ✭ 69 (+130%)
Mutual labels:  microservice, spring-cloud
Piggymetrics
Microservice Architecture with Spring Boot, Spring Cloud and Docker
Stars: ✭ 11,161 (+37103.33%)
Mutual labels:  microservice, spring-cloud
Sample Boot Micro
Spring Cloud + Gradle Multi Project + Java8
Stars: ✭ 72 (+140%)
Mutual labels:  microservice, spring-cloud
Spring Cloud Study
开源书《跟我学Spring Cloud》的配套代码。讨论QQ群:731548893
Stars: ✭ 1,036 (+3353.33%)
Mutual labels:  microservice, spring-cloud
Mcloud
基于Spring Cloud,实现微服务中常用的基础模块,包括 OAuth2 认证服务,统一注册中心,系统监控中心, 统一配置中心,API网关以及熔断器
Stars: ✭ 185 (+516.67%)
Mutual labels:  microservice, spring-cloud
Spring Cloud Docker Microservice Book Code
《Spring Cloud与Docker微服务架构实战》配套代码。讨论QQ群:731548893
Stars: ✭ 1,100 (+3566.67%)
Mutual labels:  microservice, spring-cloud
Python Eureka Client
A eureka client written in python. Support registering your python component to Eureka Server, as well as calling remote services by pulling the the Eureka registry.
Stars: ✭ 111 (+270%)
Mutual labels:  microservice, spring-cloud
Swoft
🚀 PHP Microservice Full Coroutine Framework
Stars: ✭ 5,420 (+17966.67%)
Mutual labels:  microservice, spring-cloud
Dapr
Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
Stars: ✭ 16,274 (+54146.67%)
Mutual labels:  microservice, sidecar
Cloud Book
《Spring Cloud 微服务架构进阶》各章节附录源码
Stars: ✭ 142 (+373.33%)
Mutual labels:  microservice, spring-cloud
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (+50%)
Mutual labels:  microservice, spring-cloud
Spring Cloud Rest Tcc
以Spring Cloud Netflix作为服务治理基础, 展示基于tcc思想所实现的分布式事务解决方案
Stars: ✭ 2,562 (+8440%)
Mutual labels:  microservice, spring-cloud
Jbone
jbone基于Spring Cloud框架开发,旨在为中小企业提供稳定的微服务解决方案,为开发人员提供基础开发骨架,jbone包含微服务中所有常用组件,例如注册中心、服务管理、服务监控、JVM监控、内存分析、调用链跟踪、API网关等等。业务功能包括系统权限的统一管理、单点登录、CMS、电商平台、工作流平台、支付平台等等。
Stars: ✭ 961 (+3103.33%)
Mutual labels:  microservice, spring-cloud
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (+120%)
Mutual labels:  microservice, spring-cloud
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+2056.67%)
Mutual labels:  microservice, spring-cloud
Febs Cloud
基于Spring Cloud Hoxton.RELEASE、Spring Cloud OAuth2 & Spring Cloud Alibaba & Element 微服务权限系统,开箱即用。预览地址:https://cloud.mrbird.cn
Stars: ✭ 1,295 (+4216.67%)
Mutual labels:  microservice, spring-cloud
Qbike
A demo of share bike using DDD, MicroService and Spring Cloud
Stars: ✭ 429 (+1330%)
Mutual labels:  microservice, spring-cloud
Sca Best Practice
本项目是 SCA(Spring Cloud Alibaba) 官方的最佳实践项目,致力于帮助用户更加快速、正确的使用SCA。
Stars: ✭ 496 (+1553.33%)
Mutual labels:  microservice, spring-cloud
Jiiiiiin Security
一个前后端分离的内管基础项目
Stars: ✭ 132 (+340%)
Mutual labels:  microservice, spring-cloud
Spring Cloud Azure
Spring Cloud integration with Azure services
Stars: ✭ 197 (+556.67%)
Mutual labels:  microservice, spring-cloud

spring-cloud-sidecar-polygot-demo

This project demonstrates the usage of netflix`s side car polygot. Spring cloud side car helps to register non jvm applications in eureka service registration server and available as part of service discovery to route traffic to non jvm applications through sidecar proxy.

Note: Branches 1.x.x/2.x.x versions makes it compatible with spring boot versions 1.x.x/2.x.x. Kindly choose branch as per spring boot release versions.

side car

Compatability Matrix

choose the branch based on below versions.

Branch/Version Spring Boot Spring Cloud Node Js
master 2.3.0.RELEASE Hoxton.SR5 14.4.0
2.2.2 2.2.2.RELEASE Hoxton.RELEASE 12.4.0
2.1.5 2.1.5.RELEASE Greenwich.SR1 12.4.0
2.1.4 2.1.4.RELEASE Greenwich.RELEASE 12.4.0
2.1.2 2.1.2.RELEASE Greenwich.RC2 10.16.0
2.0.3 2.0.3.RELEASE Finchley.RELEASE 8.16.0
1.5.6 1.5.6.RELEASE Dalston.SR3 8.16.0

Projects

Name Port Description
eureka-server 9000 Eureka server - service registration server
csstore-microservice 9001 Service discovery microservice registered with eureka server
msstore-microservice 9002 Service discovery microservice registered with eureka server
sidecar 9004 Side car proxy for routing and filtering to wstore node app
wstore-node-express 3000 Node express (non jvm ) application
zuul-proxy 9005 Zuul proxy for routing and filtering

How to build and run ?

  • Download/Clone the repository :
$ git clone https://github.com/BarathArivazhagan/spring-cloud-sidecar-polygot.git
$ cd spring-cloud-sidecar-polygot
  • Maven build :
 $ ./mvnw clean install
  • Docker image build :

    # Note change the docker images as per your image name in docker compose file
    $ docker-compose build 
  • To run the application :

$ docker-compose up

How to test the application ?

Use zuul proxy to route to respective microservices.

zuul route definition :

zuul:
  routes:
    msstore :       
        path: /msstore/**
        url: http://localhost:9002
    csstore: 
        path: /csstore/**
        url: http://localhost:9001

Service Urls:

http://localhost:9005/msstoremsstore
http://localhost:9005/csstorecsstore
http://localhost:9005/csstorewstore

Side car route definition

zuul:
  routes:
    wstore: 
      path: /wstore/**
      url: http://localhost:3000

sidecar:
  port: 3000
  health-uri: http://localhost:3000/health

Notes :

sidecar.port : Port must be same as the non jvm port
sidecar.health-uri: non jvm application should expose this url with json message {"STATUS" : "UP"} to indicate sidecar the app is UP.

How to test sidecar ?

Navigate to http://localhost:9004/wstore/home --> sidecar routes to non jvm(nodejs app)

Why Zuul as well as side car ?

yes, thats right. @EnableSideCar includes @EnableZuulProxy,so side car can act as zuul proxy itself. In order to provide separate proxy for side car(non jvm) based applications, this repo contains two proxies

zuul-proxy : provides proxy to jvm based applications.
sidecar : provides proxy to non jvm based applications.

How to rebuild the project after the changes?

$ docker-compose build

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].