Portál AbcLinuxu, 10. května 2024 02:15


Dotaz: geo-ha pro mysql a apache

12.5.2016 11:59 Honza
geo-ha pro mysql a apache
Přečteno: 316×
Odpovědět | Admin
Dobry den preji,

prohledaval jsem si internet, ale nenasel jsem nic co by me vyslovene nadchlo a tak jsem se chtel zeptat, jestli tady nekdo resite geo-ha pro mysql a apache? Idea je takova, ze bych rad jeden dost navstevovany web server mel soucasne na dvou mistech (sice se vlastnici datacenter zaprisahaji, ze ten jejich sal je 100% dostupny, ale...) Potreboval bych samozrejme psat do databaze na obou stranach :) Pouzivate nekdo takhle neco? Dekuju moc.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.5.2016 15:07 klingac | skóre: 10 | Praha
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
U MySQL by som sa zamyslel nad pouzitim Galera clusteru.

V pripade apache neni problem mat ho na viac miestach/datacentrach, staci pred neho hodit reverse proxy. Doporucoval by som nginx.
12.5.2016 18:10 Honza
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Dekuji moc, ta galera vypada velice zajimave.
12.5.2016 19:09 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Když dáte před několik Apache serverů jeden reverse proxy, akorát jste posunul single point of failure na ten proxy server. U webu je nejjednodušší pod jedním DNS záznamem mít více IP adres a vracet je v náhodném pořadí, v případě výpadku serveru pak jeho IP adresu ze seznamu vyhodit. Řešení s předřazeným proxy serverem také někdy může dávat smysl, ale není důvod tam dávat proxy server jen tak.

Každopádně pro provoz v clusteru musí být také připravena webová aplikace (ideální je, když je bezestavová). Pokud bude třeba používat session a data session by držel webový server, nebude to fungovat, protože jeden požadavek půjde na jeden server, tam se vytvoří session, druhý požadavek může jít na druhý server a ten o té session nebude nic vědět. Tady se zrovna může hodit proxy server, který bude klienta držet na tom jednom backend serveru, kde má session. Což ovšem znamená, že pokud ten server vypadne, klient o session přijde.

O MySQL v clusteru jsem nikdy neslyšel nic dobrého. Pokud uvažujete o clusteru, můžete snad používat nějakou normální databázi, ne? Třeba PostgreSQL je hodně slušná, je také opensource a zdarma, a jako databáze je podstatně schopnější než MySQL.
12.5.2016 22:19 citanus | skóre: 12 | Cork (Ireland)
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Pokud bude třeba používat session a data session by držel webový server, nebude to fungovat, protože jeden požadavek půjde na jeden server, tam se vytvoří session, druhý požadavek může jít na druhý server a ten o té session nebude nic vědět. Tady se zrovna může hodit proxy server, který bude klienta držet na tom jednom backend serveru, kde má session. Což ovšem znamená, že pokud ten server vypadne, klient o session přijde.
..normalne se to resi samostatnym session poolem ze. Ale moznosti je spousta..

Kazdopadne dotaz znel na replikaci db ne jak navrhnout scale-out ha reseni.
O MySQL v clusteru jsem nikdy neslyšel nic dobrého. Pokud uvažujete o clusteru, můžete snad používat nějakou normální databázi, ne? Třeba PostgreSQL je hodně slušná, je také opensource a zdarma, a jako databáze je podstatně schopnější než MySQL.
Multimaster replikace na postgresu taky neni zadny med.
13.5.2016 12:55 Honza
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Nene, ten dotaz nebyl (nebo tedy nemel byt) na replikaci db. Je to opravdu dotaz na scale-out reseni, ve kterem je potreba vzit v potaz db...

Rozhazovani zateze jsem premyslel delat pomoci dns, ale pravda je, ze to nebude tak jednoduche (jak psal kolega)
13.5.2016 14:49 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Předpokládám, že chcete docílit toho, že za cenu dvou levných hostingových řešení získáte lepší dostupnost, tj. výpadek jednoho datového centra nebude znamenat kompletní výpadek webu – ale nechcete investovat do skutečných clusterových řešení.

Databázi bych v takovém případě neřešil pomocí multi-master replikace, ale jenom jedním masterem a ostatní instance jen pro čtení. Pak záleží na tom, jak moc je pro vás výpadek zápisu do databáze kritický. Pokud to není velký problém, můžete to nechat s jedním pevným masterem s tím, že v případě výpadku špatného datacentra budete mít web během výpadku jen pro čtení. Další možnost je výpadek detekovat a přepnout master v takovém případě na jiný server. Máte zase dvě možnosti – buď musíte být schopen opravdu spolehlivě detekovat, že je master nedostupný, a zajistit, aby po obnově komunikace původní master zjistil, že už master není. A nebo připustíte, že se data nějakou dobu budou zapisovat na dva různé servery nezávisle na sobě a dokážete je pak správně spojit do jedné databáze.
12.5.2016 16:18 Ivan2 | skóre: 5
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
Joo jasne. Tohle poradne nezvlada ani Oracle + GolgenGate, ale na MySQL by to melo jit snadno podle nejakyho blogu stazenyho z internetu. Nektery problemy proste nemaji reseni a pokud je maji, tak ta reseni prinasi ruzna omezeni.
12.5.2016 18:04 Honza
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Myslite jako 2x mysql propojeny v nejakem multimaster modu?
12.5.2016 18:16 citanus | skóre: 12 | Cork (Ireland)
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jednoduche reseni je oboustrana replikace a rozdilny autoinkrement. jedna sajta dela liche autoinkrementy a druha sajta sude. Sice to prinasi par nachystavek, ale funguje o uz peknych par let spolehlive..

12.5.2016 18:26 citanus | skóre: 12 | Cork (Ireland)
Rozbalit Rozbalit vše Re: geo-ha pro mysql a apache

stary, ale pekny tutor: http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=1

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.