On 8/21/2013 8:31 AM, Martin Sustrik wrote:
On 21/08/13 17:12, Joe Touch wrote:
The real problem here IMO is how to distinguish between "adding a
completely new application" -- which should require approval process --
and "adding a new component within an existing distributed application"
-- which should be managed by devs themselves.
IMO it's easy - any group of services you want others to be able to use
independently could justify a new port, but you can always mux them all
together if you want to avoid additional firewall configuration issues.
So what would you use for muxing, if TCPMUX is not a good idea?
You need to roll your own. The requirements of systems vary widely, as
do the costs/benefits of different approaches.
I listed a few before, but here's a more comprehensive list:
- service per message
demux based on message ID
use IPC (interprocess comm) to handoff internal
to your system
- service per connection
demux based on the first message in an
association (TCP or UDP), and either continue to
forward messages to a different process or handoff
the connection
- subservice on different ports
determine what subservice you want to initiate,
start it on an ephemeral port, and indicate the
port number in-band (e.g., as with FTP and others)
Given you want to keep things on a single port, the first two are
probably more useful.
Joe