На ваш вопрос уже довольно развёрнуто ответили нужно только понять ответ )
Думаю для начала нужно понять что такое поток и как он работает.
Возьмём одноядерный процессор на котором ОС каким то образом "паралельно" выполняет множество процессов. Т.е. на одном ядре процессора асинхронно выполняется код из множества потоков которые создали выполняемые процессы. В данном случае для кода в потоке выполнение синхронное, а для ядра код из потока выполняется асинхронно - постоянно приходится переключать на выполнение кода из других потоков.
Хочу добавить что переключение выполнения между потоками операция довольно тяжёлая и сам поток занимает некоторое количество ресурсов (все из за универсальности решения).
Мультипоточность обычно про паралельное выполнение кода (внутри одного потока синхронное выполнение), а асинхронность про чередующееся (асинхронное).
Вадим, для crio обычно используют crictl, но можно и docker использовать, также и наоборот (т.к. оба спользуют для коммуеикации пайп с протоколом cri). О том какие могут быть подводные камни только прошаренный devops ответит.
Человек хочет с плюсов уйти, а вы ему сразу питон в лицо пихаете. Пожалейте программиста, он же от фейспалма сотряс может получить. Я бы рекомендовал перейти на шарп, а там как пойдёт.
В качестве дипломного проекта написать свой брокер сообщений очень даже не плохая идея. Только распаляться на универсальное решение наверно не стоит. Нужно определиться какие сценарии будет покрывать разрабатываемое решение, а для этого нужно иметь либо источник систематезированных знаний, либо большой опыт в области.