Provide Spring gRPC DiscoveryClient integration

Đang mở
#1,675 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
38/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
java, spring, spring-boot

Hướng nghiên cứu

Bắt đầu với prototype và phần thảo luận trong spring-grpc issue #341 và PR #394, sau đó xem xét các abstraction DiscoveryClient, HeartbeatEvent và Registration được nêu ở đây. Xác nhận vị trí của module và các quy ước của Spring Cloud Commons trước khi điều chỉnh integration; được xem là hoàn tất khi các target discovery:/// được phân giải, các thay đổi heartbeat làm mới địa chỉ và hành vi của metadata gRPC_port được bao phủ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

waiting-for-triage

Description

spring-projects/spring-grpc issue #341 requested support for resolving gRPC client targets such as discovery:///service-name through Spring Cloud DiscoveryClient.

A working prototype was implemented in spring-grpc, but Spring gRPC maintainers noted that this integration should live on the Spring Cloud side because of the dependency direction between Spring Boot, Spring gRPC and Spring Cloud:

Proposed Scope

Add a Spring Cloud module that bridges Spring Cloud service discovery with Spring gRPC by:

  • resolving discovery:///service-name targets through DiscoveryClient
  • refreshing resolved addresses when Spring Cloud publishes a HeartbeatEvent
  • preferring the gRPC_port metadata entry and falling back to the regular service instance port
  • optionally publishing spring.grpc.server.port as gRPC_port metadata through the Registration abstraction when metadata is mutable

Why This Belongs Here

The implementation depends on Spring Cloud abstractions such as:

  • DiscoveryClient
  • HeartbeatEvent
  • Registration

while the gRPC side can stay limited to Spring gRPC extension points.

Prior Art / Prototype

The current prototype and discussion live here:

Question

Would Spring Cloud Commons accept this as:

  1. a new module in this repository, or
  2. a different Spring Cloud repository / subproject?

If this repository is acceptable, I can adapt the current prototype to match Spring Cloud Commons conventions and open a PR here.

Ngôn ngữ chính
Java
Star
751
Fork
767
Merge trung bình
1 ngày 1 giờ
Pull request đã merge (30 ngày)
17

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của spring-cloud/spring-cloud-commons

Tất cả issue của spring-cloud/spring-cloud-commons

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.