目录

  一:构建项目

  二:服务注册与发现

  为什么选择Eureka,请看上一篇博客 Eureka -- 浅谈Eureka

项目构建

    IDEA 选择 New Project 选择 Spring Initializr

    填入Group组、Artifice项目名,勾选Type为 Gradle Config(这里是基于gradle实现的)

    选择组件:根据自己需要进行选择,这里需要Eureka来做为注册中心,所以我先勾线了Eureka的两个服务依赖

    创建完成后 在 bulid.gradle中 使用subprojects统一所有子项目的配置

      subprojects{} 作用:使用多模块项目时,不同模块之间有相同的配置,导致重复配置,可以将相同的部分抽取出来,使用配置注入的技术完成子项目的配置。根项目就像一个容器, subprojects 方法遍历这个容器的所有元素并且注入指定的配置。

 服务注册与发现

  注册中心

    首先先创建一个Module模块,操作如下:右键项目 New Module

    选择gradle(如果用maven构建请选择maven)

    输入模块名称 register-center

    完成模块创建,在子模块的bulid.gradle中 添加 eureka 注册服务依赖

dependencies {
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server')
}

    在main里面创建启动类RegisterApplication(注意加入@EnableEurekaServer注解 来表明自己是一个注册中心)

@SpringBootApplication
@EnableEurekaServer//表明自己是注册中心
public class RegisterApplication {
public static void main(String[] args) {
SpringApplication.run(RegisterApplication.class, args);
}
}

    在resources中添加application.yml配置文件

spring:
application:
name: register-center
server:
port: 10000
eureka:
client:
service-url:
defaultZone: http://localhost:10000/eureka#默认地址
register-with-eureka: false#启动时不注册表明自己是一个注册中心
fetch-registry: false

    这里自定义了Eureka端口地址

    其Eureka默认端口地址为8761

    打开Eureka地址 发现 自己(register-center)已经被注册进了,和我们起初只是单让它作为一个注册中心是不匹配的

    可以发现现在是没有配置  register-with-eureka: false    fetch-registry: false 这两句代码的  Eureka也将自己注册进来,将这两句代码加入配置文件中 再次刷新Eureka发现自己已经不在注册中心了

   服务发现

    同上再次创建一个Module(order-client) 在其bulid.gradle中添加eureka客户端的依赖

dependencies {
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
}

    创建启动类OrderClientApplication(添加@EnableDiscoveryClient //表示自己是eureka客户端)

@SpringBootApplication
@EnableEurekaClient //表明自己是eureka客户端
public class OrderClientApplication {
public static void main(String[] args) {
SpringApplication.run(OrderClientApplication.class,args);
}
}

    添加application.yml配置 这里就不需要在写入 register-with-eureka: false    fetch-registry: false

    这里在启动时应该注意先将eureka服务端(register-center)启动,再启动客户端(order-client),如不先启动服务端(也可以添加 register-with-eureka: false fetch-registry: false 解决但是这就又成为服务端了,并不是我们想要的),客户端将报如下错误

    这里牵扯到Eureka的特点:即是服务端,又是客户端,后续会对Eureka注册过程进行一个分析想学习的,请关注博主o,这里先不做说明

    启动服务端再启动客户端,刷新注册中心,发现客户端已经注册进去了

    至此,Eureka的服务注册就已经实现了。

SpringCloud学习--Eureka 服务注册与发现的更多相关文章

  1. SpringCloud(3)---Eureka服务注册与发现

    Eureka服务注册与发现 一.Eureka概述 1.Eureka特点 (1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. (2) Eureka 主管服务 ...

  2. java框架之SpringCloud(3)-Eureka服务注册与发现

    在上一章节完成了一个简单的微服务案例,下面就通过在这个案例的基础上集成 Eureka 来学习 Eureka. 介绍 概述 Eureka 是 Netflix 的一个子模块,也是核心模块之一.Eureka ...

  3. SpringCloud系列——Eureka 服务注册与发现

    前言 Eureka是一种基于REST(具像状态传输)的服务,主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移.本文记录一个简单的服务注册与发现实例. GitHub地址:https:/ ...

  4. SpringCloud之Eureka服务注册与发现(一)

    一 Eureka的基本架构 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构 ...

  5. SpringCloud:Eureka服务注册与发现

    1.Eureka简介 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构.Eu ...

  6. 三(1)、springcloud之Eureka服务注册与发现

    1.认识Eureka ​ Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架 ...

  7. 【分布式】SpringCloud(3)--Eureka服务注册与发现

    1.Eureka概述 1.1.什么是Eureka Eureka是Netflix的一个子模块.基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. 只需要使用服务的标识符,就可以访问到 ...

  8. springCloud学习之服务注册和发现

    leader让完一个简单的springcloud的demo,自己之前听说过springcloud微服务,但是没有重视.现在网上查各种资料,但是感觉不怎么样啊,还是不会,明天晚上把代码给他看,天啦,这个 ...

  9. SpringCloud全家桶学习之服务注册与发现及Eureka高可用集群搭建(二)

    一.Eureka服务注册与发现 (1)Eureka是什么? Eureka是NetFlix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故 ...

随机推荐

  1. Java秒杀系统优化的工程要点

    这篇博客是笔者学习慕课网若鱼老师的<Java秒杀系统方案优化 高性能高并发实战>课程的学习笔记.若鱼老师授课循循善诱,讲解由浅入深,欢迎大家支持. 本文记录课程中的注意点,方便以后code ...

  2. embedding技术

    目录 word2vec 负采样 目标函数 反向梯度 层次softmax NPLM的目标函数和反向梯度 目标函数 反向梯度 GNN(图神经网络) deepwalk node2vec 附录 word2ve ...

  3. SQL数据库各种查询建表插入集合-待续持续更新

    创建表 drop table student; DROP table Course; DROP table sc; CREATE TABLE student ( sid integer PRIMARY ...

  4. Python 编译器与解释器

    Python 编译器与解释器 Python的环境我们已经搭建好了,可以开始学习基础知识了.但是,在此之前,还要先说说编译器与解释器相关的内容. 如果这部分内容,让你觉得难以理解或不能完全明白,可以暂时 ...

  5. springboot2.0+ 使用拦截器导致静态资源被拦截

    在spring1.0+的版本中,配置拦截器后是不会拦截静态资源的.其配置如下: @Configuration public class WebMvcConfig extends WebMvcConfi ...

  6. .net core 3.0 Signalr - 03 使用MessagePack压缩传输内容

    ## MessagePack基础介绍 Signalr默认使用的是json形式传递数据,但是signalr提供了灵活的扩展,支持MessagePack形式序列化数据,以增加性能降低网络传输的效果,极大的 ...

  7. [Tricks] 为文件夹右键菜单增加 【使用VS Code 打开】

    传统的IDE安装之后都会在文件夹的右键菜单中增加如[Open in Visual Studio]或者[Open Folder as IntelliJ IDEA Project]这样的选项 但VS Co ...

  8. mac 安装redis及phpredis扩展

    下载phpredis扩展安装包.git clone https://github.com/nicolasff/phpredis.git: 解压后,进入该目录: 依次执行以下操作完成安装: /Appli ...

  9. 响应系统设置的事件(Configuration类)

    1.Configuration给我们提供的方法列表 densityDpi:屏幕密度 fontScale:当前用户设置的字体的缩放因子 hardKeyboardHidden:判断硬键盘是否可见,有两个可 ...

  10. COGS 2095. 不平凡的引线

    2095. 不平凡的引线 ★☆   输入文件:firelead.in   输出文件:firelead.out   简单对比 时间限制:1 s   内存限制:256 MB [题目描述] 这里说的引线是炮 ...