zoukankan      html  css  js  c++  java
  • Spring Cloud学习笔记-005

    服务消费者

      之前已经搭建好了微服务中的核心组件——服务注册中心(包括单节点模式和高可用模式)。也有了服务提供者,接下来搭建一个服务消费者,它主要完成两个目标,发现服务以及消费服务。其中,服务发现的任务由Eureka的客户端完成,而服务消费的任务由Ribbon完成。

      Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括Feign,它也是基于Ribbon实现的工具。

    1. 首先,启动一个服务注册中心(端口号7001),并启动demo-member服务(端口号:5001),启动成功后,将demo-member的端口号改为5002,再启动一个demo-member服务。

    2. 新建maven工程,骨架选择quickstart,工程名称:demo-customer

    3. 加入相关依赖:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
        <relativePath />
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    4. 编写启动类,并在启动类中创建RestTemplate实例,并通过@LoadBalanced注解开启客户端负载均衡:

    5. 创建消费者调用服务接口:

    6. 在srcmain esources目录下新建application.yml文件:

    7. 启动消费者项目,浏览器调用getMember接口,观察效果。

    8. 观察eclipse控制台,发现5001和5002两个服务一次被调用,说明Ribbon也起到了负载均衡的效果。

  • 相关阅读:
    c#读sql server数据添加到MySQL数据库
    ASP.NET取得Request URL的各个部分
    jquery,attr,prop,checkbox标签已有checked=checked但是不显示勾选
    ASP.NET 4.0 :MasterPage母版页的ClientIDMode属性
    百度地图 根据坐标,获取省份,城市,区域
    ECharts
    SQL 更新修改删除一个表,库存自动增减的写法
    ajaxFileupload 多文件上传
    JSON C# Class Generator ---由json字符串生成C#实体类的工具
    mvc 部署到iis 提示错误未能加载文件或程序集System.Web.Http.WebHost
  • 原文地址:https://www.cnblogs.com/Oven5217/p/8821889.html
Copyright © 2011-2022 走看看