SpringCloud之Eureka

SpringCloud之Eureka,第1张

Eureka注册中心(快速上手)
  • 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
  • 二、多实例部署
  • 三、服务发现
    • 服务拉取:根据服务的名称获取服务列表,然后再对服务列表做**负载均衡**
      • 编写一个小测试(只提供了相关代码) :
      • 负载均衡

1、服务注册 搭建EurekaServer



1. 创建项目 2. 引入Spring-cloud-starter-netflix-eureka-server依赖
        
        <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





注册一个服务到EurekaServer 1.创建项目 2.引入spring-cloud-starter-netflix-eureka-client依赖

注意:必须引入web场景(需要Tomcat服务器)

3.配置application.yml
server:
  port: 8081 #eureka的端口
  
spring:
  application:
    name: userservice #服务名称

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10086/eureka



启动项目,并访问http://localhost:10086/, 运行结果:



二、多实例部署
我们可以将我们的服务多次启动,模拟多实例部署(但是确保端口不冲突,需要修改端口号)




运行结果:



三、服务发现 服务拉取:根据服务的名称获取服务列表,然后再对服务列表做负载均衡
使用 RestTemplate 进行服务的远程调用以及负载均衡
编写一个小测试(只提供了相关代码) :

编写一个orderservice的服务,通过订单服务查找用户的信息

  1. userservice的业务:

  2. 通过orderservice远程调用上图方法:

    • 在orderservice的启动类中注入RestTemplate:

      @Bean
          public RestTemplate restTemplate(){
              return new RestTemplate();
          }
      
    • 编写业务

  3. 运行结果:

负载均衡
当我们给userservice服务部署多个实例,就形成了一个服务列表,然后就可以对服务列表做负载均衡
  • 添加 @LoadBalanced 注解:
  • 修改访问的url路径,用服务名称替代IP和端口号:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/918584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存