了解spring cloud的可以看下这篇文章
https://blog.csdn.net/forezp/article/details/70148833/
下面简单介绍些使用
spring cloud有一个注册中心,作为服务端;然后多个客户端注册到注册中心
简单介绍下服务端跟客户端 网管什么的还没搞清楚就不写了
服务端
第一步 导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
第二步配置启动项
@EnableEurekaServer
在启动类添加注解,表明是spring cloud的服务端
第三步 配置配置文件
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://你的链接地址:端口号(默认8761)/eureka/ #服务地址
# 关闭eureka自我保护机制
server:
enableSelfPreservation: false
evictionIntervalTimerInMs: 4000 # 清理间隔(单位毫秒,默认是60*1000)
# Eureka 安全认证
security:
basic:
enabled: true
user:
name: 用户名
password: 密码
到此 服务端配置完毕
客户端
第一步 导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
两个依赖 一个表明是客户端 ,另一个是spring cloud使用的一个依赖
配置启动项
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
注解@EnableDiscoveryClient,@EnableEurekaClient的区别
EnableFeignClients 实现远程调用跟负载均衡的注解
配置配置文件
eureka:
client:
serviceUrl:
defaultZone: http://你的服务端链接地址:端口号/eureka/
spring:
application:
name: 你的应用名 #应用名
这里还有其他一些配置 具体的可以百度下 上面的是服务端的地址 以便注册到服务端
配置结束,下面是具体使用
以下总结自廖师兄视频 如有侵权 告知即删除
廖师兄的视频里更详细 大家可以去看下
spring cloud微服务实战
客户端B输出一句话,客户端A调用
看上去很想我们平时写的接收前台请求路径调用的方式,但其实是spring cloud客户端之间的调用
客户端A调用有三种方式
方式一 直接使用eurke提供的restTemplate
这里上面直接写你调用的客户端的ip加端口号就可以,但是有缺点,集群的时候没法用
方式二 使用loadBalance
通过autowired注解 把 loadBlanceClient引入。
通过loadBlanceClient类 选择你调用的应用的名称,他会自己进行负载均衡
方式三 通过bean注解
配置restTemplate
使用autowired注解引入restTemplat类
然后就可以直接使用这个类,调用拼接你另一个客户端的方法就可以了
最后还有一种终极调用方式, 需要在调用的客户端导入下面一个依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
上面的话即是在A的pom里加上如上依赖
在A的启动项加下面这个注解
@EnableFeignClients
新建一个clien接口,通过注解 声明调用的应用名 调用的应用是哪一个
然后 在A的controller 注入这个client调用方法即可
以上就是spring cloud使用的简单案例 如果有不明白的 请留言 写的可能有些含糊