Simple Resolver example
| 
 
yaronr
 
Member since: 2015-01-07 15:07 
 
 | 
 Added: 2015-01-07 15:09 
 | 
Hi 
I would like to plug in my own resolver, and I was wondering if there's a simple example out there. 
Specifically, I'm interested in creating the Message and populating it. 
Of course, I reviewed the existing 2 resolvers. 
  
Thank you!  | 
| 
 
Unlogic
 
Member since: 2008-01-27 20:43 
 
 | 
 Added: 2015-01-07 16:15 
 | 
Hi Yaronr, 
Writing a resolver can be somewhat complex and it's actually the part of Eagle DNS that I've spent most time on. Apart from the two bundled resolvers I don't have any more examples. 
What is it that your trying to achieve? 
  
   | 
| 
 
yaronr
 
Member since: 2015-01-07 15:07 
 
 | 
 Added: 2015-01-07 16:48 
 | 
I'm building a multi-cloud platform, you can see the motivation here: http://www.multicloud.io 
The framework includes the following services (and others): 
	- Overlay network
	
 - Service discovery
	
 - Service routing
	
 - IP allocation
  
The last 3 are related: 
	- A service is scheduled to start on one of the nodes. 
	
 - The service obtains a unique IP from another service that allocates them according to (internal) FQDN
	
 - Service routing / discovery get updated
	
 - Service starts
	
 - A user tries to access the service from any node.
	
 - The user request goes to the discovery/routing service, which routes the request to one of the available instances of the service
  
DNS is used to resolve FQDN to IP, and a small DNS instance runs on every single host. 
The data on how to resolve is available via API 
So (and I hope you're not sorry for asking by now ;)) 
I would like to write a small resolver that would resolve against this service (I call it DCCP - Distributed Cluster Configuration Protocol) and will forward to public DNS if it fails to resolve. 
  
So - should I write a Resolver? or something else? 
   | 
| 
 
Unlogic
 
Member since: 2008-01-27 20:43 
 
 | 
 Added: 2015-01-07 16:52 Updated: 2015-01-07 16:53 
 | 
I think your on the right track here and I think that you can actually use quite a lot of the code the in the AuthoritativeResolver but instead of doing a call to systemInterface.getZone(name) you simply call a custom method to lookup the IP/Zone of the service in question.  |