apache / incubator-seata

:fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
https://seata.apache.org/
Apache License 2.0
25.32k stars 8.78k forks source link

seata-discovery-raft augment health check #6785

Closed funky-eyes closed 4 days ago

funky-eyes commented 2 months ago

Why you need it?

Is your feature request related to a problem? Please describe in details seata-discovery-raft 增加健康检查功能,因为discovery-raft中目前是通过随机读取一个follower节点来watch和pull元数据,但是由于没有健康检查,导致可能某个follower挂了,依旧会将请求发到该follower上,而且如果所有节点都下线了,上线后server的ip全部改变,也会导致client无法获取元数据,所以应该针对初始的initaddress,和拉取到的元数据做一个集合来健康检查,这样init address就可以是一个安全可靠的内部lb地址,即便server全挂了ip改变,最终也可以通过这个init address重新加载到元数据。

To add a health check feature to seata-discovery-raft, consider the following:

Currently, discovery-raft reads metadata by randomly selecting a follower node to watch and pull data. However, without health checks, requests may still be sent to a follower node that is down. Additionally, if all nodes go offline and come back online with changed IP addresses, clients may not be able to retrieve metadata. To address this, a health check mechanism should be implemented for the initial initAddress and the metadata retrieved. This way, the initAddress can be a reliable internal load balancer address, ensuring that even if all servers are down and IP addresses change, the metadata can be reloaded through this initAddress.

How it could be?

A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.

Other related information

Add any other context or screenshots about the feature request here.

heliang666s commented 2 months ago

please assign to me.I want to solve it.

funky-eyes commented 2 months ago

please assign to me.I want to solve it.

Okay, looking forward to your PR. You can refer to the current health check design for the naming server nodes in seata-discovery-namingserver。

SAIVARDHAN15 commented 1 month ago

hey @heliang666s, are you working on this ? if its open to work on.. I am good to go with it

funky-eyes commented 3 weeks ago

Hello @heliang666s, are you currently working on this task? How is the progress going?