I'll assume all the clients are active at the same time - and that you
don't require durable subscribers. In which case there will be the
destination itself - which is a relatively small object and queued
messages for each subscriber to a destination.
The trade of is one of performance against memory usage. Using filters
(via selectors - http://activemq.apache.org/selectors.html) - will
result in every message being evaluated - which will be moderately
slower than the look-up for the destination itself. This can be
traded against message references held for each subscriber (one per
destination per client) - as well as the destination object overhead.
Alternatively - you can use wild cards - http://activemq.apache.org/wildcards.html
on the destinations - which is faster than selectors - providing you
can break your destinations into a suitable hierarchy (this would be
my choice btw).
If you want your application to remain 100% JMS compliant, use
selectors - as not every vendor can handle a large number of
destinations - and wildcards are not always supported - and the syntax
can change from vendor to vendor.
Hope that helps,
cheers,
Rob
On Jan 6, 2008, at 11:31 AM, breezee wrote:
Hi,
I am planning a system which will involve one broker and many
clients (about
40) that will use it.
calculating the usage, i will have to hold about 700 topics per
client,
total of 28000.
That seems pretty large . I am considering making some topics shared
for
different usages, using message filters.
My question is simple:
how can I best define the overhead of lots of topics/lots of
filters? does
every new topic keep a live thread, for example? does large amount of
filters on the same topic wil make te filter non-usable?
Thanks in advance,
Amit.
--
View this message in context:
http://www.nabble.com/more-topics-against-more-filters---overhead-estmation-tp14647100s2354p14647100.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.