caio / foca

mirror of https://caio.co/de/foca/

Home Page:https://caio.co/de/foca/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Adaptive max_transmissions

jeromegn opened this issue · comments

Determining the value for max_transmissions should be dynamic based on the number of members. Probably based on the memberlist implementation!

Or it should be possible to update this value at runtime as more members are added to a cluster.

Currently I'm passing a NODE_COUNT env var (for now I know this before deploying anything) and using the formula from memberlist.

commented

Agreed! I like the simplicity of a static config but it makes sense to adapt based on current size; suspect_to_down_after probably needs to adapt too. Gonna give it some thought and get to it come next free time

commented

Took me a very long while to circle back here, apologies.

I'll be merging #7 for this today; I went for allowing to change settings at runtime instead of pulling the whole logic into Foca (a little more detail in the PR)

I think what's more interesting for your scenario of broadcasting custom data to a subset of the cluster would be (A) the ability to control the broadcast retransmission independently from the swim parameters; and (B) the ability to ask foca to broadcast to every member it can broadcast to at once. Both pretty easy to do once #7 lands- HMU if that's something you'd be keen on checking!

I'll have to update our crate, but looks like it should work! Thank you!