pá 26. 10. 2018 v 23:23 odesílatel starenka . <staren...@gmail.com> napsal:

> Appka sama o sobe nemuze bezet dvakrat z duvodu, ktery tady nechci
> rozebirat (ve zkratce taha to data, ktery sou stream a nemuzu se tam
> pripojit vickrat a zaroven je blby kdyz kus dat ztratim. Ty data se pak
> zpracovavaji zpusobem dost narocnym na zdroje pres rq, takze i tim musim
> setrit, aby to na ty masine vubec jelo +- realtime).
>

Nevím, o co přesně jde, můžeme se o tom pobavit na Pyvu :) Ale obecně se v
těhle případech snažím ten “síťový” problém oddělit do samostatné, co
nejminimalističtější komponenty (procesu), a na to pak navázat už nějak
normálně, aby to odpovídalo “standardům mojí infrastruktury”.

Příklad: mám aplikaci, která hodně používá websockets. A já chci, aby ta
spojení byla co nejstabilnější, např. aby se neresetovala, když nasadím
novou verzi aplikace. Samozřejmě bych toho klienta měl mít udělaného tak,
aby zkoušel reconnect, ale i to chci pokud možno minimalizovat. Tak jak to
teda udělám, abych mohl nasadit novou verzi aplikace a ty websockety to
nejen neshodilo, ale aby se dokonce “přesunuly” na tu novou verzi? Tak, že
tu aplikaci rozdělím na “vstupní část”, která skoro nic nedělá, jen udržuje
ta spojení a poskytuje nějaké úplně low-level API pro tu “aplikační část”,
která teprve obsahuje nějakou business logiku. A cílem je při nasazování
nové verze nasazovat jen tu aplikační část, a naopak minimalizovat hýbání s
tou síťovou částí. U klasických webových aplikací tuto roli hraje v
podstatě load balancer, a ten vlastně taky obvykle bývá “mimo” (hlavně v
cloudu).

Python je na tohle použití super, mj. díky asyncio. Ale dá se to napsat i v
C/C++ za použití libuv, zmq apod. a na to pak navázat v Pythonu.

No a tu aplikační část bych dal klidně do kontejneru, ale tu “low-level
síťovou část” bych spíš nechal mimo (klidně i na jiném VM/hardware).

Tohle se vůbec nemusí týkat Stařenky, jen píšu svůj pohled na věc :)

PM

-- 
-- 
E-mailová skupina django-cs@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
--- 
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs 
ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete 
e-mail na adresu django-cs+unsubscr...@googlegroups.com.
Chcete-li zobrazit tuto diskusi na webu, navštivte 
https://groups.google.com/d/msgid/django-cs/CAK9Q5BQE1x0-uGDS5E5H1JSUYh7dhMeOaJD%2Bwr%3DNTpJWpEwRxg%40mail.gmail.com.
Další možnosti najdete na adrese https://groups.google.com/d/optout.

Reply via email to