You could write a custom affinity function, and some people do, but as far as I can see you don’t need it. You just chose a poor affinity key.
You need to have MANY affinity keys, much more than there are partitions, and have MANY partitions, much more than nodes. That will make sure that the default affinity function distribute data properly. But more importantly that will make sure that your system will scale well. If you have number of groups equal to the number of nodes than you can’t just increase the number of nodes to scale – you need to change your data model as well. To scale properly you need to have your data model work with different number of nodes. FYI Ignite used to have a different affinity function that always distributed partitions evenly. It had some issues and was eventually replaced and removed, although people do try to bring it back time to time. See http://apache-ignite-developers.2346864.n4.nabble.com/Resurrect-FairAffinityFunction-td19987.html Thanks, Stan From: ashishb008 Sent: 19 декабря 2018 г. 9:09 To: [email protected] Subject: Re: Did anyone write custom Affinity function? Yeah, we were planning to increase group IDs. Did anybody write custom Affinity function? If it is already written that will be helpful to us. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/
