[ 
https://issues.apache.org/jira/browse/IGNITE-26909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Plekhanov updated IGNITE-26909:
---------------------------------------
    Description: 
Thin client has partition-awareness feature. With this feature client connects 
to all cluster server nodes and tries to find correct node for key and send 
request to this node (see [IEP-23: Partition Awareness for Thin 
Clients|https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Partition+Awareness+for+Thin+Clients]).
 To achive this client requests primary node map for cache from server. Non 
partition-awareness requests (not related to cache requests, or without 
specified key, which can be mapped to node) distributed randomly to all nodes.

In case of multi DC we can make following improvements to PA mechanism:
 * PA "write" requests still should be sent to primary nodes (nothing changed), 
but PA "read" requests (if readFromBackup flag is set and write synchrinization 
mode is not PRIMARY_SYNC) can be sent to backup node, if node in the same DC as 
client (if there is no partitions in the same DC, should be sent to primary).
 * Non-PA requests should sent to random node in the same DC as client. 

  was:
Unlike thick clients that have full access to cluster's topology and can choose 
a router server from the closest datacenter, thin clients only have a list of 
IP addresses or host names of servers without any information what datacenters 
what servers belong to.

An obvious solution would be to force user to sort or filter list of servers in 
connection string so servers from local datacenter would appear at the 
beginning of the list.
But it requires a lot of efforts and not always possible.

So we need a better alternative - a mechanism capable of performing this type 
of sorting automatically.
We would add a new parameter to the connection string - like `local_dc`, but 
the rest of the process should happen automatically, no additional input from 
the user should be required.


> Thin client optimizations for MultiDC
> -------------------------------------
>
>                 Key: IGNITE-26909
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26909
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Sergey Chugunov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: IEP-140, ise
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Thin client has partition-awareness feature. With this feature client 
> connects to all cluster server nodes and tries to find correct node for key 
> and send request to this node (see [IEP-23: Partition Awareness for Thin 
> Clients|https://cwiki.apache.org/confluence/display/IGNITE/IEP-23%3A+Partition+Awareness+for+Thin+Clients]).
>  To achive this client requests primary node map for cache from server. Non 
> partition-awareness requests (not related to cache requests, or without 
> specified key, which can be mapped to node) distributed randomly to all nodes.
> In case of multi DC we can make following improvements to PA mechanism:
>  * PA "write" requests still should be sent to primary nodes (nothing 
> changed), but PA "read" requests (if readFromBackup flag is set and write 
> synchrinization mode is not PRIMARY_SYNC) can be sent to backup node, if node 
> in the same DC as client (if there is no partitions in the same DC, should be 
> sent to primary).
>  * Non-PA requests should sent to random node in the same DC as client. 



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

Reply via email to