用Eureka搭建注册中心
Eureka是服务治理组件,主要包括服务注册和服务发现,用来搭建服务注册中心。
Eureka 采用C/S(客户端/服务端)设计架构。由两个组件组成:Eureka服务端和Eureka客户端。
Eureka Server 作为服务注册的服务端,是服务注册中心。系统中其他微服务,使用 Eureka Client客户端连接到 Eureka Server服务端,并维持心跳连接。Eureka Client客户端是一个Java客户端,可以简化与服务器的交互、负载均衡、服务故障切换 等。
一、Maven
依赖管理(Jar包管理)&构建项目(项目打包)
Maven 是基于 Java 平台的项目管理工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。
二、创建SpringCloud项目
在IDEA中创建项目:
选择Spring Initializr进行项目初始化创建
使用Maven进行管理,打Jar包
搜索Eureka Server,添加服务端
添加完成之后Finish完成创建,等待Maven相关依赖的更新。
三、Git
在Terminal中使用git命令进行初始化
代码如下(示例):
git init
初始化完成会生成git相关文件,在.gitignore中可以配置Git忽略的文件或者目录(不是所有的文件都需要提交到Git,比如.iml是idea本地项目文件等)。
同时,在Git中勾选所有文件进行Git管理。
三、启动项目
在启动类中加入注解@EnableEurekaServer
此时启动CourseApplication时,Eureka Server会报错
这是因为Eureka在启动之后自己连接自己导致报错。这个稍后会进行配置。
四、创建子模块eureka
在项目上右键
创建maven项目
模块名字为eureka(图片中的下划线多打了,大家可以不用加下划线)
点击Finish完成,同时将生成的文件添加到Git中
将父模块中pom的依赖放到子模块pom中,配置为子模块eureka的依赖(父模块删除此依赖)
同时将父模块中的启动文件也移到子模块中,注意包名设置和启动类名更换
此时父模块的src文件已经不需要,删除即可。(记得提交Git)
五、解决eureka启动失败的问题
在eureka模块中创建配置文件application.properties
进行eureka的服务启动配置(应用名称,端口号,服务注册等)
spring.application.name=eureka
server.port=8761
#false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
eureka.client.fetch-registry=false
#false表示不向注册中心注册自己。
eureka.client.register-with-eureka=false
在resources文件夹中配置启动日志。SpringBoot默认用的是logback的日志记录,我们在这里也是使用logback.xml文件
创建logback.xml文件,配置如下信息
<?xml version="1.0" encoding="UTF-8"?>
<!--SpringBoot默认用的是logback的日志记录,这个是配置文件-->
<configuration