F版本SpringCloud 4—Eureka注册中心开发和客户端开发
鹿老师的Java笔记 人气:1
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171328883-1789749638.png)
> 源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials
## 前言
通过前三篇文章,用大白话介绍了微服务和SpringCloud以及服务治理相关的概念,从这篇开始SpringCloud代码的开发。
## SpringCloud 项目环境搭建
> **SpringCloud所有的demo都会采用 多模块开发 的方式**,通过父项目约束整个项目所有Module的版本,如果你不知道什么是 多模块开发,请阅读我的文章:SpringBoot 多模块开发 https://mp.weixin.qq.com/s/CDWnG0wr6hk6TvDYIELIaQ
>
### 创建父项目「约束版本」
> 父项目最大的作用就是约束版本,所有的步骤请严格按照教程进行,会有全面的截图
>
**1.在IDEA中创建一个maven项目(project)**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171330598-272572088.png)
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171331082-55330357.png)
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171331973-846939063.png)
**2.修改pom文件**
SpringCloud版本选择:Finchley.SR2,SpringBoot版本选择:2.0.3.RELEASE
pom文件如下:
```
```
## Eureka注册中心开发「单机版」
**1.基于Project创建一个新的Module**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171332693-157632119.png)
至于骨架,不选择任何骨架,maven还是Spring Initializr主要看个人习惯,我选择maven。
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171335463-1334896632.png)
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171336428-1206483227.png)
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171337907-1566390674.png)
**2.修改eureka-server-8801项目的pom文件**
> 观察pom文件可以发现,eureka-server-8801项目已经自动继承了父项目
> ![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171339303-1337505424.png)
注册中心的完整pom配置:
```
```
**3.创建SpringBoot的启动类,添加注解**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171343256-302881181.png)
代码如下:
```
package com.lby;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author luxiaoyang
* @create 2020-03-29-16:16
* @SpringBootApplication 声明当前类为SpringBoot的启动类
* @EnableEurekaServer 声明当前项目为注册中心
*/
@SpringBootApplication
@EnableEurekaServer
public class EurekaServer8801 {
public static void main(String[] args) {
SpringApplication.run(EurekaServer8801.class,args);
}
}
```
**4.创建配置文件,写入注册中心的配置**
```
server:
port: 8801
eureka:
client:
# 在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为
# 因为当前服务就是注册中心 不需要向任何人注册
# eureka.client. register-with-eureka:由于该应用为注册中心,所以设置为false,代表不向注册中心注册自己
registerWithEureka: false
# eureka. client . fetch-registry:由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false。
# 不主动发现别人
fetchRegistry: false
# 声明注册中心的地址
serviceUrl:
defaultZone: http://localhost:8801/eureka/
```
通过以上四步 就完成注册中心的搭建
**5.启动项目,访问http://localhost:8801可以访问注册中心的管理页面**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171344118-154195362.png)
No application available 目前没有客户端注册到注册中心
## Eureka客户端开发
不用关闭注册中心,接下来创建一个客户端,让客户端注册到注册中心上
> 创建客户端的步骤和注册中心类似
> 1. 创建项目结构
> 2. 修改pom
> 3. 修改启动类
> 4. 修改配置文件
>
**1.创建客户端项目 eureka-client-8803**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171345086-954817523.png)
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171346605-1672863438.png)
**2.修改pom文件,导入依赖**
```
```
**3.创建启动类**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171348953-1440047891.png)
```
package com.lby;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/**
* @EnableDiscoveryClient 声明当前项目为一个 Eureka客户端 可以被发现的客户端
* @EnableEurekaClient 声明当前项目为一个 Eureka客户端
*
* 区别:
* @EnableEurekaClient 只能向 Eureka 注册中心注册
* @EnableDiscoveryClient 除了向 Eureka 注册中心注册 可以向其他的注册中心注册 zookeeper consul
*/
@SpringBootApplication
@EnableEurekaClient
public class EurekaClient8803 {
public static void main(String[] args) {
SpringApplication.run(EurekaClient8803.class,args);
}
}
```
**4.创建并修改配置文件**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171350742-1280913179.png)
通过上面的四步,就完成一个Eureka 客户端的搭建
**5.启动项目 观察注册中心的监控页面 看一看有没有服务注册到注册中心**
> 确保注册中心和客户端都启动了
>
打开注册中心的网址http://localhost:8803 可以看到
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171351840-1755519042.png)
通过以上步骤就完成了最基本的注册中心和客户端的开发
## 总结
> 源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials
通过SpringCloud做微服务开发,不管是注册中心,还是客户端,还是网关等,SpringCloud几乎所有的组件都是四板斧:
1. 导入依赖
2. 启动类上加注解
3. 写配置文件
4. 直接使用
**恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。**
![](https://img2020.cnblogs.com/other/1003051/202003/1003051-20200329171352232-435374548.gif)
要掌握SpringCloud更多的用法,请持续关注本系列教程。
## 求关注,求点赞,求转发
> 欢迎关注本人公众号:鹿老师的Java笔记,将在长期更新Java技术图文教程和视频教程,Java学习经验,Java面试经验以及Java实战开发经验。
加载全部内容