Home Help Center

IceStorm and filtering

ngambek2003ngambek2003 Member Budyanto HimawanOrganization: WMS Inc.Project: Casino back end services ✭✭
Does IceStorm support any kind of filtering on a topic?

I'm trying to prototype a system where several Ice services are subscribing to the same topic but they don't necessarily get all the messages in the topic. I would like to be able to control it based on some meta data (maybe thru some key value pairs in the request context).

An alternative to this would be to do the filtering on the subscriber side. A subscriber gets all the messages but filters it before propagating the message. But that would be wasting network bandwidth cause they don't need to receive the message to begin with and also now every subscriber has to do the filtering instead of being centraliazed on IceStorm.

Another alternative would be for the publishers to publish to specific subscribers. This kinda complicates the system. Now the subscriber has to bypass IceStorm and talk directly to the publisher to let it know about the filter. The publisher becomes more coupled to the subscriber.

Any thoughts/suggestions?

Thanks
Budyanto

Comments

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff
    Hi Budyanto,

    Currently is not possible to do the filtering inside IceStorm.

    One way to implement filtering is to use a session, instead of subscribe directly to IceStorm, the session will do the filtering for the specific client, and then send the filtered messages to the client, this is similar to do the filtering in the client application, but if session servants are hosted in the IceStorm network, the bandwidth will not be a problem.

    Using several topics could be an other option, and i think for trivial filtering like subscriber groups will be the easiest, but for non trivial filtering when you need more knowledge to filter messages, this will result in a complex application, because instead of implement filtering in one point you have it coupled with subscribers and publishers.

    Cheers,
    José
Sign In or Register to comment.