Docker a soubeznost rubrika: Návrh

4 Tomasz Cieńciała
položil/-a 16.8.2016

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?

odkaz
7 messa
odpověděl/-a 17.8.2016

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:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.