[ 
https://issues.apache.org/jira/browse/IGNITE-20922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17798531#comment-17798531
 ] 

Mikhail Petrov commented on IGNITE-20922:
-----------------------------------------

[~vladsz83] Thank you for the contribution.

> Java Thin: direct service invocation with ClientClusterGroup and Service 
> Awareness
> ----------------------------------------------------------------------------------
>
>                 Key: IGNITE-20922
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20922
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 2.16
>            Reporter: Vladimir Steshin
>            Assignee: Vladimir Steshin
>            Priority: Major
>              Labels: ise
>             Fix For: 2.17
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Once we implemented Service Awareness for Java Thin Client, we might improve 
> the service invocation with `IgniteClient.services(ClientClusterGroup grp)`
> Consider:
> 1) There is a cluster with some nodes A, B, C, D, F
> 1) A service is deployed on nodes A,B,C
> 2) Service Awareness is enabled.
> 3) User limits the service instance nodes set with 
> `IgniteClient.services('node A', 'node B')` skipping node C.
> 4) The thin client requests the service randomly on node C because it has the 
> service instance too.
> 5) Node C redirects the invocation to node A or to node B as user required.
> We should prevent the redirection call at #5 and call service only on A or B. 
> And this would help user to choose nodes for loading purposes.
> It looks simple to intersect passed `ClientClusterGroup` and known set of 
> service instance nodes before the service calling. I.e. the client can 
> exclude node C from the options where to send the invocation request.
> If user chosses `services('node A', 'node B', 'node F')`, where F has no 
> service instance, we do not invoke F. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to