- 1、服务注册
- 搭建EurekaServer
- 1. 创建项目
- 2. 引入Spring-cloud-starter-netflix-eureka-server依赖
- 3.在启动类添加@EnableEurekaServer注解
- 4.配置application.yml
- 注册一个服务到EurekaServer
- 1.创建项目
- 2.引入spring-cloud-starter-netflix-eureka-client依赖
- 3.配置application.yml
- 二、多实例部署
- 三、服务发现
- 服务拉取:根据服务的名称获取服务列表,然后再对服务列表做**负载均衡**
- 编写一个小测试(只提供了相关代码) :
- 负载均衡
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
dependency>
3.在启动类添加@EnableEurekaServer注解
4.配置application.yml
server:
port: 10086 #eureka的端口
spring:
application:
name: eurekaserver #eureka的服务名称
eureka:
client:
service-url: #eureka的地址信息
defaultZone: http://localhost:10086/eureka
注意:必须引入web场景(需要Tomcat服务器)
3.配置application.ymlserver:
port: 8081 #eureka的端口
spring:
application:
name: userservice #服务名称
eureka:
client:
service-url:
defaultZone: http://localhost:10086/eureka
启动项目,并访问http://localhost:10086/, 运行结果:
我们可以将我们的服务多次启动,模拟多实例部署(但是确保端口不冲突,需要修改端口号)
运行结果:
使用 RestTemplate 进行服务的远程调用以及负载均衡
编写一个小测试(只提供了相关代码) :
编写一个orderservice的服务,通过订单服务查找用户的信息
-
userservice的业务:
-
通过orderservice远程调用上图方法:
-
在orderservice的启动类中注入RestTemplate:
@Bean public RestTemplate restTemplate(){ return new RestTemplate(); }
-
编写业务
-
-
运行结果:
当我们给userservice服务部署多个实例,就形成了一个服务列表,然后就可以对服务列表做负载均衡
- 添加 @LoadBalanced 注解:
- 修改访问的url路径,用服务名称替代IP和端口号:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)