详解spring cloud eureka注册中心
时间:2018-07-20
这篇文章主要介绍了详解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
之后启动注册中心的启动类 再启动服务端的启动类 看看什么效果
一定要先启动注册中心 再启动服务端 否则服务端找不到可以注册的注册中心就会报错
这样就是已经注册成功
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- jquery获取父级一级节点的序号
- Docker容器学习梳理--基础知识(2)
- Blend生成的TransformGroup如何引用?
- 今日头条写新闻机器人获吴文俊人工智能科技发明奖
- Docker容器学习梳理--应用程序容器环境部署
- 异步方式访问网页
- Silverlight:利用Panel实现自定义布局
- 《物联网智能终端信息安全白皮书》再次敲响物联网时代警钟
- Gitlab可视化代码树插件-Octotree
- 子线程调用UI线程的方法
- Silverlight:Dependency Property(依赖属性)学习笔记
- Silverlight:利用异步加载Xap实现自定义loading效果
- Docker容器学习梳理--手动制作系统镜像
- 怎样裁剪图片的局部
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 跨帐号访问COS资源
- 聊聊dubbo-go的DubboProtocol
- 推荐一个很牛叉的开源Flask项目
- 机器学习应用资产管理系列一:强化学习策略(附代码)
- 3分钟短文 | Laravel模型关联删除表记录,用观察者还是事件钩子
- 原理+代码|深入浅出Python随机森林预测实战
- 3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过
- 3分钟短文 | Laravel同时连接多个数据库,你用啥办法?
- 3分钟短文 | PHP 连接2个字符串的8个方法,新手常犯错
- nodejs源码分析之connect
- 你应该了解的Nacos配置中心
- Jenkins CLI 命令行 v0.0.30
- 2020新鲜出炉的“面筋”,够刁钻
- Spring注解配置应该怎么玩
- 算法篇:链表之倒数第k个节点