Closed funky-eyes closed 4 days ago
please assign to me.I want to solve it.
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。
hey @heliang666s, are you working on this ? if its open to work on.. I am good to go with it
Hello @heliang666s, are you currently working on this task? How is the progress going?
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.