【Discuss】 About DNSCacheHttpClient



1. `dnsCacheLookupInterval` and `dnsCacheMaxLength`
https://github.com/eggjs/egg/blob/333d7b8f540a413c3d253a21a079113165065036/lib/core/dnscache_httpclient.js#L73-L80

When cache expired, do dns look.
When now is greater than interval time, do dns look.
Actually they are the same logic. then why not to keep just one config.

2. logger.info
https://github.com/eggjs/egg/blob/333d7b8f540a413c3d253a21a079113165065036/lib/core/dnscache_httpclient.js#L13
What's your expect interval time? 10sec? That means print this log every 10 sec.
It's really unnecessary to show use I did a dns lookup in `INFO` level, suggest to change it to `DEBUG`

3.  Throw Error
https://github.com/eggjs/egg/blob/333d7b8f540a413c3d253a21a079113165065036/lib/core/dnscache_httpclient.js#L97
When doing a dns lookup, it throw an error if lookup failed.
The main point here is to send a http request, if dns lookup failed, we still can use cache dns, or just use system dns lookup. and if the http request failed, then we can throw an error. 
So I think dns lookup failed should only gives an warning, and user can continue on the http request sending.