ServiceComb集成spring cloud zuul组件入门(二)-- 源码分析

一. ServiceComb和Spring Cloud Zuul 集成思路

在学习Spring Cloud Zuul的时候在官网发现了下面的描述
在这里插入图片描述

Zuul starter不包括 discovery client, 所以为了实现基于service ID的路由转发,你必须同时在类路径下提供一个discovery client ( 可以使用 Eureka )

这点很重要,意味我们可以自定义服务发现客户端替代Eureka
关于服务发现的概念:https://www.jianshu.com/p/5eac16e9804a

在这里插入图片描述

DiscoveryClientRouteLocator 过滤器从一个DiscoveryClient(例如Eureka)和属性文件中加载了路由定义信息。
serviceId对应的路由信息从DiscoveryClient中获取。

从以上信息可知,Zuul会从DiscoveryClient中获取路由信息。而服务发现就在DiscoveryClient中实现。

在之前的实现的zuulserver项目中,pom文件中有如下依赖

        <dependency>
            <groupId>org.apache.servicecomb</groupId>
            <artifactId>spring-boot-starter-discovery</artifactId>
            <version>1.1.0</version>
        </dependency>

以上就是一个自定义discovery client。可以完全代替Eureka。这个discovery client是专门与ServiceComb的服务与发现注册中心ServiceCenter进行交互的。

服务发现原理

       服务发现有三个角色,服务提供者、服务消费者和服务中介。服务中介是联系服务提供者和服务消费者的桥梁。服务提供者将自己提供的服务地址注册到服务中介,服务消费者从服务中介那里查找自己想要的服务的地址,然后享受这个服务。服务中介提供多个服务,每个服务对应多个服务提供者。

在这里插入图片描述
在这里插入图片描述
再来一张Eureka的图对比一下
在这里插入图片描述

二. 源码分析

下面看下servicecomb discovery client的目录结构,很明显这是一个自定义的SpringBoot的starter项目。源码从github上下载:https://github.com/apache/servicecomb-java-chassis

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值