openark / orchestrator

MySQL replication topology management and HA
Apache License 2.0
5.64k stars 936 forks source link

Handle Multi-source replication in Orchestrator #38

Open sjmudd opened 7 years ago

sjmudd commented 7 years ago

This is to discuss multi-source replication and how it can be handled in orchestrator

What?

Why?

Some people may actually use this so it's good to for orchestrator to at least not do the wrong thing and not break anything. Better still would be add increasing levels of functionality (according to demand).

Currently orchestrator runs show slave status and records the output, the last row overwrites any data from previous rows. This sort of works but not really.

How?

Recognise when a slave is using multi-source replication

True support for multi-source would require changes to these fields:

This suggests putting them in a different structure which is referenced from the Instance struct.

Show this in some places

Visualise the output of replication

Allow certain operations to work on multi-source servers

ManjotS commented 7 years ago

@shlomi-noach is there any progress or plans in regards to this?

shlomi-noach commented 7 years ago

Hi @ManjotS and sorry for the late reply, I was out of office.

On my side there are no plans for multi-source replication, and I leave this in the hands of @sjmudd should he wish to pursue the issue, or anyone else in collaboration with @sjmudd.

Just to explain that for myself this isn't a priority and I have many other things on my plate, orchestrator-wise and non-orchestrator-wise. I do not object to the idea, though I do believe the change will be large and hard to achieve.

fubizitch commented 6 years ago

Would really like this added. Might a donation increase the priority of this request?

shlomi-noach commented 6 years ago

@fubizitch thank you for your offer. A donation isn't a driving factor, and I'm afraid I still have other things on my plate.

fubizitch commented 6 years ago

I guess I didn't mean "donation", but maybe hire you to implement. My company has 500 employees and would love to see this...but if you meant that money isn't a driving factor, then OK.

Anybody know of a good alternative? We're looking at ClusterControl, but I'm assuming the pricing is outrageous.

shlomi-noach commented 6 years ago

Thank you. Merely by way of sharing, I'm at present hired by a company where I author orchestrator as part of my day job, and according to a reasonable balance between the company's needs of orchestrator, the community's need from orchestrator, and my overall other duties.

The company which hires me at present is the company running and operating this very discussion. In fact, orchestrator is at this very moment operating the high availability of this comment thread and drives my confidence that this comment will be submitted and persisted.

Your suggestion and offer is perfectly legitimate and appreciated, but perhaps this very media is not the right place.

I have no insights on other tools at present.

tomkrouper commented 6 years ago

tl;dr the boss is watching. :-D

shlomi-noach commented 6 years ago

Back to being serious, @fubizitch if your company has the means to sponsor this development, would it be open to sponsoring some one else to do these contributions? I don't have anyone specific in mind, just that if someone else provides quality contributions I'm happy.

fubizitch commented 5 years ago

I think we would be open to doing that. If we knew somebody personally who could actually build such functionality in Orchestrator, we probably would've already come up with a solution on our own...

I think we'll be able to achieve monitoring of our cluster, but the visuals and automated recovery would be nice, which is why we're interested in Orchestrator.

We're currently hosting mysql databases in 3 locations, and are planning to expand to 5. Wish we could just use Galera, but the write latency is horrendous (LA -> NY -> Vancouver). Eventually we'll probably just migrate to Amazon Aurora instead of using onsite servers.