开发者学堂课程【微服务框架 Spring Cloud 快速入门:EurekaServer服务注册中心建立】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/614/detail/9344
EurekaServer服务注册中心建立
目录
一、Eureka的构建
二、何将微服务注册进Eureka
接下来开始 Eureka 的构建以及演示如何将微服务注册进 Eureka
一.Eureka的构建
microservicecloud-eureka-7001
eureka 服务注册中心 Module
第一步可以看到端口号已经换了,也就是7001,那么这一块就是Eureka的服务注册中心,也可理解为以下架构图中的蓝色模块,也就是物业公司 Eureka Server。
1. 新建microservicecloud-eureka-7001
构建步骤:
观察对 cloud 构建思路和编码的套路进行 module 创建。
需要一步一步,重复的性进行练习,接着点击 pom.xml
必须有合适的对应的 jar 包,才能够进行编代码。
2. POM
进行配置文件:
<artifactId>microservicecloud-eureka-7001/pom.xml</artifactId>
<modelversion>4.0.0</modeiversion>
<parent>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>microservicecloud</ artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>microservicecloud-eureka-7001</artifactId>
<dependencies>
<! --eureka-server服务端–->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-elureka- server</artifactId>
</dependency>
<!--修改后立即生效,热部署-->
<dependency>
<groupId>org.springframework</ groupId>
<artifactId>springloaded</artifactid>
</dependency>
<dependency>
<groupId>org.springframework.boot</groepId>
<artifactId>spring-boot-devtools.</ artifactId>
</dependency>
</dependencies>
若7001为 Eureka-server。此时应在 cloud 处添加 Eureka-server的相关配置。并告知 Spring boot,以7001为服务的 Eureka-server端。由此可以获知:
假如需要引入 cloud 的一个新技术组件基本上有两步。
(1)新增一个相关的 mav 坐标
Eureka,若使用 eureka,则会有对应的一个配置。这里是它的一个套路。
<!--eureka-server
服务端—->
<dependency>
<groupId>org. springframework.cloud</ groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</ dependency>
Zuul
(路由网关)
(2)再主启动类上面,标注的启动该组件技术的相关注解标签。
(3)java 业务逻辑编码。同理添加一个 java,像 Zuul 一样的坐标。
3. YML
server :
port: 70o1
eureka :
instance:
hostname: localhost
#
eureka
服务端的实例名称
client:
register-with-eureka: false #false
表示不向注册中心注册自己。
fetch-registry: false #false
表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
service-url:
defaultZone:
h
ttp://${eureka.instance.hostname}: ${server.port}/eurekal
#设置与 Eureka Server 交互的地址查询服务和注册服务
只要为 application.yml,因为每个微服务都要使用端口,所以必须要写端口来证明本次为7001。
步骤:eureka.instance.host
eureka :
instance:
hostname: localhost eureka
服务端的实例名称
此时仅有一个eureka,则叫localhost
Eureka很强大,任何事物向其注册,换句话说,默认会把所对每一个进行注册,这时应当:
register-with-eureka: false #false 表示7001不向注册中心注册自己。
原因在于客户端才向 eureka 注册。也就是说没有物业公司朝自己注册,也就是说,物业公司没有向自己收物业费的这种可能。此处标明 false 也就是表明并非是入注的微服务。而是物业公司,是eureka-server。
由于false表示自己端就是注册中心,并不会将自我写进本楼层的花名册中,职责就是维护服务实例,并不需要在花名册中找到物业公司。因为花名册中只记录本楼层入住企业。则一定写为false。
defaultZone: http://${eureka.instance.hostname} : ${server.port}/eurekal
#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址
在等配置文件中,根据{eureka.instance.hostname}来取对应变量名称。
{eureka.instance.hostname}为 T,则 T 为 local-host
server.port 为7001。则默认 eureka 交互地址 local-host7001 以及域名。
以上告诉大家:微服务Server为物业公司,别的微服务注册到7001中,要全部设置为false。并不需要自我注册。物业公司没有向自己收物业费的这种可能以及自己向自己借钱,端口名称和地址。
4. EurekaServer7001_App主启动类
进入页面,让spring boot进行识别。
二、何将微服务注册进 Eureka
再主启动类上面,标注的启动该新组件技术的相关注解标签。
在第一步中,eureka 的相关坐标。为 server 端。末端紧跟 server的。便是 server 端。若没有,则为 clark 端。
@EnableEurekaServer
zul
l
EnableZuulProxyl
言下之意,需要开启服务,第一步已有,第二步用 Enable 注解标签开启。
@SpringBootApplication
@EnableEurekaServer // EurekaServer
服务器端启动类,接受其它微服务注册进来
public class EurekaServer7001_App
{
public static void main(String[ ] args)
{
SpringApplication.run(EurekaServer7001_App.class,] args);
}
}
EnableEurekaServer
à
说明 7001为 EurekaServer
5. 测试
启动之后查看后台是否有问题。没有问题后,查看微服务是非。
使用类似的原则和相应的路径。
此时会有相应的疑惑:微服务在哪里?
这是入住企业的科技楼和物业公司
请看如下:
说明此时并没有合适入住。原因在于 No application available 没有服务被发现 o(n_n)o 因为没有注册服务(8001微服务)进来,当然不可能有服务被发现。