alibaba / alibaba/Sentinel

[feature request] HeartbeatSender's implementation should use all Endpoints

Open
#2,083 4 comments 0 reactions 0 assignees View on GitHub
area/dashboard kind/enhancement
Dominant language
Java
Stars
23.1k
Forks
8.1k
PR merge metrics
No merged PRs in 30d

Description

## Issue Description

Type: *feature request*

### Describe what happened (or what feature you want)

HeartbeatSender‘s implementation should use all Endpoints to send heartbeat

#### com.alibaba.csp.sentinel.transport.heartbeat.SimpleHttpHeartbeatSender

In
https://github.com/alibaba/Sentinel/blob/45dd5d0b9a33926edc6a5ea618b119797b666ad2/sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/heartbeat/SimpleHttpHeartbeatSender.java#L92

`currentAddressIdx` always be 0

#### com.alibaba.csp.sentinel.transport.heartbeat.HttpHeartbeatSender

In https://github.com/alibaba/Sentinel/blob/3e438b3dba17641603099524aabbe457f8bc55fd/sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/csp/sentinel/transport/heartbeat/HttpHeartbeatSender.java#L72

always use first Endpoint

### Describe what you expected to happen

Use some load balance algorithm to use all Endpoints instead of always use fixed one?

### Tell us your environment

Sentinel Version: 1.8.1

### Anything else we need to know?

Contributor guide

Open the contributing guide

Research direction

Start with sentinel-transport/sentinel-transport-simple-http/src/main/java/com/alibaba/csp/sentinel/transport/heartbeat/SimpleHttpHeartbeatSender.java and sentinel-transport/sentinel-transport-netty-http/src/main/java/com/alibaba/sentinel/transport/heartbeat/HttpHeartbeatSender.java at the referenced locations. Trace how endpoints are selected and review related heartbeat tests or entry points; done means both implementations can send heartbeats through all configured endpoints rather than always selecting the first.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.