This forum has been archived. Please start a new discussion on GitHub.

Problems of Connections Issue 10

I have read the article Freeze Map in Connections issue 10.
The article introduced a way of using multi manager in a replica group.

This exactly meets what I need.
It seems perfect: client knows nothing about the replica.

There are two problems I still worried about:
When one of the node halt, add() will still working because of the replica group. But what happens to the find()? UserRegistry does not knows the dead UserManagers, and return the proxy to client. Then there must be some exception when client invoke something on this proxy.
UserRegistry::find() invokes frequently. It's capability becomes new limitation. How to create an unlimited replica?


  • benoit
    benoit Rennes, France

    The user registry is indeed a single point of failure and might be a limitation if there's a high number of clients. However, since the implementation of the find() method is quite fast, I wouldn't expect it to be a bottleneck for the vast majority of applications (you'll probably hit other limitations before :)).

    If that's really an issue, the solution would be to replicate the user registry to make it fault tolerant and also to allow spreading the load of the clients on multiple instances of the user registry.

  • Yes! It is an issue.
    I am planning to force Ice do some heave work.;)
    It designed for 10,000,000 users, 3000 requests per seconds, and hundreds nodes.

    Sync clustered UserRegistry-s is complex. And no single point is the bottom line in this application.
    I am expecting IceGridRegistry replica VERY much.

    Do you have any idea of how to creating an enterprise application?
    This is the only thing in my thought recently: single point, bottleneck and fault tolerant.
  • benoit
    benoit Rennes, France
    I'm confident a well designed distributed application can handle this load and meet these requirements, especially if it uses Ice as its middleware ;).

    However, I'm afraid I can't help you with the design of your application -- this goes beyond the free support we can provide on these forums. We can provide you some consulting services to help you with this though, please contact us at if you're interested!

  • Yeah!!

    I have realized that Ice is a platform. Platform cannot do everything for me.

    I must imply some basic logic myself. such as sync locator-table between registries.

    Thank god I breaks out of a dead lock.
    Thank Benoit!!