[ 
https://issues.apache.org/jira/browse/TUBEMQ-141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17117543#comment-17117543
 ] 

viviel commented on TUBEMQ-141:
-------------------------------

After discussion, the final process for obtaining IP is roughly as follows:
1. Get all network interfaces
2. Filter out the docker0 interface, non-up interface
3. Traverse the address of a legal network interface
4. Exclude LoopbackAddress, 127.0 network segment address, and IPV6 address
5. Obtain the final legal IPV4 address
6. If you can't get it in the fifth step, call InetAddress.getLocalHost () to 
get it, otherwise throw the exception information to the user

About the transformation of TubeClientConfig and ConsumerConfig:
1. The old construction method is marked as deprecated
2. Add a new construction method without localhost parameter

> Remove the requirement to provide localHostIP
> ---------------------------------------------
>
>                 Key: TUBEMQ-141
>                 URL: https://issues.apache.org/jira/browse/TUBEMQ-141
>             Project: Apache TubeMQ
>          Issue Type: Improvement
>            Reporter: Guocheng Zhang
>            Assignee: viviel
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.5.0
>
>         Attachments: image-2020-05-21-20-54-37-013.png
>
>
> The initial requirement to provide localHostIP during initialization is 
> because we have multiple network cards and multiple IPs in our environment. 
> The initial implementation is to find the first IP from the specified 
> NetworkInterface and report it, but It is found that sometimes the specified 
> NetworkInterface is not configured with IP, so, we consider the user is 
> required to provide a local IP:
>  !image-2020-05-21-20-54-37-013.png! 
> After a period of use, the user feedback the API is cumbersome to use. The 
> best way is to provide a configurable NetworkInterface API, so if the IP is 
> not found, we can change the NetworkInterface.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to