How to disable connection cache on glacier2 for ice client?

jim.yefengjim.yefeng Member jim yefengOrganization: HonestySNSProject: Android AddressBook SNS

I've a server list Sa,Sb,Sc and a icegridregistry. The ice client can access the server list basic on per-request load balancing after disable the connection cache on proxy. But if there is a glacier2 server between client and server list, the request to server only connect to a fixed server, and I could not found a method to set the disable cache properties on glacier2 server.

Tagged:

Best Answer

  • benoitbenoit Rennes, FranceBenoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Accepted Answer

    Hi,

    You're correct, this is currently a limitation of Glacier2 where local property settings (such as locator cache timeout, connection caching, endpoint selection type) can't be forwarded to Glacier2 (and as a result Glacier2 can't use them to invoke on the backend server). Improving this is on our TODO list.

    In the meantime, a better option you should consider using is to use the "facade" design pattern. Instead of calling directly the backend server, your client would call a method on its session object which would then be responsible for calling on the backend server. Here, the session implementation can setup the proxy to the backend system to enable per-request load balancing. Using this pattern if often a good idea to hide implementation details from the client and provide a simplified and customized view of the system to the client.

    Cheers,
    Benoit.

Answers

  • jim.yefengjim.yefeng Member jim yefengOrganization: HonestySNSProject: Android AddressBook SNS

    The disable connection is a proxy property, And I don't find out a global disable connection for both proxies.
    It looks like that the property is not passed to glacier2 from client.

  • jim.yefengjim.yefeng Member jim yefengOrganization: HonestySNSProject: Android AddressBook SNS

    seems no people concern this

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Accepted Answer

    Hi,

    You're correct, this is currently a limitation of Glacier2 where local property settings (such as locator cache timeout, connection caching, endpoint selection type) can't be forwarded to Glacier2 (and as a result Glacier2 can't use them to invoke on the backend server). Improving this is on our TODO list.

    In the meantime, a better option you should consider using is to use the "facade" design pattern. Instead of calling directly the backend server, your client would call a method on its session object which would then be responsible for calling on the backend server. Here, the session implementation can setup the proxy to the backend system to enable per-request load balancing. Using this pattern if often a good idea to hide implementation details from the client and provide a simplified and customized view of the system to the client.

    Cheers,
    Benoit.

  • jim.yefengjim.yefeng Member jim yefengOrganization: HonestySNSProject: Android AddressBook SNS

    thank you Benoit!

Sign In or Register to comment.