Docker a soubeznost rubrika: Návrh
Ahoj,
jak to vypada s dockerizaci microservisu, ktere nativne nemaji problemy s soubeznosti (concurrency) jako napr. erlang, go nebo elixir? Slysel jsem, ze jeden kontener umi max. jedno vlakno, coz by neumoznilo vyuzit vicejadrove systemy. Je to opravdu tak? Jake mate s tim zkusenosti?
Je to normální linuxový proces, je jen ve vlastním namespace. Takový hodně vytuněný chroot.
To co jsi slyšel vychází z toho, že Docker kontejner spouští jen právě jeden proces - neobsahuje žádný init.d systém nebo systemd apod. Ten spuštěný proces ale není nijak omezen v tom, kolik spustí podprocesů nebo vláken. Takže kdyby sis tam teoreticky ten systemd spustil, tak máš vlastně paravirtualizovaný systém (na což existuje jiný software).
Jsou to jen best-practices, že když máš Apache a MySQL, tak to spustíš ve dvou kontejnerech a ne v jednom dohromady. Samozřejmě že ten Apache si pak bez problému udělá prefork a to MySQL hromadu vláken.
Pro zobrazení všech 3 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem: