version4:熔断器实现的小瑕疵
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- distributed-systems
Línea de trabajo
Start with version4/src/main/java/part1/Client/circuitBreaker/CircuitBreaker.java, focusing on recordFailure, recordSuccess, and the HALF_OPEN transitions. Review how requestCount, successCount, HALF_OPEN_SUCCESS_RATE, and the proposed minimum request count interact. Done requires an agreed state-transition policy for failures and early successes before implementation or a PR.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
针对 HALF_OPEN 状态。分析下面两处目前的逻辑:
- recordFailure 方法:只要失败了,就要被打回 OPEN 状态。因此接下来的请求必须每个都执行成功,才能回到 CLOSED 状态,那么设置 HALF_OPEN_SUCCESS_RATE 即成功率似乎没有意义?
- recordSuccess 方法:如果 requestCount == 1 即第 1 次请求就成功了,那么成功率直接 100%,进而直接就会变成 CLOSED 状态,似乎有点武断。
个人观点:依然是 HALF_OPEN 状态。
- 无论接下来的请求成功与否,requestCount++。
- 如果失败了,recordFailure 不应该直接回到 OPEN,仅记录失败时间即可。
- 如果成功了,recordSuccess 记录 successCount,并且设置一个最小 requestCounnt 数量如 HALF_OPEN_MIN_REQUEST_COUNT,防止第 1 次请求成功就侥幸溜走,但是后续又大量失败造成不必要的压力(虽然依然可以触发熔断)。
PS:提 issue 的时候还未编码实现,只是发现逻辑似乎有点问题。以上是目前个人的直观思路,若分析无误后续会提 PR。
- Lenguaje dominante
- Java
- Estrellas
- 694
- Forks
- 165
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de youngyangyang04/RPC-Java
-
version5关于令牌Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
youngyangyang04/RPC-Java#55 ·
-
version5 启动报错Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
youngyangyang04/RPC-Java#53 · 1 comentario ·
-
Version6限流器问题Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
youngyangyang04/RPC-Java#51 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
youngyangyang04/RPC-Java#50 ·
-
如何压测Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
youngyangyang04/RPC-Java#49 · 1 comentario ·
Todos los issues de youngyangyang04/RPC-Java
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
[Bug]: REST API URL starting with "http" but no scheme (e.g. httpbin.org/get) is not given an http:// prefixPosiblemente ocupada @ItsDeadlyProgrammer la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
appsmithorg/appsmith#42471 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
code-maintenance
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
bug priority: medium Review effort [1-5]: 3 status: needs-triage type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
carlos-emr/carlos#5258 ·
Los mantenedores suelen responder en 1 día