You might want to use pipe/remotebackend to model your backend first, as you can use "whatever" you want to write this model. Once you understand this, you could then convert it to a native C++ backend. Please refer to doc.powerdns.com on how to write a native backend.
Aki On Tue, Feb 05, 2013 at 01:12:15AM -0800, RBK1001 wrote: > > understand. > > I actually have a client that accessing my customerize non-sql backend. It > looks like I need to create a C application to work with the pDNS. > > is there any sample that I can refer to. > > - rbk > > > > Aki Tuomi wrote: > > > > Um. No. > > > > It's like this: > > > > pipe and remotebackends act as conduits that let you use whatever as the > > real > > backend by converting the requests into some plain text format. Such as > > tab separated query or json. > > > > This lets you use script languages (perl,ruby,python,sh,whatnot) as the > > actual > > backend, and the middleware (pipe or remotebackend) handles the tedious > > task > > of converting the data from/to structures used by powerdns. > > > > On the other hand if you write your own native backend, you will have to > > create > > it with C++ and it has to handle the API itself. This is more complex work > > than just writing a read-locked script to handle requests. There are lots > > of > > examples you can use. You don't use pipe or remotebackend if you write a > > native > > backend. > > > > Aki > > > > On Tue, Feb 05, 2013 at 01:01:40AM -0800, RBK1001 wrote: > >> > >> Hi Aki > >> > >> understood. > >> > >> one silly question. even I need to write my own backend, I still need to > >> use > >> pipebackend option, rite? > >> > >> - rbk > >> > >> > >> Aki Tuomi wrote: > >> > > >> > It is difficult to measure performance for scripted APIs as that > >> depends > >> > on > >> > what you do in the backend. However, due to reasons like JSON parsing > >> and > >> > generally more complex processing, remotebackend is probably slower > >> than > >> > equivalent pipe backend. > >> > > >> > The best performance can be gained by writing your own backend, if > >> there > >> > is > >> > no backend to suit your needs. Although best performance here does > >> require > >> > some thought into the backend design. > >> > > >> > Aki Tuomi > >> > > >> > On Mon, Feb 04, 2013 at 05:03:40PM -0800, RBK1001 wrote: > >> >> > >> >> Thanks > >> >> > >> >> Considering performance, which backend should I used? > >> >> > >> >> > >> >> > >> >> Aki Tuomi wrote: > >> >> > > >> >> > And now that I started making this, it became evident that > >> >> remotebackend > >> >> > has a > >> >> > major failure in it. Good news is that there is a patch for it in > >> >> ticket > >> >> > #697 > >> >> > > >> >> > The sample script is here: http://cmouse.desteem.org/remote.rb > >> >> > > >> >> > Aki Tuomi > >> >> > > >> >> > On Mon, Feb 04, 2013 at 01:08:48PM +0200, Aki Tuomi wrote: > >> >> >> Hi! > >> >> >> > >> >> >> I'll create a sample script for you. > >> >> >> > >> >> >> Aki > >> >> >> > >> >> >> On Mon, Feb 04, 2013 at 01:56:22AM -0800, RBK1001 wrote: > >> >> >> > > >> >> >> > Hi > >> >> >> > > >> >> >> > I need more information on how I can perform Remote Backend? is > >> >> there > >> >> >> any > >> >> >> > more information that I can refer to? > >> >> >> > > >> >> >> > - rbk > >> >> >> > > >> >> >> > > >> >> >> > Roman Gaufman-2 wrote: > >> >> >> > > > >> >> >> > > PowerDNS can fork the process as many times as you configure > >> using > >> >> >> > > the distributor-threads option. > >> >> >> > > > >> >> >> > > The good thing is the process remains running and kept running > >> by > >> >> >> > > PowerDNS's guardian so I think it will be more limited by your > >> >> >> process > >> >> >> > > than > >> >> >> > > by PowerDNS :) > >> >> >> > > > >> >> >> > > Re: Peter van Dijk > >> >> >> > > > >> >> >> > > Thank you for that, I will check it out :) - right now I also > >> read > >> >> >> the > >> >> >> > > openvpn ipp.txt file every time it changes to give vpn clients > >> >> their > >> >> >> own > >> >> >> > > hostname so the pipe backend gives a bit more flexibility, but > >> >> will > >> >> >> > > definitely check out the remotebackend! > >> >> >> > > > >> >> >> > > On 4 February 2013 09:39, RBK1001 <paul....@syniverse.com> > >> wrote: > >> >> >> > > > >> >> >> > >> > >> >> >> > >> Hi > >> >> >> > >> > >> >> >> > >> Thank for the reply. If using pipebackend/bindbackend, is the > >> >> >> performance > >> >> >> > >> acceptable when comparing within mysql/pgsql? > >> >> >> > >> > >> >> >> > >> - rbk > >> >> >> > >> > >> >> >> > >> > >> >> >> > >> > >> >> >> > >> Roman Gaufman-2 wrote: > >> >> >> > >> > > >> >> >> > >> > I really love the simplicity of pipe backend and why I use > >> >> >> powerdns > >> >> >> > >> > instead > >> >> >> > >> > of say bind, all you need to really do is add this to your > >> >> >> pdns.conf: > >> >> >> > >> > > >> >> >> > >> > launch=pipe,bind > >> >> >> > >> > pipe-command=/etc/powerdns/dns_pipe.rb > >> >> >> > >> > > >> >> >> > >> > And in your script, you can have something as simple as: > >> >> >> > >> > > >> >> >> > >> > require 'powerdns_pipe' > >> >> >> > >> > PowerDNS::Pipe.new.run! do > >> >> >> > >> > answer :name => question.name, :type => 'A', :ttl => 60, > >> >> >> :content => > >> >> >> > >> > '1.2.3.4' > >> >> >> > >> > end > >> >> >> > >> > > >> >> >> > >> > The above is an example written in Ruby, but really it just > >> >> reads > >> >> >> DNS > >> >> >> > >> > requests from STDIN and writes DNS responses to STDOUT. You > >> can > >> >> >> add any > >> >> >> > >> > custom code that will figure out the IP to your question - > >> in > >> >> my > >> >> >> case I > >> >> >> > >> > plan to query a RESTFUL Rails API. > >> >> >> > >> > > >> >> >> > >> > Roman > >> >> >> > >> > > >> >> >> > >> > On 4 February 2013 09:29, RBK1001 <paul....@syniverse.com> > >> >> wrote: > >> >> >> > >> > > >> >> >> > >> >> > >> >> >> > >> >> Hi > >> >> >> > >> >> > >> >> >> > >> >> Thank for the information. > >> >> >> > >> >> > >> >> >> > >> >> I have a bit confused on the the pipebackend and bind > >> backend, > >> >> >> which > >> >> >> > >> one > >> >> >> > >> >> should I use? > >> >> >> > >> >> > >> >> >> > >> >> - rbk > >> >> >> > >> >> > >> >> >> > >> >> > >> >> >> > >> >> Ruben '_cyclops_' d'Arco wrote: > >> >> >> > >> >> > > >> >> >> > >> >> > Hi, > >> >> >> > >> >> > > >> >> >> > >> >> > This should be helpful as a first start: > >> >> >> > >> >> > http://doc.powerdns.com/backend-writers-guide.html > >> >> >> > >> >> > > >> >> >> > >> >> > Also have a look at the regression-test direcory, as it > >> is > >> >> >> quiet > >> >> >> > >> helpul > >> >> >> > >> >> > for testing your backend. > >> >> >> > >> >> > > >> >> >> > >> >> > Regards, > >> >> >> > >> >> > Ruben > >> >> >> > >> >> > > >> >> >> > >> >> > RBK1001 <paul....@syniverse.com> wrote: > >> >> >> > >> >> > > >> >> >> > >> >> >> > >> >> >> > >> >> >>Hi > >> >> >> > >> >> >> > >> >> >> > >> >> >>we would like to seek for an advice on the use of > >> backend. > >> >> >> > >> >> >> > >> >> >> > >> >> >>we understood that PowerDNS offers several backend > >> >> solutions, > >> >> >> > >> however, > >> >> >> > >> >> >>I > >> >> >> > >> >> >>would like to know is there a way to connect to our > >> >> >> customerized > >> >> >> > >> >> >>backend? > >> >> >> > >> >> >>Currently, we are using a non-sql customerized backend > >> with > >> >> >> large > >> >> >> > >> >> >>amount of > >> >> >> > >> >> >>data stored, and we would like to intergrate powerdns > >> with > >> >> it, > >> >> >> is > >> >> >> > >> there > >> >> >> > >> >> >>anyway we can do? > >> >> >> > >> >> >> > >> >> >> > >> >> >>- rbk > >> >> >> > >> >> > > >> >> >> > >> >> > -- > >> >> >> > >> >> > Regards, > >> >> >> > >> >> > Ruben > >> >> >> > >> >> > _______________________________________________ > >> >> >> > >> >> > Pdns-users mailing list > >> >> >> > >> >> > Pdns-users@mailman.powerdns.com > >> >> >> > >> >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > >> >> > > >> >> >> > >> >> > > >> >> >> > >> >> > >> >> >> > >> >> -- > >> >> >> > >> >> View this message in context: > >> >> >> > >> >> > >> >> http://old.nabble.com/PowerDNS-backend-tp34979116p34979385.html > >> >> >> > >> >> Sent from the PowerDNS mailing list archive at Nabble.com. > >> >> >> > >> >> > >> >> >> > >> >> _______________________________________________ > >> >> >> > >> >> Pdns-users mailing list > >> >> >> > >> >> Pdns-users@mailman.powerdns.com > >> >> >> > >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > >> >> > >> >> >> > >> > > >> >> >> > >> > _______________________________________________ > >> >> >> > >> > Pdns-users mailing list > >> >> >> > >> > Pdns-users@mailman.powerdns.com > >> >> >> > >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > >> > > >> >> >> > >> > > >> >> >> > >> > >> >> >> > >> -- > >> >> >> > >> View this message in context: > >> >> >> > >> > >> http://old.nabble.com/PowerDNS-backend-tp34979116p34979413.html > >> >> >> > >> Sent from the PowerDNS mailing list archive at Nabble.com. > >> >> >> > >> > >> >> >> > >> _______________________________________________ > >> >> >> > >> Pdns-users mailing list > >> >> >> > >> Pdns-users@mailman.powerdns.com > >> >> >> > >> http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > >> > >> >> >> > > > >> >> >> > > _______________________________________________ > >> >> >> > > Pdns-users mailing list > >> >> >> > > Pdns-users@mailman.powerdns.com > >> >> >> > > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > > > >> >> >> > > > >> >> >> > > >> >> >> > -- > >> >> >> > View this message in context: > >> >> >> http://old.nabble.com/PowerDNS-backend-tp34979116p34979453.html > >> >> >> > Sent from the PowerDNS mailing list archive at Nabble.com. > >> >> >> > > >> >> >> > _______________________________________________ > >> >> >> > Pdns-users mailing list > >> >> >> > Pdns-users@mailman.powerdns.com > >> >> >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> >> > > >> >> > > >> >> > > >> >> > > >> >> >> _______________________________________________ > >> >> >> Pdns-users mailing list > >> >> >> Pdns-users@mailman.powerdns.com > >> >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> > > >> >> > > >> >> > > >> >> > _______________________________________________ > >> >> > Pdns-users mailing list > >> >> > Pdns-users@mailman.powerdns.com > >> >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> > > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> http://old.nabble.com/PowerDNS-backend-tp34979116p34983132.html > >> >> Sent from the PowerDNS mailing list archive at Nabble.com. > >> >> > >> >> _______________________________________________ > >> >> Pdns-users mailing list > >> >> Pdns-users@mailman.powerdns.com > >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> >> > >> > > >> > > >> > _______________________________________________ > >> > Pdns-users mailing list > >> > Pdns-users@mailman.powerdns.com > >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> > > >> > > >> > >> -- > >> View this message in context: > >> http://old.nabble.com/PowerDNS-backend-tp34979116p34984061.html > >> Sent from the PowerDNS mailing list archive at Nabble.com. > >> > >> _______________________________________________ > >> Pdns-users mailing list > >> Pdns-users@mailman.powerdns.com > >> http://mailman.powerdns.com/mailman/listinfo/pdns-users > >> > > > > > > _______________________________________________ > > Pdns-users mailing list > > Pdns-users@mailman.powerdns.com > > http://mailman.powerdns.com/mailman/listinfo/pdns-users > > > > > > -- > View this message in context: > http://old.nabble.com/PowerDNS-backend-tp34979116p34984102.html > Sent from the PowerDNS mailing list archive at Nabble.com. > > _______________________________________________ > Pdns-users mailing list > Pdns-users@mailman.powerdns.com > http://mailman.powerdns.com/mailman/listinfo/pdns-users >
signature.asc
Description: Digital signature
_______________________________________________ Pdns-users mailing list Pdns-users@mailman.powerdns.com http://mailman.powerdns.com/mailman/listinfo/pdns-users