文章目录
- 前言
- 1、Eureka 两大组件
- 2、Eureka 服务注册与发现
- 3、案例
- 3.1、创建主工程
- 3.1.1、主工程pom.xml配置
- 3.2、创建子公共模块common-api
- 3.2.1、添加module
- 3.2.2、pom.xml配置
- 3.2.3、maven非springboot项目,增加main入口
- 3.3、创建Eureka注册中心模块eureka-server
- 3.3.1、配置pom.xml
- 3.3.2、配置application.yml
- 3.3.3、启动eureka-server
- 3.3.3.1、编译eureka-server
- 3.3.3.2、运行EurekaServerApplication.java文件
- 3.4、创建用户服务模块user-service
- 3.4.1、配置pom.xml
- 3.4.2、配置application.yml
- 3.4.3、启动user-service
- 3.4.3.1、编译user-service
- 3.4.3.2、运行UserApplication.java文件
- 3.4.3.3、测试
- 3.5、查看编译后的包
前言
Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。
Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。1、Eureka 两大组件
Eureka 采用 CS(Client/Server,客户端/服务器) 架构,它包括以下两大组件:Eureka Server、Eureka Client
组件 介绍 Eureka Server Eureka 服务注册中心,主要用于提供服务注册功能 Eureka Client Eureka 客户端,通常指的是微服务系统中各个微服务 2、Eureka 服务注册与发现
功能 介绍 服务注册中心(Register Service) 它是一个 Eureka Server,用于提供服务注册和发现功能。 服务提供者(Provider Service) 它是一个 Eureka Client,用于提供服务。它将自己提供的服务注册到服务注册中心,以供服务消费者发现。 服务消费者(Consumer Service) 它是一个 Eureka Client,用于消费服务。它可以从服务注册中心获取服务列表,调用所需的服务。 3、案例
3.1、创建主工程
名称:SpringCloud
3.1.1、主工程pom.xml配置
4.0.0 pom org.springframework.boot spring-boot-starter-parent 2.6.13 com.hqyj drp 0.0.1-SNAPSHOT drp-parent Demo project for Spring Boot 8 8 UTF-8 1.8 1.8 4.12 1.2.17 1.16.18 org.springframework.cloud spring-cloud-dependencies 2021.0.5 pom import org.apache.maven.plugins maven-compiler-plugin 3.5.1 ${maven.compiler.target} 3.2、创建子公共模块common-api
3.2.1、添加module
3.2.2、pom.xml配置
4.0.0 com.hqyj SpringCloud 0.0.1-SNAPSHOT common-api 8 8 UTF-8 org.projectlombok lombok 3.2.3、maven非springboot项目,增加main入口
添加Main.java,指定main入口,防止Maven package / install打包失败
public class Main { public static void main(String[] args) { System.out.println("common-api"); } }
3.3、创建Eureka注册中心模块eureka-server
3.3.1、配置pom.xml
4.0.0 com.hqyj SpringCloud 0.0.1-SNAPSHOT eureka-server 8 8 UTF-8 true org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.projectlombok lombok true com.github.enesusta spring-devtools 1.0.1 true org.springframework.cloud spring-cloud-starter-netflix-eureka-server 3.3.2、配置application.yml
在resource目录下,新建application.yml文件
编辑application.yml文件,添加eureka配置server: port: 7001 eureka: instance: hostname: localhost #eureka服务端的实例名称, client: register-with-eureka: false #false表示不向注册中心注册自己。 fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务 service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #单机版服务注册中心
3.3.3、启动eureka-server
创建EurekaServerApplication.java启动文件
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class,args); } }
3.3.3.1、编译eureka-server
3.3.3.2、运行EurekaServerApplication.java文件
启动:http://localhost:7001/3.4、创建用户服务模块user-service
3.4.1、配置pom.xml
4.0.0 com.hqyj SpringCloud 0.0.1-SNAPSHOT user-service 8 8 UTF-8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime true org.springframework.boot spring-boot-starter-test test junit junit 4.12 org.springframework springloaded 1.2.8.RELEASE org.springframework.cloud spring-cloud-starter-netflix-eureka-client com.hqyj common-api 0.0.1-SNAPSHOT 3.4.2、配置application.yml
server: port: 8001 spring: application: name: user-service #微服务名称 eureka: client: #将客户端注册到 eureka 服务列表内 service-url: defaultZone: http://localhost:7001/eureka #这个地址是 7001注册中心在 application.yml 中暴露出来额注册地址 (单机版)
3.4.3、启动user-service
创建UserApplication.java启动文件
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient public class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class,args); } }
3.4.3.1、编译user-service
3.4.3.2、运行UserApplication.java文件
3.4.3.3、测试
http://localhost:8001/user/userInfoList
3.5、查看编译后的包
猜你喜欢
- 10小时前VUE登录注册页面,完整vue,直接复制
- 10小时前unity 浏览器插件【embedded browser(原zfbrowser)】简单教程,使unity支持web h5页面,附软件下载链接
- 10小时前智能小程序相关名词解释(汇总)
- 10小时前数据湖架构Hudi(二)Hudi版本0.12源码编译、Hudi集成spark、使用IDEA与spark对hudi表增删改查
- 10小时前Kafka+redis分布式锁结合使用心得总结
- 10小时前前端超好玩的小游戏合集来啦--周末两天用html5做一个3D飞行兔子萝卜小游戏
- 10小时前Java 栈和队列的交互实现
- 6小时前悉知是什么意思(悉知是什么意思?知悉又是什么意思?)
- 5小时前闪送员(闪送员接单app)
- 25分钟前xp3用什么模拟器打开(xp模拟器怎么用)
网友评论
- 搜索
- 最新文章
- 热门文章