Quantcast

Questions on Ignite Clients

classic Classic list List threaded Threaded
8 messages Options
Tab Spangler Tab Spangler
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Questions on Ignite Clients

This post has NOT been accepted by the mailing list yet.
Hi

We're currently evaluating Apache Ignite against a few other IMDG like Apache Geode and Hazelcast.  The use case we have is for many Clients to be connected into a central cluster.  The Clients will be run inside a UI that sits on users desktops, and so we were hoping to use the .NET client.

The things we're not quite clear on are ....

(1) Are the Clients truly clients of the cluster?  It appears as if the clients are actually cluster members in that they share cluster heartbeats and other coms inside the cluster.  My concern here is that if we have clients on desktops in many different offices this may cause a problem with networking and so on.  What I don't want is lots of these "Clients" dropping in and out of the cluster and causing membership changes, because we're stretching the cluster network geographically.

(2) As I said we're looking to have 100's of clients in offices all over North America, has Ignite been used before in this type of topology?

(3) My other concern is that the .NET client seems to be a wrapper around the Java client, is there an option to use a pure .NET client or do we have to ship a JVM with the .NET client?

If the clients are really just dumb members inside the cluster then we might have to consider putting a REST API client on the desktops and have that call into the dumb clients that sit inside the cluster, on the same cluster network.

Thanks for your help.
Tab
vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

Hi Tab,

Please properly subscribe to the mailing list so that the community can receive email notifications for your messages. To subscribe, send empty email to user-subscribe@ignite.apache.org and follow simple instructions in the reply.

Tab Spangler wrote
(1) Are the Clients truly clients of the cluster?  It appears as if the clients are actually cluster members in that they share cluster heartbeats and other coms inside the cluster.  My concern here is that if we have clients on desktops in many different offices this may cause a problem with networking and so on.  What I don't want is lots of these "Clients" dropping in and out of the cluster and causing membership changes, because we're stretching the cluster network geographically.
Clients are members of the cluster, because they are not just thin clients but provide full API set which is the same as for embedded server nodes. However, clients use different discovery protocol which protects them from issues you described.

Tab Spangler wrote
(2) As I said we're looking to have 100's of clients in offices all over North America, has Ignite been used before in this type of topology?
Yes, there are example of successful usage in similar scenarios. It's not very typical though, so can require some tuning.

Tab Spangler wrote
(3) My other concern is that the .NET client seems to be a wrapper around the Java client, is there an option to use a pure .NET client or do we have to ship a JVM with the .NET client?
.NET client is wrapped around Java implementation to provide fully-pledged platform instead of limited thin client. JVM is required to run .NET client.

-Val
Tab Spangler Tab Spangler
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

Hi Val,

Thanks for your response, I've subscribed to the group as you suggested.

Just to confirm then, a client is not taking part in any kind of cluster heart beats or checks?

I'd prefer it if there could be a 100% native .NET client as we've had trouble in the past where other vendors supplied .NET wrappers around other languages.  Is there anything on the horizon in terms of providing a full .NET client?  I think the other caches I mentioned offer native clients, although I've not confirmed that with them.

One other question we had was to do with the client connections into the cluster.  Does the client maintain a socket to every cluster member, or does it connect to one cluster member and then fans out operations?

Thanks
Tab

vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

Hi Tab,

Client exchange heartbeats with only one of the server nodes. If there is a problem with this connection, it affects only client node, not server topology.

As for non-discovery communication (i.e. any operation requests and responses), however, client can connect to any node in topology. This is done to provide better performance - for example, it can read a value directly from the node where this particular value resides.

We don't have any plans for native .NET client, as creating a fully-pledged platform is our approach that we chose and follow. I would not assume that this automatically brings issues, we are not "other vendors" :)

-Val
abdul shareef abdul shareef
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

This post has NOT been accepted by the mailing list yet.
In reply to this post by Tab Spangler
Hi I also had similar question. We used Microsoft's appfabric caching and service bus and looking for ignite as replace. I didn't understand the concept of client node. We have thin clients connecting via WPF application to our services and caching/messaging is used. I don't imagine the client node running on each of the client's instance. What is the best way to get access to cache and service bus without leveraging the client node?

The client node is also taking time to establish connection to server. We tend to open/close connection after using it. Do you intend to have open connection between client and server all the time?
vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

Hi,

Please properly subscribe to the mailing list so that the community can receive email notifications for your messages. To subscribe, send empty email to user-subscribe@ignite.apache.org and follow simple instructions in the reply.

abdul shareef wrote
The client node is also taking time to establish connection to server. We tend to open/close connection after using it. Do you intend to have open connection between client and server all the time?
Exactly. Ignite client is designed to be started once per application (usually on startup) and then used from everywhere in this application. It's thread safe, so can be used by multiple threads concurrently. Indeed, Ignite client node takes more time to start and connect than thin clients in other products, but generally this provides much better performance afterwards.

-Val
abdul shareef abdul shareef
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

This post has NOT been accepted by the mailing list yet.
Thanks Val. Is there a way to disable the startup message on the client nodes?
vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Questions on Ignite Clients

abdul shareef wrote
Thanks Val. Is there a way to disable the startup message on the client nodes?
Not completely, bur you can disable the ASCII logo by setting -DIGNITE_NO_ASCII=true system property.

-Val
Loading...