详解spring cloud eureka注册中心

网友投稿 265 2023-07-25

详解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'

//健康检查http://

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'

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

eureka:

client:

service-url:

defaultZone: http://localhost:8888/eureka/ #注册进那个注册中心 注册中心的地址

instance:

prefer-ip-address: true #是否用ip地址注册进注册中心

三、在启动类上加入注解

@EnableDiscoveryClient

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

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

这样就是已经注册成功

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring cloud 分布式链路追踪的方法
下一篇:Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~