SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置

目录

    • 一、Ribbon底层怎样实现不同服务的不同配置
    • 二、源码角度分析

一、Ribbon底层怎样实现不同服务的不同配置

  • 为不同服务创建不同的spring上下文,不同的spring上下文中存放对应这个服务所有的配置。

二、源码角度分析

  • SpringClientFactory中可以获取到所有ribbon中的信息,如下图:
    SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置_第1张图片

  • 从getClientConfig方法中调用getInstance方法获取,如下图:
    SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置_第2张图片

    SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置_第3张图片

  • getInstance方法中的spring应用上下文如何获取:根据服务名判断如果不存在则调用createContext创建,否则直接获取,如下图:
    SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置_第4张图片
    SpringCloud Alibaba——Ribbon底层怎样实现不同服务的不同配置_第5张图片

你可能感兴趣的:(springcloud,alibaba,spring,cloud)