Spring Cloud Feign + Sleuth + Zipkin - требуется оригинальный запрос

У меня есть мультисервисное приложение, которое использует Spring Cloud OpenFeign. Теперь я должен использовать zipkin с этим приложением. Я помню, что когда у меня было приложение без Feign, я просто добавлял зависимости для запуска Sleuth и Zipkin и запускал zipkin-сервер на порту 9411. После этого Zipkin работал хорошо... Но теперь, когда я пытаюсь сделать то же самое в моем приложении с Feign, я получаю ошибку 500 "оригинал Требуется запрос ". Я предполагаю, что у Feign есть некоторые проблемы с заголовками, когда Sleuth добавляет информацию о следах. Можете ли вы помочь мне исправить это?

1 ответ

Решение

Трудно сказать без дополнительной информации. Но это может быть связано с несовместимыми библиотеками. Можете ли вы опубликовать свои зависимости?

Если вы используете старую версию okhttpclient с последним весенним облаком:greenwich, это может вызвать эту проблему.

Я использую Greenwich.RELEASE с okhttpclient:10.2.0, который работает без проблем

Используйте нижеприведенное Управление зависимостями для весенней загрузки, чтобы загрузить подходящие версии для облачной версии.

    <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Я использую Java 10, версия cloud.version - Finchley.SR2, sprinb-boot:2.2.0 и spring-cloud-starter-openfeign:2.1.2.RELEASE. и эта комбинация сработала для меня, чтобы решить проблему.

Фактическая проблема заключалась в том, что 10.xx feign-core не работал, а io.github.openfeign:feign-core:jar:9.7.0:compile работал.

Я столкнулся с этой проблемой, используя java 11, springboot 2.3.0.RELEASE и версию Spring-Cloud Greenwich.RELEASE. Меня спасло добавление следующих зависимостей:

    <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-okhttp</artifactId>
        <version>10.2.0</version>
    </dependency>
    <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-core</artifactId>
        <version>10.2.0</version>
    </dependency>

Надеюсь, это кому-то поможет.

Другие вопросы по тегам