在看完视频以后自己根据理解写的笔记,错误应该很多,等自己理解到了再更改
1.Eureka的概述
- Erueka是干什么的?Erueka是Netflix开发的服务发现框架,SpringCloud对其进行了封装,在SpringCloud进行服务的注册与发现,与Dubbo中使用的Zookeeper功能相似(个人理解)
2.为什么需要这个东西
- 总所周知,微服务应用是一个个单独的应用,如果一个微服务想要找到其他微服务进行调用,那么怎么才能知道那个服务的名称,ip地址,端口号。这个时候需要一个注册中心,所有的微服务应用都来我这注册以下,就类似于班级里面的座次表,进班之前,班主任会把学生统计一下生成一个座次表,刚进班级的同学都不认识,A同学想要找B同学,就需要通过座次表找到B同学的座位坐标,注册中心也就是这个道理。(怎么找其他博客再写)
- Eureka这个组件就提供这样的功能,把各个服务生成一个注册表
3.SpringCloud中使用Eureka服务端
引入依赖
- 使用IDEA创建SpringCloud项目的时候选择SpringCloud Discovery 和对应的Eureka Server,如图所示
- 或者可以使用手动引入依赖(当然得引入springCloud和Springboot相关呀)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
配置application.yml文件
- 配置以下自己的端口号,应用名称,自己往自己服务里面注册
#配置启动的端口号
server:
port: 8761
#配置注册地址(可无)
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/ #注意defaultZone是必须的,但是IDEA不会提示需要自己找
register-with-eureka: false #不注册到Eureak中
#配置应用名称
spring:
application:
name: eureka
在XXXAllpication.java文件中加入注解
- 加入@EnableEurekaServer注解
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
启动服务
- 启动服务的过程中,控制台可能不报错,这个错误一般都是没有其他的服务注册者来注册,可以先不用管
- 启动完成以后,http://localhost:8761/去访问Eureka可视化界
4.SpringCloud中使用Eureka客户端
- 在springcCoud中客户端也是其他的应用(服务)
引入依赖
- 使用IDEA创建项目得时候直接勾选
- 或者手动引入依赖(当然也得引入SpringCloud和SpringBoot相关依赖)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
配置application.yml文件
spring:
application:
name: product
#配置Eureka注册服务的地址
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
server:
port: 8883
在xxxApplication.java文件中添加注解@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}
启动注册服务
**