springcloud微服务-整合feign、hystrix、zuul等使用

项目大概图
在这里插入图片描述

代码链接:github超链接

一,总体

Eurekaserver:注册中心
Configserver:配置中心
Client:消费者;集成了Feign负载均衡、服务熔断、Hystrix服务监听。
Studuent:服务提供者
Zuul:服务网关

二,父工程springcloud2

springcloud是基于springboot实现的,创建springcloud2父工程,可以选择模板创建项目(SpringInitializr),但我喜欢使用maven创建,maven需要自己在pom.xml中添加相关依赖。
在这里插入图片描述
在这里插入图片描述

此中表示继承的spring-boot-starter-parent,一些基础的依赖。比如编码格式什么的。

中的jar是直接加到项目中,并且会被子项目自动添加(如果有父pom,子pom,则子pom中只能被动接受父类的版本)
里只是声明依赖,并不实现引入,只有子类实现了该类,并且没有具体版本,才去父项目里面去读取该信息。

可以发现,springboot-starter-web与lombok子类都会被动继承。而springframework-springcloud需要子类自己去添加才会有。

三,eurekaserver注册中心

注册中心就相当于中介,各服务只要注册到注册中心,注册中心就会有信息显示,注册中心也可以注册自己。

1,创建module模块,添加pom.xml依赖
在这里插入图片描述

该依赖表示该模块为eureka-server。同时它强制继承了父模块的lombok和starter-web。

2, application.xml中配置相关信息
在这里插入图片描述

server.port:当前Eureka Server服务端口。
eureka.client.register-with-eureka:是否将当前的Eureka Server服务作为客户端进行注册。
eureka.client.fetch-registry:是否获取其他Eureka Server服务的数据。
eureka.client.service-url.defaultZone:注册中心访问地址。

3,创建启动类
在这里插入图片描述

@SpringBootApplication:声明该类是Spring Boot服务的入口。
@EnableEurekaServer:声明该类是一个Eureka Srever微服务,提供服务注册和服务发现功能,
即注册中心。

四,配置中心

1.添加pom.xml依赖
在这里插入图片描述

添加config-server配置中心 和eureka子模块
2,application.yml
在这里插入图片描述

端口8008

profiles.active:表示的是文件的获取方式
cloud.config.server.native.search-location:本地配置文件存放的路径。
Eureka-client-service-url-defaultZone:注册中心访问地址。
Instance.instance-id;在eureka上显示该服务的名称,
Perfer-ip-address:注册时使用ip而不是主机名

3,shared下的目录
各个服务的配置
4,创建启动类
在这里插入图片描述

@SpringBootApplication:声明该类是Spring Boot服务的入口。
@EnableEurekaServer:声明该类是一个Eureka Srever微服务,提供服务注册和服务发现功能,
即注册中心。
@EnableConfigServer:声明该类是微服务的配置中心。

五,Student服务提供者

1,添加pom.xml依赖
在这里插入图片描述

eureka子模块
配置中心
mybatis整合
数据库驱动
2,bootstrap.yml
名字不能写application.yml,不然不能读取配置中心的文件。
在这里插入图片描述

通过student-dev,到8002中寻找studnet-dev.yml:
在这里插入图片描述

Server:端口号
Spring…数据库相关信息
mybatis的扫模
Eureka-client…注册到注册中心

3,entity
添加lombok简写set /get等方法
3,创建接口
其与resource相映射,每个接口的sql语句写在mapping中。
4,studentRepository.xml与StudentRepository接口相关联
5,控制器
通过实例化接口实现crud

六,服务消费者

1,添加相关依赖
在这里插入图片描述

Feign:负载均衡
Hystrix:结合feign实现服务熔断
Actuator:健康监控
Hystrix-dashbord:服务监控
2,bootstrap.xml读取配置中心信息
在这里插入图片描述

倒数第一个是服务监控功能
倒数第二个是是否开启服务熔断,你不写true开启,他是默认关闭的(踩过坑)
3,控制器、实体与服务提供者差不多。
student接口是正常情况下调用的,上面的注解FeignClient,value=student表示调用的服务提供者student的服务。
fallback = StudentFeignError.class
表示如果发生错误,会熔断,回去执行它实现的一个方法。

七,zuul服务网关

1,添加pom依赖
在这里插入图片描述

2,application.yml配置相关信息
在这里插入图片描述

zuul.routers.provider:设置映射
这里我通过/p/**表示 client服务消费者。

3,服务启动类
在这里插入图片描述

EnableZuulProxy:包含了EnableZuulServer,设置该类是网关的启动类。
EnableAutoConfiguretion:可以帮助Spring Boot应用将所有符合条件的Configuration配置加载到当前Spring Boot创建并使用的IOC容器中。(SpringbootApplication注解默认使用了该属性)
@EnableEurekaClient:声明该类是一个Eureka Srever微服务,提供服务注册和服务发现功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值