项目作者: melthaw

项目描述 :
The discovery & gateway boilerplate based on spring-cloud with spring security.
高级语言: Java
项目地址: git://github.com/melthaw/spring-cloud-boilerplate.git
创建时间: 2017-10-08T10:21:58Z
项目社区:https://github.com/melthaw/spring-cloud-boilerplate

开源协议:Apache License 2.0

下载


Overview

The boilerplate for spring cloud with following feature enabled

feature implementation version
discovery eureka Dalston.SR1
gateway zuul Dalston.SR1

Please check out gradle/dependencies.gradle

Get Started

Please make sure Java , Gradle & Docker are ready on your dev machine.

env version
Java 1.8.x
Gradle 2.14.x
Docker 17.x
Docker Compose 1.16.*

Build

  1. gradle clean build
  2. docker-compose build

Start

  1. docker-compose up -d

Stop

  1. docker-compose down

Configuration

discovery

  • gradle

discovery/build.gradle

  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
  7. }
  8. }
  9. apply plugin: "io.spring.dependency-management"
  10. apply plugin: 'org.springframework.boot'
  11. dependencyManagement {
  12. imports {
  13. mavenBom "org.springframework.cloud:spring-cloud-starter-parent:${springCloudVersion}"
  14. mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  15. }
  16. }
  17. dependencies {
  18. compile "org.springframework.cloud:spring-cloud-starter-eureka-server"
  19. }
  • spring boot - bootstrap.yml

discovery/src/main/resources/bootstrap.yml

  1. spring:
  2. application:
  3. name: discovery
  • spring boot - application.yml

discovery/src/main/resources/application.yml

  1. server:
  2. port: 8761
  3. eureka:
  4. instance:
  5. hostname: localhost
  6. server:
  7. enable-self-preservation: false
  8. eviction-interval-timer-in-ms: 60000
  9. client:
  10. registerWithEureka: false
  11. fetchRegistry: false
  12. serviceUrl:
  13. defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

gateway

  • gradle

gateway/build.gradle

  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
  7. }
  8. }
  9. apply plugin: "io.spring.dependency-management"
  10. apply plugin: 'org.springframework.boot'
  11. dependencyManagement {
  12. imports {
  13. mavenBom "org.springframework.cloud:spring-cloud-starter-parent:${springCloudVersion}"
  14. mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  15. }
  16. }
  17. dependencies {
  18. compile "org.springframework.cloud:spring-cloud-starter-eureka"
  19. compile "org.springframework.cloud:spring-cloud-starter-zuul"
  20. testCompile "org.springframework.boot:spring-boot-starter-test"
  21. }
  • spring boot - bootstrap.yml

gateway/src/main/resources/bootstrap.yml

  1. spring:
  2. application:
  3. name: gateway
  • spring boot - application.yml

gateway/src/main/resources/application.yml

  1. server:
  2. port: 10000
  3. eureka:
  4. instance:
  5. hostname: ${EUREKA_INSTANCE_HOST:localhost}
  6. non-secure-port: ${EUREKA_INSTANCE_PORT:10000}
  7. prefer-ip-address: false
  8. # instance-id: ${spring.application.name}:${eureka.instance.hostname}:${eureka.instance.non-secure-port}:${random.value}
  9. client:
  10. registerWithEureka: false
  11. fetchRegistry: true
  12. serviceUrl:
  13. defaultZone: ${EUREKA_SERVICE_URL:'http://localhost:8761/eureka/'}

Customization

TODO