Contents
Introduction
If you have a large number of users, or your users are spread across a number of
different sites, you may want to consider running more than one MPNews server to
run your newsgroups on.
By using more than one server, you can normally provide a better service to your
users. With less users connected to each server you will normally get faster response
times, if you have a load sharing system your newsgroups can continue to run even
if one of your servers fails, and having servers closer to the users can result
in less network bandwidth being used.
Sending messages between the servers
To run your newsgroups across multiple servers, you need to configure your servers
to send messages to each other. In this way, as soon as a user posts a message on
server A, it will be immediately relayed to servers B and C, which can pass it on
again to even more servers.
To set this up, you need to configure a "push feed" on each of your servers to send
messages to your other servers. If you have two servers you will set up a push feed
on each to send messages to the other. If you have three or more, you can either
set up a feed on each server to send messages to each of the other servers directly,
or you can set up a more limited number of feeds so that messages will be sent from
one server to another until they will eventually have been sent to them all.
For push feeds to work correctly, you must first have given each of your servers
a unique name. You will normally set your server names to be the same as the fully
qualified DNS names, e.g. news1.mycompany.com, news2.mycompany.com,
etc. To set your server names, open the "General settings" screen in the MPNews
Management application and set the "Computer path name" option.
To set up your news feeds, select the "News feeds" option in the main MPNews adminstration
site and click on "Add New Feed". Give each feed a name and enter the address of
the server the feed should send messages to, and click on "Save" to create the feed.
Back on the main list of news feeds, click "Edit push feed" next to the feed you
have just created.
On this screen, you need to select which newsgroups the feed should send messages
for. If you want to send messages from all of the newsgroups, enter *
for this option.
You also need to ensure that the feed does not send messages back to the remote
server if they have already been sent there. This does not cause any major problems,
but does waste network bandwidth. To prevent this, enter the name given to the remote
server in the "Look Prevention" section.
Your push feed is now set up. Repeat this process for any additional feeds you require
on this server, and then repeat the entire process on your other servers.
Accepting the feeds
By default, MPNews is configured to reject any messages sent to it via a push feed.
You will need to edit these settings to allow the feeds from your other servers
to work.
Create a role called "Feeders" in the main MPNews administration site. Add a new
user for each server you want to accept a feed from. Normally, these servers will
have fixed IP addresses, so enter the IP address and netmask to identify the server
and leave the username and password options blank. Add each of these users to the
"Feeders" role. Finally, create a new permissions entry which gives the group "Feeders"
access to all the newsgroups you want to let them send the server messages for.
Message numbering
By this point, each of your servers should be sending any new messages it receives
on to each of your other servers, and they should be accepting the messages and
making them available for the users accessing that server.
Provided your users only access one particular server, or only use the web interface
to your newsgroups, this setup is fine. However, if you have a load balancing system
set up so that a user could be connected to a different server each time they connect,
and they are using a newsreader to access your newsgroups, you may experience a
few problems.
If a user retrieves a list of messages from one server, but is connected to a different
server when they actually try to read the message, they may find the server sends
them the wrong message. This is because each server uses its own numbering system
for messages, and with the feeds you have set up at the moment, these numbers will
not be synchronized across your servers.
To ensure that each of your servers uses the same number to identify each message,
you need to either set up an additional server or designate one of your existing
servers as the "master" server. It is this servers responsibility to assign numbers
to each new message. A message posted to one of the other servers must first be
forwarded on to this server for numbering, then fed back to each of the other servers.
These servers will then use the number assigned by the master server to index the
message.
The first step in creating this setup is to ensure that none of the servers other
than the master server saves a newly posted message, but instead forwards it on
directly to the master server. To do this, you will need to edit the push feed on
each of your servers that sends messages to the master server and enable the "Forward
messages to the remote server without storing them locally" option.
Next, you need to ensure that your servers will use the numbers assigned to each
message by the master server. To do this, go to the main "News feeds" page and enter
the name of the master server in the "Xref master" option and click on "Save".
When a message is now posted to one of your servers, it will be sent directly to
the master server and will not be saved on the server it was posted to. The master
server will save it, then send it out to the other servers through its feeds. These
servers will identify the message as having come from the master server due to the
"Xref master" option, and save the message with the same numbers as used on the
master server.
Your users can now move seamlessly between your servers without noticing any difference
from using one server.