<div dir="ltr">Jen takova blbost,<div>kdyz uz se resi M2M replikace. Neni lepsi misto ID pouzivat UUID, tim se vyhnes konfliktum ID cek</div><div>(minimalne ma v sobe UUID4 hash stroje a detekce kolizi bude tak specialni udalost, ze se asi ani nikdy nestane). <br>Posledni zmena vitezi, umi to MySQL a asi problem solved. Kazdy stroj si muze komunikovat zvlast (vypadek serveru nezpusobi neodeslani EET)</div><div>Cim vice mustku, tim horsi udrzba...</div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-07-02 16:39 GMT+02:00 Ivan Moucha [Minowara] <span dir="ltr"><<a href="mailto:minowara@gmail.com" target="_blank">minowara@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Ahoj,<div><br></div><div>to co hledas je Circuit Breaker (<a href="https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern" target="_blank">https://en.wikipedia.org/<wbr>wiki/Circuit_breaker_design_<wbr>pattern</a> nebo <a href="https://martinfowler.com/bliki/CircuitBreaker.html" target="_blank">https://<wbr>martinfowler.com/bliki/<wbr>CircuitBreaker.html</a>)</div><div><br></div><div>V PHP uz si neco muzes vygooglit, neco sem nasel :-).</div><div><br></div><div>Dalsi reseni (ktere pouzivame bezne v produkci) je nasazeni MQ front, ktere je samo od sebe dostatecne robustni a vyresi ti spoustu problemu (ale o to slozitejsi je to dokodovat).</div><div><br></div><div><div>
<div dir="auto" style="word-wrap:break-word;line-break:after-white-space"><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">--------------</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Ivan Moucha [Minowara]</div><div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br></div><br class="m_-4340673858353112594Apple-interchange-newline"></div><br class="m_-4340673858353112594Apple-interchange-newline">
</div><div><div class="h5">
<div><br><blockquote type="cite"><div>On 2 Jul 2018, at 16:14, Jan B. Kolář <<a href="mailto:janbivoj.kolar@zazen-nudu.cz" target="_blank">janbivoj.kolar@zazen-nudu.cz</a>> wrote:</div><br class="m_-4340673858353112594Apple-interchange-newline"><div><div>Díky všem za jejich reakci a omlouvám se za moje poněkud delší odezvy. Sedím <br>zrovna za pultem a zatím co odpovídám, tak ještě obsluhuji zákazníky :-D<br><br>V podstatě se mi zdá jako nejjednodušší řešení to, co míše Martin. Můj problém <br>ale je, že úplně přesně nevím, jak bych to měl v PHP implementovat. Tedy <br>první, co mě napadlo je, že bych použil dvě databáze - vzdálenou přes SSH <br>tunel a lokální. Standardně bych pracoval se vzdálenou databází a pokud by se <br>PHP nepodařilo ke vzdálené databázi připojit, tak by začalo pracovat s lokální <br>databází a ukládalo si účtenky, které vystavilo pro pozdější synchronizaci. <br>Jakmile by se spojení obnovilo, tak by se appka pokusila všechno z lokální <br>databáze nahrát do vzdálené databáze na server.<br><br>Hned první, co mě ale napadá je, jak appka pozná, že je spojení přerušeno/<br>navázáno? Tedy pokud budu při každém požadavku čekat na timeout vzdálené <br>databáze, tak se ta aplikace asi brutálně zpomalí, ikdyž tam dám třeba jen 1s <br>timeout.<br><br>Čím si však vůbec nejsem jistý, jakým způsobem bych měl řešit tu cache <br>produktů? To mám třeba co hodinu stahovat celou produktovou tabulku ze <br>vzdálené databáze a ukládat ji lokálně? Jde sice jen o cca. 2 tisíce produktů <br>a dvě pokladny, ale přesto...<br><br>Neviděl jste někdo nějakou implementaci takového problému, že bych se mohl <br>podívat na kód? <br><br>Dne pondělí 2. července 2018 13:18:36 CEST jste napsal(a):<br><blockquote type="cite">Dne 2.7.2018 v 11:26 Jan B. Kolář napsal(a):<br><blockquote type="cite">Začal jsem si tedy pohrávat s myšlenkou, že bych aplikaci přesunul na<br>každou pokladnu zvlášť (tzn. na pokladně by běžel nginx, PHP a mysql) a<br>na server si dělal jen replikaci databází, abych pak mohl dělat z<br>pokladen výkazy, aniž by byly v běhu.<br></blockquote><br>Nebylo by jednodušší používat lokální databázi na pokladnách jen jako<br>cache produktů a buffer účtenek? Databáze na serveru bude hlavní.<br>Pokladny si z ní v definovaných intervalech budou aktualizovat cache<br>produktů a průběžně do ní budou zapisovat nové účtenky, které se<br>serverem Ministerstva vyřídí samy. Když ale selže spojení s hlavní<br>databází, účtenka se zapíše do bufferu a na server se uloží až<br>dodatečně, až se spojení zase obnoví.<br><br>S pozdravem,<br>Maritn Doucha<br></blockquote><br>-- <br>Jan B. Kolář<br><br>Zažeň nudu<br>Hodolanská 17, 779 00 Olomouc<br>tel: +420 605 800 859<br><a href="mailto:janbivoj.kolar@zazen-nudu.cz" target="_blank">e-mail: janbivoj.kolar@zazen-nudu.cz</a><br><a href="http://www.zazen-nudu.cz" target="_blank">www.zazen-nudu.cz</a><br>______________________________<wbr>_________________<br>Community-list mailing list<br><a href="mailto:Community-list@lists.vpsfree.cz" target="_blank">Community-list@lists.vpsfree.<wbr>cz</a><br><a href="http://lists.vpsfree.cz/listinfo/community-list" target="_blank">http://lists.vpsfree.cz/<wbr>listinfo/community-list</a><br></div></div></blockquote></div><br></div></div></div></div><br>______________________________<wbr>_________________<br>
Community-list mailing list<br>
<a href="mailto:Community-list@lists.vpsfree.cz">Community-list@lists.vpsfree.<wbr>cz</a><br>
<a href="http://lists.vpsfree.cz/listinfo/community-list" rel="noreferrer" target="_blank">http://lists.vpsfree.cz/<wbr>listinfo/community-list</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">S přáním pěkného dne,<br>Martin Mikšaník<br><br>gsm: +420 602 623 934<br>icq: 311047283<br></div>
</div>