时间:2021-05-19
注册中心呢 就是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.8dependencies { 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之后启动注册中心的启动类 再启动服务端的启动类 看看什么效果
一定要先启动注册中心 再启动服务端 否则服务端找不到可以注册的注册中心就会报错
这样就是已经注册成功
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.添加依赖 org.springframework.cloud spring-cloud-starter-netflix-eureka-client2.添
Eureka服务端就是服务注册中心,而服务提供者、服务消费者对Eureka来说都是客户端。Eureka服务端配置添加spring-boot-starter-se
Spring-cloud-eureka使用feign调用服务接口的具体方法,供大家参考,具体内容如下基于spring-boot2.0以上版本完成的微服务架构po
前言:spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里
1.官方文档https://cloud.spring.io/spring-cloud-static/spring-cloud-openfeign/2.2.2.R