I've been asked to create a system which will gather information and perform tasks on approximately 5000 Win32 servers. The idea is this: a central console can connect to each server, and submit a request. When each server has completed that request, it will report the results back to the central server. The request can be to gather data (How much free space does each of your drives have?) or to perform a task (create a new fileshare with these permissions). The amount of tasks each system will be asked to perform will probably be numerous, so performance will be a concern.

My idea so far is to create an application which runs as a service, on the 5000 remote servers, and on the central reporting server. These services would listen via an open TCP port, and communicate through that.

Would a system like this work reliably? There are those people here who suggest using DCOM, shared pipes, or mailslots instead of a TCP port. My experience with doing client/server systems through TCP on Win32 hasn't been that great, and neither has forking-model servers. And of course, security is a top concern. What would you suggest?


In reply to Distributed query system by meetraz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.