资讯专栏INFORMATION COLUMN

7、服务发现&服务消费者Ribbon

tangr206 / 1455人阅读

摘要:在服务注册服务提供者这一篇可能学习了这么开发一个服务提供者,在生成上服务提供者通常是部署在内网上,即是服务提供者所在的服务器是与互联网完全隔离的。服务消费者本质上也是一个。

在《服务注册&服务提供者》这一篇可能学习了这么开发一个服务提供者,在生成上服务提供者通常是部署在内网上,即是服务提供者所在的服务器是与互联网完全隔离的。这篇说下服务发现(服务消费者),通常服务消费者是部署在与互联网联通的服务器上,提供restful接口给H5和App调用。

服务消费者 :Service Consumer本质上也是一个Eureka Client。它启动后会从Eureka Server上获取所有实例的注册信息,包括IP地址、端口等,并缓存到本地。这些信息默认每30秒更新一次。如果与Eureka Server通信中断或者Eureka Server宕机,Service Consumer仍然可以通过本地缓存与Service Provider通信。
1、 新建项目sc-eureka-client-consumer-ribbon,对用的pom.xml文件


    4.0.0

    spring-cloud
    sc-eureka-client-consumer-ribbon
    0.0.1-SNAPSHOT
    jar

    sc-eureka-client-consumer-ribbon
    http://maven.apache.org

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.4.RELEASE
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Finchley.RELEASE
                pom
            

        
    

    
        UTF-8
        1.8
        1.8
    

    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
            2.0.1.RELEASE
        

        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-ribbon
            2.0.1.RELEASE
        

        
            org.springframework.boot
            spring-boot-starter-web
            2.0.4.RELEASE
        

    

备注:spring cloud 2.x推荐使用spring-cloud-starter-netflix-ribbon,而且spring-cloud-starter-ribbon已经被标志为过期

2、 新建类ConsumerApplication.java,spring boot启动类

package sc.consumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class ConsumerApplication {
    
    public static void main(String[] args) {
        
        SpringApplication.run(ConsumerApplication.class, args);
        
    }

}

3、 创建类RestTemplateConfig.java,该类是一个配置类,主要返回org.springframework.web.client.RestTemplate对象

package sc.consumer;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class RestTemplateConfig {
    
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

}

4、 创建配置文件bootstrap.yml和application.yml;具体内容参考源码

5、 其他类接口如下

6、 启动注册中心sc-eureka-server和服务提供者sc-eureka-client-provider,具体请参考《eureka注册中心单机》和《服务注册&服务提供者》
7、 启动服务消费者sc-eureka-client-consumer-ribbon,并验证是否启动成功

也可以查看日志是否有没有报错

8、 访问相关接口
查询:
http://127.0.0.1:5600/cli/user/getUser/4

列表:
http://127.0.0.1:5600/cli/user/listUser

添加:
http://127.0.0.1:5600/cli/user/addUser

更新:
http://127.0.0.1:5600/cli/user/updateUser

删除:
http://127.0.0.1:5600/cli/user/deleteUser/6

https://gitee.com/hjj520/spring-cloud-2.x/tree/master/sc-eureka-client-consumer-ribbon

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77777.html

相关文章

  • 8、服务发现&服务费者Feign

    摘要:公众号乐园的中提供了两个组件实现软负载均衡调用,分别是和。是基于和的客户端负载工具,它是基于实现的,它可以在客户端配置服务端列表,然后轮询请求以实现均衡负载。 公众号:java乐园 spring cloud的Netflix中提供了两个组件实现软负载均衡调用,分别是Ribbon和Feign。上一篇和大家一起学习了Ribbon。Ribbon :Spring Cloud Ribbon是基于H...

    lpjustdoit 评论0 收藏0
  • 史上最简单的SpringCloud教程 | 第二篇: 服务费者(rest+ribbon

    摘要:在服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于的。配置文件如下在工程的启动类中通过向服务中心注册并且注册了一个通过注册表明,这个是负载均衡的。 转载请标明出处: http://blog.csdn.net/forezp/a...本文出自方志朋的博客 在上一篇文章,讲了服务的注册和发现。在服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http re...

    dreamans 评论0 收藏0
  • springCloud学习2(服务发现)

    摘要:服务消费者可以使用多种模型来发现服务。客户端将定期与服务发现层进行通信,并刷新服务实例的缓存。为了达成目的,我们将要学习使用个不同的客户端库,服务消费者可以使用它们来和进行交互。 本篇代码存放于:github 一、服务发现架构   服务发现架构通常具有下面 4 个概念: 服务注册:服务如何使用服务发现代理进行注册? 服务地址的客户端查找:服务客户端查找服务信息的方法是什么? 信息共享...

    史占广 评论0 收藏0
  • spring-cloud-eureka服务治理

    摘要:服务续约在服务注册完成之后,服务提供者需要维护一个心跳来告知注册中心服务实例处于正常运行状态中,防止注册中心将正常的服务实例剔除出注册中心。 Spring Cloud Eureka 目录 前言 构建服务注册中心 服务注册与发现 Eureka的基础架构 Eureka的服务治理机制 Eureka的配置 代码地址 前言 服务治理  随着微服务应用的不断增加,静态配置会越来越难以维护,并且...

    Clect 评论0 收藏0
  • 程序员笔记|详解Eureka 缓存机制

    摘要:和二级缓存影响状态更新,缩短这两个定时任务周期可减少滞后时间,例如配置更新周期更新周期服务提供者保证服务正常下线。服务提供者延迟下线。 引言 Eureka是Netflix开源的、用于实现服务注册和发现的服务。Spring Cloud Eureka基于Eureka进行二次封装,增加了更人性化的UI,使用更为方便。但是由于Eureka本身存在较多缓存,服务状态更新滞后,最常见的状况是:服务...

    mgckid 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<