一致性哈希是实现类,多个主机端口的远程接口,被注册到一个一致性哈希环上
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- java
- Ambito
- backend, distributed-systems
Direzione di ricerca
Start with version3/src/main/java/part1/Client/serviceCenter/balance/impl/ConsistencyHashBalance.java at line 18, focusing on the static SortedMap and how virtual nodes are registered. Reproduce the two-host scenario with UserServiceImpl and OrderServiceImpl, then verify that serial remote calls select the correct interface without a NullPointer or missing implementation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
https://github.com/youngyangyang04/RPC-Java/blob/a3c79b111176ab8b84151da63e715993dd126aad/version3/src/main/java/part1/Client/serviceCenter/balance/impl/ConsistencyHashBalance.java#L18
一致性哈希实现类,成员变量声明为static,若两个不同ip:port的主机,主机1注册一个UserServiceImpl,主机2注册一个OrderServiceImpl,如{OrderService->127.0.0.1:9999, UserService->127.0.0.1:4399},此时Client串行请求两个远程调用,有极大概率出现bug,主要原因就是由于声明为static的SortedMap<Integer, String>对象,将两个接口的VN放到了一个"一致性哈希环"上,导致某一个接口因为一致性哈希到了另一个接口上,导致NullPointer,因为负载给出的接口错了,一定是找不到方法的实现类。
不动当前结构,去掉一致性哈希实现类的所有static即可解决,只进行了简单的测试,for(100)是没有测出问题,这样的改进方法应该不是最好的,也不一定是完全没问题的。
- Lingua principale
- Java
- Stelle
- 694
- Fork
- 165
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di youngyangyang04/RPC-Java
-
version5关于令牌Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
youngyangyang04/RPC-Java#55 ·
-
version5 启动报错Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
youngyangyang04/RPC-Java#53 · 1 commento ·
-
Version6限流器问题Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
youngyangyang04/RPC-Java#51 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
youngyangyang04/RPC-Java#50 ·
-
如何压测Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
youngyangyang04/RPC-Java#49 · 1 commento ·
Tutte le issue di youngyangyang04/RPC-Java
Issue simili
-
pdfium-drift
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Stirling-Tools/JPDFium#188 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
openremote/openremote#3487 · 1 commento ·
-
Type/Bug U2
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
wso2/product-is#28675 ·
I maintainer di solito rispondono entro 1 giorno
-
a:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
erupts/erupt#460 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno