开发者学堂课程【微服务框架 Spring Cloud 快速入门:将已有的部门微服务注册进Eureka服务中心】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/614/detail/9345
将已有的部门微服务注册进Eureka服务中心
一、如何将一个微服务成功入注进 Eureka
将 Service Provider 提供者注册进 Eureka Server。先将8001注册进7001。
1. 修改microservicecloud-provider-dept-8001。
2.POM:
(1)修改内容
<!-- 将微服务provider侧注册进eureka -->
<dependency><groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config
<
/artifactId>
</dependency>
第一个:<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config
<
/artifactId>
</dependency>
这个包是标配。
第二个:怎么表明入注 Eureka?
spring-cloud-starter-eureka这句代码的eureka后面不需要跟着“#server”。
#sever是:在7001的 pom.xml 里是 ,如何证明是服务端看eureka-server这是7001。
把8001入注进7001需要向微服务证明是eureka的client端。
(2)完整内容
<version>${project.version}</version>
<
/
dependency>
<!-- 将微服务 provider 侧注册进 eureka -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config
<
/artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
将这个完整内容全选后粘贴进自己的工程里。
到8001的pom.xml中把下面两个代码新增进去,就是引用eureka端。
<!-- 引入自己定义的 api 通用包,可以使用 Dept 部门Entity -->
<dependency>
<groupId>com.atguigu.springcloud</groupId>
<artifactId>microservicecloud-api</artifactId>
<version>$
{
project.version
}
</version>
</dependency>
3.YML:
(1)修改内容
eureka:
client: #客户端注册进eureka服务列表内
service-url:
defaultZone: http://localhost:7001/eureka
(2)完整内容
config-location:
classpath:mybatis/mybatis.cfg.xm1
# mybatis配置文件所在路径
type-aliases-package:
com.atguigu.springcloud.entities
#所有entity别名类所在包
mapper-locations:
-
classpath:mybatis/mapper/**/*.xm1
# mapper映射文件
spring:
application:
name:
microservicecloud-dept
datasource:
type:
com.alibaba.druid.pool.DruidDataSource
driver-class-name:org.gjt.mm.mysq1.Driver
url:
jdbc:mysq1://localhost:3306/cloudDB01
service-url:
defaultZone: http://localhost:7001/eureka
添加这部分的原因是告诉8001要入注到eureka服务器上,它的地址是: http://localhost:7001/eureka;
这是8001和7001的对比。(上面张图是8001,下面张图是7001)
8001比7001新增了一个步骤,这一步说明8001要入注到7001的eureka;是通过7001下面对外约定好的地址。
总结:
第一步POM文件新增内容,新增eureka坐标后面不接sever就说明是EurekaClient;
第二步主启动类上面,标注的启动该新组件技术的相关注解标签。
4.DeptProvider8001_App主启动类
@EnableEurekaClint
//本服务启动后会自动注册进eureka服务中。这句话说明8001表明的是eureka的client端。
DeptProvider8001_App.java 代码如下:
p
ackage
com.atguigu.springcloud;
import
org.springframework.boot.SpringApplication;
@SpringBootApplication
@EnableEurekaClient
//本服务启动后会自动注册进eureka服务中
Public class
DeptProvider8001_App
{
public
static
void
main(String[]
args)
{
SpringApplication.run(DeptProvider8001_App.class,
args);
}
}
@EnableEurekaSever;@EnableEurekaClint
是eureka的服务端和客户端,证明了eureka是CS结构。
5.测试
(1)启动7001和8001。(去网页界面搜索localhost:7001)
MICROSERVICECLOUD-DEPT就是注入进Eureka服务注册里的服务注册名,也就是微服务名称。
微服务名字是从8001中的application.yml得来
spring:
application:
name: microservicecloud-dept
言下之意,微服务名字就是 name: microservicecloud-dept 这个的名字。上面图中名字的全大写是Eureka自动改的,因此对外暴露的微服务名字就是MICROSERVICECLOUD-DEPT这个名字。