FAQ
Hello Perl People,

I have a Perl library to do high-performance web load balancing and static
web serving (GET, PUT, DELETE...) based on the Danga::Socket event loop
and socket class.

It's a proper library (currently Perlbal.pm) and a whole suite of
submodules under the Perlbal:: namespace... Perlbal::ClientProxy,
Perlbal::ClientHTTP, Perlbal::ClientHTTPBase, Perlbal::BackendHTTP, etc...

The actual load balancer / webserver is all in a tiny file called
"perlbal" which just uses Perlbal and pipes a config file into
Perlbal.pm's management interface parser.

Also, our company has a distributed filesystem (google: MogileFS) written
in Perl, which depends on Perlbal.pm. There are a number of
high-load sites using both Perlbal and MogileFS.

We've paid a Debian developer to make packages for all the parts and
dependencies, but we're also wondering whether this should go into CPAN.

If so, I think it might be dirty uploading it as "Perlbal". But it's
known/used as that so much, I'm also reluctant to change it.

Can I just upload it to my homedir on CPAN and not register the namespace?

Or rename at least the front-end module to be "HTTPD::Perlbal"?

Any suggestions welcome!

Thanks,
Brad

Search Discussions

  • Adam Kennedy at Jul 22, 2005 at 7:45 am
    If you are going to have a whole series of modules which match a
    particular brand name (see the recent Cobalt::LCD module submission for
    example) that doesn't really fit into anywhere else, then a root
    namespace can be appropriate, because the modules refer specifically to
    that brand name.

    This is especially the case when what you have _isn't_ a generic module
    or a generic approach to a problem, and deals with a distinct standalone
    application.

    Most objections to using a root namespace occur when people "brand"
    something that is really a general approach to a problem (say...
    Algorithm::Dependency, or CGI::Application) that can be used and reused
    in a number of different ways. "Frameworks" that solve an entire problem
    and that can't really be extended or included as a small part of
    something larger, are appropriate for branding.

    I think in this case, especially given your application primarily runs
    from a script, that using a root namespace would be fine.

    If you were to go with HTTPD::Perlbal, which would possibly be slightly
    better, I'd recommend you put all the modules under that namespace,
    rather than just the one.

    Adam K

    Brad Fitzpatrick wrote:
    Hello Perl People,

    I have a Perl library to do high-performance web load balancing and static
    web serving (GET, PUT, DELETE...) based on the Danga::Socket event loop
    and socket class.

    It's a proper library (currently Perlbal.pm) and a whole suite of
    submodules under the Perlbal:: namespace... Perlbal::ClientProxy,
    Perlbal::ClientHTTP, Perlbal::ClientHTTPBase, Perlbal::BackendHTTP, etc...

    The actual load balancer / webserver is all in a tiny file called
    "perlbal" which just uses Perlbal and pipes a config file into
    Perlbal.pm's management interface parser.

    Also, our company has a distributed filesystem (google: MogileFS) written
    in Perl, which depends on Perlbal.pm. There are a number of
    high-load sites using both Perlbal and MogileFS.

    We've paid a Debian developer to make packages for all the parts and
    dependencies, but we're also wondering whether this should go into CPAN.

    If so, I think it might be dirty uploading it as "Perlbal". But it's
    known/used as that so much, I'm also reluctant to change it.

    Can I just upload it to my homedir on CPAN and not register the namespace?

    Or rename at least the front-end module to be "HTTPD::Perlbal"?

    Any suggestions welcome!

    Thanks,
    Brad
  • _brian_d_foy at Jul 24, 2005 at 9:49 am
    [[ This message was both posted and mailed: see
    the "To," "Cc," and "Newsgroups" headers for details. ]]

    In article <Pine.LNX.4.58.0507212016220.6597@danga.com>, Brad
    Fitzpatrick wrote:
    I have a Perl library to do high-performance web load balancing and static
    web serving (GET, PUT, DELETE...) based on the Danga::Socket event loop
    and socket class.
    My first thought was why you weren't putting this into Danga:: ;)


    It's a proper library (currently Perlbal.pm) and a whole suite of
    submodules under the Perlbal:: namespace... Perlbal::ClientProxy,
    Perlbal::ClientHTTP, Perlbal::ClientHTTPBase, Perlbal::BackendHTTP, etc...
    I don't like "Perl" in the names so much. It's a waste of space because
    we know Perl modules are in Perl. The "bal" part is virtually
    meaningless. Use that space to
    The actual load balancer / webserver is all in a tiny file called
    "perlbal"
    I have the same comment about the "perl" part of the name. I personally
    think that we shouldn't have to know it's in Perl, it's task doesn't
    really have to do anything with Perl specifically, and the "bal" part
    doesn't add meaning to those who don't already know.

    I guess your stuck with the name now, but maybe you can nip this problem
    in the bud next time. :)

    --
    brian d foy (one of many PAUSE admins), http://pause.perl.org
    archives at http://www.xray.mpe.mpg.de/mailing-lists/modules
    please send all messages back to modules@perl.org

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmodules @
categoriesperl
postedJul 22, '05 at 3:23a
activeJul 24, '05 at 9:49a
posts3
users3
websitecpan.org...

People

Translate

site design / logo © 2019 Grokbase