zoukankan      html  css  js  c++  java
  • Spring Cloud 服务消费与负载均衡(Rest + Ribbon )

      上一篇主要写了基于Eurake的服务的注册,主要就是创建注册中心,创建服务者,将服务者注册到注册中心,完成服务的暴露。这一篇主要写服务的消费与服务消费的负载均衡。

      服务的调用方式有两种,Rest + ribbon ,另一钟是feign,feign集成了ribbon。这一篇主要说前者.

      因为服务消费者也是属于client,并且还有对于ribbon的依赖,创建服务消费者工程需要引入jar包

    spring-cloud-starter-netflix-eureka-client,spring-cloud-starter-netflix-ribbon。

    1.配置文件中要声明注册中心的地址,消费者注册的端口号,消费者的应用名。

    2.在主方法上添加@EnableEurakeClient 和 @EnableDiscoverClient

    3.通过@Bean RestTemplate 注入容器,并且@LoadBalanced 启动负载均衡功能

     

    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8764
    spring:
      application:
        name: service-ribbon
    @SpringBootApplication
    @EnableEurekaClient
    @EnableDiscoveryClient
    public class ServiceRibbonApplication {
    
        public static void main(String[] args) {
            SpringApplication.run( ServiceRibbonApplication.class, args );
        }
    
        @Bean
        @LoadBalanced
        RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
    }
    @Service
    public class HelloService {
    
        @Autowired
        RestTemplate restTemplate;
    
        public String hiService(String name) {
            return restTemplate.getForObject("http://SERVICE-HI/hi?name="+name,String.class);
        }
    
    
    }

    服务名称的请求在发送请求的时候会替换为对应的具体URL

    @RestController
    public class HelloControler {
    
        @Autowired
        HelloService helloService;
    
        @GetMapping(value = "/hi")
        public String hi(@RequestParam String name) {
            return helloService.hiService( name );
        }
    }

    采用不同的端口号启动两个服务消费者,在页面进行多次请求,会循环采用不同的端口号(负载算法后续补上)。

    现在的服务架构我画了个图:很丑,对付着看吧

    今天就先写到这吧,睡觉睡觉.

  • 相关阅读:
    第19章 网络通信----网络程序设计基础
    第18章 多线程----线程同步
    第18章 多线程----线程的优先级
    一款基于jquery和css3的响应式二级导航菜单
    一款纯css3实现的颜色渐变按钮
    一款基于jquery的手风琴显示详情
    推荐10款纯css3实现的实用按钮
    一款纯css3实现的数字统计游戏
    一款基于jquery ui的动画提交表单
    一款纯css实现的漂亮导航
  • 原文地址:https://www.cnblogs.com/zmeRecord/p/9950060.html
Copyright © 2011-2022 走看看