-
Notifications
You must be signed in to change notification settings - Fork 668
Replace mDNS peering with gossip #826
Comments
Here is the WIP - https://github.com/weaveworks/weave/commits/gossipdns Its a fresh implementation, not sharing anything with existing code base. It is embedded in the router, and uses topology 'gossip' to propagate changes. |
May I suggest, for compatibility with #602, that any option this implementation has in common with its predecessor is
A rough list of candidates:
|
Good suggestion; I expect this DNS implementation to have significantly On Friday, 3 July 2015, Michael Bridgen [email protected] wrote:
|
From email with @rade: Problem I'm trying to solve: weave script needs to do different things I could:
Whats your preference?
That. |
Some qq for @rade, @squaremo and @inercia re: dns arguments
Gossip dns reads this info from /etc/resolv.conf (like the current dns code), but doesn't offer an option to override, so doesn't have this parameter. Do you think I should add that? I can't find an issue referencing why it was added to the existing code.
Gossip dns returns all answers. Do we want to allow users to limit the number of responses? Whats the usecase?
We do this by default, and we use the connection that exists for ipam in the router. I don't think it should be an option, as without it 'garbage collection' of entries won't work. What do you think?
We don't distinguish negative results from positive results in gossip dns, they all have the same ttl. Is this needed? |
my $0.02...
iirc I took it out and @inercia put it back :) Apparently useful for testing. I'd rather remove it.
premature optimisation. remove.
remove.
remove. |
Great - that a noop for me then! |
Well, don't just take my word for it. |
...but please make sure bin/multiweave still works. |
For testing, I believe; possibly the tests could be rewritten to supply a
I don't know.
I don't think there's a strong motivation for
The TTL for a negative answer is derived differently to a TTL for which you have a record, for the obvious reason; if not able to be derived (which is the case here I think) it should at least be distinct. |
@squaremo not sure I follow - for 'upstream' / proxied queries, we just return whatever the upstream sent us, and we do no caching. So we don't modify the ttl here. For authoritative queries (in weave.local), we consult our in memory database, and return the answer from there (zero length or otherwise). Are you saying the TTL on this response should be different if the answer is of zero length? Why? Note, unlike the mdns code, there is no reason to make the ttl very short for these in memory queries. |
Quite the opposite. Some dns resolvers cache based on the ttl. The new code finally allows us to have short ttls without a massive performance impact. |
Yes sorry I meant the exact opposite of what I said. I agree, we should On Mon, Jul 6, 2015 at 4:05 PM, Matthias Radestock <[email protected]
|
WeaveDNS peers currently use mDNS to communicate registrations amongst themselves in response to queries. This has a number of disadvantages:
These issues can be mitigated to a degree by adopting additional mDNS features intended to promote performance and scalability, however:
As a consequence, we intend to replace mDNS with the router gossip mechanism so that updates are proactively propagated to all peers, resulting in the following advantages:
Depends on #741 for access to the router gossip mechanism.
The text was updated successfully, but these errors were encountered: