详解spring cloud eureka注册中心

 更新时间:2018年07月20日 10:53:03   作者:洛阳融科王珂  
这篇文章主要介绍了详解spring cloud eureka注册中心,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

注册中心呢 就是springcloud的一个核心组件 所有微服务的基石 微服务的核心思想就是分布式 所有的服务分开管理 但这些服务分开后该如何协同呢 就需要注册中心的介入

怎么使用注册中心

首先在gradle引入它的依赖

compile 'org.springframework.cloud:spring-cloud-starter-eureka-server'

这里再讲一下 springcloud会分布很多模块 很难管理 所以在整个项目的build.gradle中可以对所有模块的build.gradle进行管理

//插件
apply plugin: 'java' 
apply plugin: 'spring-boot'

//jdk版本
sourceCompatibility = 1.8

dependencies {
  testCompile group: 'junit', name: 'junit', version: '4.12' //项目版本
}
//在编译构建时的配置 自动维护版本号
buildscript {
  ext{
    springBootVersion='1.5.10.RELEASE' //ext中可以定义变量 里面写的是springboot插件的版本
  }
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavenCentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
  dependencies{
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
  }
}
//统一所有项目的配置 就是对所有的模块进行统一配置 所有以后的模块都不用再配置
allprojects {

  group 'com.indi.wk' //分组
  version '1.0-SNAPSHOT' //版本号 

  ext{
    springCloudVersion='Edgware.SR2'
  }
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavenCentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
}

//统一所有子项目的配置
subprojects {
  apply plugin: 'java'
  apply plugin: 'idea'
  apply plugin: 'spring-boot'

  dependencies {
    compile('org.springframework.boot:spring-boot-starter-web'){
      //移除tomcat 因为springboot嫌tomcat运行慢 就使用undertow来代替
      exclude module:"spring-boot-starter-tomcat"
    }
    //替代tomcat
    compile 'org.springframework.boot:spring-boot-starter-undertow'
    //健康检查
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    dependencies {
      testCompile group: 'junit', name: 'junit', version: '4.12'
    }
  }
  //版本控制插件
  dependencyManagement{
    imports{
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
  }
}

看下配置文件

server:
 port: 8888 #端口号
spring:
 application:
  name: register-center #项目名
eureka:
 client:
  register-with-eureka: false #启动时不向注册中心注册自己 意思也就是证明自己是一个注册中心
  fetch-registry: false #启动时是否检索服务 不检索 含义同上

还有一个

eureka.server.enable-self-preservation:

是否开启自我保护模式,默认为true 会在下一篇博客详细说明[/code]

需要在启动类上加上两个注解

@SpringBootApplication //启动项目
@EnableEurekaServer // 定义自己是一个注册中心
public class RegisterCenterProvider {
  public static void main(String[] args) {
    SpringApplication.run(RegisterCenterProvider.class,args);
  }
}

这时候就可以尝试将一个服务加入注册中心

先建一个新模块

一、加入依赖

compile 'org.springframework.cloud:spring-cloud-starter-eureka-server'

二、配置文件 几乎一样 唯一不同是加入如下两点

eureka:
 client:
  service-url:
   defaultZone: http://localhost:8888/eureka/ #注册进那个注册中心 注册中心的地址
 instance:
  prefer-ip-address: true #是否用ip地址注册进注册中心

三、在启动类上加入注解

@EnableDiscoveryClient

之后启动注册中心的启动类 再启动服务端的启动类 看看什么效果

一定要先启动注册中心 再启动服务端 否则服务端找不到可以注册的注册中心就会报错

这样就是已经注册成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JAVA面向对象设计宠物类方式

    JAVA面向对象设计宠物类方式

    本指南涉及JAVA面向对象的宠物类设计,包括宠物类的父类及其子类小猫类和小狗类,用户可以选择养猫或养狗,给宠物起名字,实现喂食互动,同时宠物具有饱食度和快乐度属性,适合初学者学习面向对象设计
    2024-10-10
  • 对Mybatis Plus中@TableField的使用正解

    对Mybatis Plus中@TableField的使用正解

    这篇文章主要介绍了对Mybatis Plus中@TableField的使用正解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 在springboot中如何使用filter设置要排除的URL

    在springboot中如何使用filter设置要排除的URL

    这篇文章主要介绍了在springboot中如何使用filter设置要排除的URL,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java 通过手写分布式雪花SnowFlake生成ID方法详解

    Java 通过手写分布式雪花SnowFlake生成ID方法详解

    SnowFlake是twitter公司内部分布式项目采用的ID生成算法,开源后广受国内大厂的好评。由这种算法生成的ID,我们就叫做SnowFlakeID,下面我们来详细看看
    2022-04-04
  • 通过spring注解开发,简单测试单例和多例区别

    通过spring注解开发,简单测试单例和多例区别

    这篇文章主要介绍了通过spring注解开发,简单测试单例和多例区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java 中同步方法和同步代码块的区别详解

    java 中同步方法和同步代码块的区别详解

    这篇文章主要介绍了java 中同步方法和同步代码块的区别是什么的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java如何优雅替换if-else语句

    Java如何优雅替换if-else语句

    当逻辑分支非常多的时候,if-else套了一层又一层,那么如何干掉过多的if-else,本文就详细的介绍一下,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 详解Jmeter线程组的设置方法

    详解Jmeter线程组的设置方法

    本文主要介绍了Jmeter线程组的设置方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Java实现添加,读取和删除Excel图片的方法详解

    Java实现添加,读取和删除Excel图片的方法详解

    本文介绍在Java程序中如何添加图片到excel表格,以及如何读取、删除excel表格中已有的图片。文中的示例代码讲解详细,感兴趣的可以学习一下
    2022-05-05
  • maven引入第三方jar包配置详解

    maven引入第三方jar包配置详解

    这篇文章主要为大家介绍了maven引入第三方jar包配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论