当前位置:   article > 正文

从零开始搭建spring cloud (一)创建eureka server注册中心_spring cloud 1.4.1 eureka server gradle

spring cloud 1.4.1 eureka server gradle

sring cloud简介

spring cloud 为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,只能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致了锅炉板模式,并且使用spring cloud开发人员可以快速的站起来实现这些模式的服务和应用程序。他们在任何分布式环境中正常工作。

高深的内容我也不说太多,这里我只说下springcloud中常用的组件 
- 服务发现——Netflix Eureka 
- 客服端负载均衡——Netflix Ribbon 
- 断路器——Netflix Hystrix 
- 服务网关——Netflix Zuul 
- 分布式配置——Spring Cloud Config

 

创建eureka server注册中心

1.创建一个空的gradle项目,作为父项目,在gradle文件中引入依赖,spring boot版本为2.0.4.RELEASE,spring cloud版本为Finchley.RELEASE。这gradle文件作为其他模块的父文件,其他的模块依赖继承次依赖,代码如下

  1. buildscript {
  2. ext {
  3. springBootVersion = '2.0.4.RELEASE'
  4. }
  5. repositories {
  6. mavenCentral()
  7. }
  8. dependencies {
  9. classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
  10. }
  11. }
  12. group 'spring-cloud'
  13. version '1.0-SNAPSHOT'
  14. ext {
  15. springCloudVersion = 'Finchley.SR1'
  16. }
  17. allprojects {
  18. repositories {
  19. mavenLocal()
  20. mavenCentral()
  21. jcenter()
  22. maven { url 'http://repo.spring.io/milestone' }
  23. maven { url 'http://repo.spring.io/snapshot' }
  24. maven { url 'https://repository.jboss.org/nexus/content/repositories/releases' }
  25. maven { url 'https://oss.sonatype.org/content/repositories/releases' }
  26. maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
  27. maven { url 'http://repo.maven.apache.org/maven2' }
  28. }
  29. }
  30. subprojects {
  31. apply plugin: 'java'
  32. apply plugin: 'eclipse-wtp'
  33. apply plugin: 'org.springframework.boot'
  34. apply plugin: 'io.spring.dependency-management'
  35. apply plugin: 'war'
  36. sourceCompatibility = 1.8
  37. targetCompatibility = 1.8
  38. configurations {
  39. providedRuntime
  40. }
  41. dependencies {
  42. compile('org.springframework.boot:spring-boot-starter-web')
  43. providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
  44. testCompile('org.springframework.boot:spring-boot-starter-test')
  45. }
  46. dependencyManagement {
  47. imports {
  48. mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
  49. }
  50. }
  51. }

2.创建一个model工程,作为服务注册中心,即eureka server。

右键工程-->new-->moudle

next-->选择项目类型为gradle项目

next->选择cloud Discovery->Eureka Server,然后再下一步就好了

3.对创建的工程进行修改,将注解@EnableEurekaServer加到springboot工程启动的application类上

在父项目添加gradle管理,因为本项目采用的是将所有的依赖交给父项目进行管理,所以在模块中不需要配置gradle依赖,删除掉build.gradle的内容,在父项目中创建gradle管理文件夹,新建此模块的gradle

在eureka中添加其独有的依赖

  1. project(':maoj-eureka-registry'){
  2. dependencies {
  3. compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server')
  4. }
  5. }

在父build.gradle文件中,使用apply from添加模块依赖的引用,在setting.gradle 添加 include('maoj-eureka-registry')

 

更改配置文件,将application.properties该为application.yml

  1. server:
  2. port: 8761
  3. eureka:
  4. instance:
  5. hostname: localhost
  6. client:
  7. register-with-eureka: false
  8. fetch-registry: false
  9. service-url:
  10. default-zone: http://${eureka.instance.hostname}:${server.port}/eureka/
  11. spring:
  12. application:
  13. name: maoj-eureka-registry

在默认情况下eureka server本身也是一个eureka client,将register-with-eureka设置为false可以禁止将本身注册到注册中心中,fetch-registry设置为false来禁止从注册中心获取信息。

启动项目访问http://localhost:8761/即可出现spring eureka的注册中心界面。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/918935
推荐阅读
相关标签
  

闽ICP备14008679号