SpringCloud-Eureka 注册中心|学习笔记

简介: 快速学习 SpringCloud-Eureka 注册中心

开发者学堂课程【SpringBoot 快速掌握 - 高级应用:SpringCloud-Eureka 注册中心】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/613/detail/9319


SpringCloud-Eureka 注册中心


内容介绍

一、SpringCloud

二、使用 SpringCloud


一、SpringCloud

之前的课程中整合了 zookeeper 和 dubbo,本节课整合 SpringCloud 做分布式应用。

1、SpringCloud 和 dubbo 的区别

Dubbo 是一个分布式服务框架,主要解决服务之间比如 A 服务 B 服务 C 服务的远程过程调用问题,也就是服务之间的 rpc 。而 SpringCloud 是一个分布式的整体解决方案,在分布式系统中需要考虑的所有问题在 SpringCloud 中都有解决方案。比如配置管理,服务发现,熔断机制,路由等等,只要是分布式系统中存在的问题,SpringCloud 中都有对应的解决方案。

2、SpringCloud 分布式开发五大常用组件

服务发现—Netflix Eureka

客服端负载均衡—Netflix Ribbon

断路器—Netflix Hystrix

服务网关—Netflix Zuul

分布式配置—Spring Cloud Config

举例:将 A B 服务注册到注册中心里,Spring Cloud 有相应的组件 Eureka。

A B 服务要实现互联互调,比如 A 服务部署了三个实例, B 服务部署了四个实例, A 服务调用 B 服务要调哪台机器上的 B 服务,还能做客服端负载均衡 Ribbon。  

A 服务调用 B 服务时,B 服务还调用了 C 服务,C 服务调用了 D 服务,D 服务调用了 E 服务,当 C 服务或者 E 服务出现问题导致无法运行,就可以引入断路器给 B 服务,使 B 服务在几次调用失败后快速的响应失败,让用户减少等待时间。

A B 服务调用之前可以用 zuul 网关过滤请求。服务之间的配置也可以使用分布式配置。


二、使用 Spring Cloud

创建一个空工程,命名为 springboot-06-springcloud ,点击 finish。

主要创建三个模块,第一个是注册中心,在 dubbo 中是使用 zookeeper 做注册中心,这里直接使用 Spring Cloud 的 Eureka。

1、创建注册中心

使用 Spring 初始化向导,group 是 com.atguigu,Artifact 是 eureka-server。改为1.5.12版本,由于要做注册中心,在 Cloud Discovery 中找到 Eureka Server,点击 finish,这样就创建出了第一个模块,用它做注册中心。

//注册中心

@SpringBootApplication

Public class EurekaServerApplication {

public static void main(String[ ]args) {

SpringApplication.run(EurekaServerApplication.class,args);

}

}

2、创建服务提供者

创建第二个模块服务提供者。group 是 com.atguigu, Artifact 是 provider-ticket。选中1.5.12版本。注意服务提供者和服务消费者都是在注册中心里,所以还是选择 Cloud Discovery。但是服务提供者不是注册中心而是给在注册中心里注册自己,或者服务消费者是从注册中心里获取提供者,所以这里选择 Eureka Discovery 服务注册和发现模块。

3、创建服务消费者

创建第三个模块服务消费者,group 是com.atguigu,Artifact 是consumer-user。选中1.5.12版本。选择 Cloud Discovery 中的 Eureka Discovery 模块,消费者需要在注册中心发现服务。

目前创建了三个模块,Eureka Server 是注册中心,将其他的服务注册进来需要先启动 Eureka 。

4、配置信息

启动前需要做一些配置,在 resources 下新建 application.yml 。使用 yml 做配置文件层次会更加清晰。

//服务端口号为8761,服务器用8761启动

server:

port: 8761

//指定 eureka 实例主机的名字为 Eureka Server。

eureka:

instance:

hostname:eureka-server

//配置 Eureka 客户端的一些信息。将 client 的 register-with-eureka 调为 false。

Client:

register-with-eureka: false

//作用是不会把 Eureka 本身再注册到注册中心里。不做高可用的情况下把 register-with-eureka 调为 false。

fetch-registry:false

//作用是不从 eureka 上获取服务的注册信息。因为 eureka 本身就是一个注册中心,不像消费者一样需要获取提供者的信息。默认是 true 的,调为 false。

Service-url:

default_zone: http://localhost:8761/eureka/

//指定 eureka 注册中心的地址,其他服务就是要在这里注册。可以不指定,Service-url 有一个默认值。 Serviceurl 会注入一个 map ,map 默认放一个 default_zone 和 default_url。 default_url是 ”http://localhost:8761"+default_prefix。这里自己指定地址。

//修改完配置后,启用注册中心需要结合一个注解 @EnableEurekaServer。

@EnableEurekaServer

@SpringBootApplication

Public class EurekaServerApplication {

public static void main(String[ ]args) {

SpringApplication.run(EurekaServerApplication.class,args);

}

}

启动注册中心需要两步,第一步是配置 Eureka相 关信息第二步是使用 @EnableEurekaServer 启用注册中心的功能。

5、测试

启动注册中心进行测试

8761端口已经运行了,访问网址 localhost:8761。

该界面就是 Eureka 注册中心的页面,这里显示了当前注册在 Eureka 中的服务实例。目前这里还没有注册进任何服务,只是先启动了注册中心。

相关文章
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
469 0
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
1065 3
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
1255 0
|
负载均衡 Java Nacos
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
微服务介绍、SpringCloud、服务拆分和远程调用、Eureka注册中心、Ribbon负载均衡、Nacos注册中心
SpringCloud基础1——远程调用、Eureka,Nacos注册中心、Ribbon负载均衡
|
XML Java 数据格式
Spring Cloud全解析:注册中心之zookeeper注册中心
使用ZooKeeper作为Spring Cloud的注册中心无需单独部署服务器,直接利用ZooKeeper服务端功能。项目通过`spring-cloud-starter-zookeeper-discovery`依赖实现服务注册与发现。配置文件指定连接地址,如`localhost:2181`。启动应用后,服务自动注册到ZooKeeper的`/services`路径下,形成临时节点,包含服务实例信息。
809 3
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
449 3
|
Java Nacos 微服务
Spring Cloud微服务在Windows本地开发时禁用Nacos注册中心注册
Spring Cloud微服务在Windows本地开发时禁用Nacos注册中心注册
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
694 1
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
361 1
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
345 1

热门文章

最新文章