Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support domain resolution to obtain the nameserver address #5180

Closed
lizhimins opened this issue Sep 23, 2022 · 6 comments
Closed

Support domain resolution to obtain the nameserver address #5180

lizhimins opened this issue Sep 23, 2022 · 6 comments

Comments

@lizhimins
Copy link
Member

lizhimins commented Sep 23, 2022

Currently, the address of the NameServer is resolved in the form of splitting ";".
In the k8s environment, we can deploy it in single deployment.
We need to support domain resolution to obtain the NameServer address.

目前对 NameServer 的地址是以分割 ";" 的形式进行解析的,在 k8s 环境中,由于 NameServer 水平对等无状态,我们可以采用 deployment 的形式部署,需要支持域名解析来获取地址。

@lizhanhui
Copy link
Contributor

lizhanhui commented Sep 23, 2022

Though this is a very commonly used technique, shared by many popular products, say grpc, envoy. This feature is pretty tricky for Java applications because Java has a lot of related bugs, which may impact this feature negatively if JDK is not carefully chosen
To name a few
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6247501
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8274692

@lizhimins
Copy link
Member Author

I make this feature optional and off by default, and emphasize the points needing attention in the config. Users need to understand its side effects when they enable a feature-gate like k8s.

@lizhimins
Copy link
Member Author

@RongtongJin @odbozhou @dongeforever Do you have a better idea?

@xdkxlk
Copy link
Contributor

xdkxlk commented Sep 26, 2022

Though this is a very commonly used technique, shared by many popular products, say grpc, envoy. This feature is pretty tricky for Java applications because Java has a lot of related bugs, which may impact this feature negatively if JDK is not carefully chosen To name a few https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6247501 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8274692

How did grpc-java solve this kind of problem?

@lizhimins
Copy link
Member Author

lizhimins commented Sep 26, 2022

image

How did grpc-java solve this kind of problem?

grpc use InetAddress.getAllByName(host) to get list

lizhimins added a commit to lizhimins/rocketmq that referenced this issue Sep 26, 2022
lizhimins added a commit to lizhimins/rocketmq that referenced this issue Sep 26, 2022
@lizhimins
Copy link
Member Author

image

lizhanhui pushed a commit that referenced this issue Sep 26, 2022
…ess (#5189)

* [ISSUE #5180] Support domain resolution to obtain the nameserver address

* [ISSUE #5180] Support domain resolution to obtain the nameserver address

Co-authored-by: 斜阳 <terrance.lzm@alibaba-inc.com>
drpmma pushed a commit that referenced this issue Feb 21, 2023
…ess (#5189)

* [ISSUE #5180] Support domain resolution to obtain the nameserver address

* [ISSUE #5180] Support domain resolution to obtain the nameserver address

Co-authored-by: 斜阳 <terrance.lzm@alibaba-inc.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants