[Pdns-users] PowerDNS backend

RBK1001 Paul.Sun at syniverse.com
Tue Feb 5 09:23:46 UTC 2013


Thanks

THis is what I confused. the information on how to write the native backend
seems telling how to write the backend? but I actually have the backend in
place, just that pDNS cannot comnuicate with it.

so my question is whether I should write an adapter and embedded in pDNS or
else?

I just want to make clear myself.

sorry about that



Aki Tuomi wrote:
> 
> 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.Sun at 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.Sun at 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.Sun at 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 at 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 at mailman.powerdns.com
>> >> >> >> > >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> >> >> > >> >>
>> >> >> >> > >> >
>> >> >> >> > >> > _______________________________________________
>> >> >> >> > >> > Pdns-users mailing list
>> >> >> >> > >> > Pdns-users at 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 at mailman.powerdns.com
>> >> >> >> > >> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> >> >> > >>
>> >> >> >> > > 
>> >> >> >> > > _______________________________________________
>> >> >> >> > > Pdns-users mailing list
>> >> >> >> > > Pdns-users at 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 at mailman.powerdns.com
>> >> >> >> > http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> >> >> > 
>> >> >> > 
>> >> >> > 
>> >> >> > 
>> >> >> >> _______________________________________________
>> >> >> >> Pdns-users mailing list
>> >> >> >> Pdns-users at mailman.powerdns.com
>> >> >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> >> > 
>> >> >> > 
>> >> >> >  
>> >> >> > _______________________________________________
>> >> >> > Pdns-users mailing list
>> >> >> > Pdns-users at 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 at mailman.powerdns.com
>> >> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> >> 
>> >> > 
>> >> >  
>> >> > _______________________________________________
>> >> > Pdns-users mailing list
>> >> > Pdns-users at 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 at mailman.powerdns.com
>> >> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> >> 
>> > 
>> >  
>> > _______________________________________________
>> > Pdns-users mailing list
>> > Pdns-users at 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 at mailman.powerdns.com
>> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>> 
> 
>  
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users
> 
> 

-- 
View this message in context: http://old.nabble.com/PowerDNS-backend-tp34979116p34984131.html
Sent from the PowerDNS mailing list archive at Nabble.com.




More information about the Pdns-users mailing list