<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Яндекс опубликовал Odyssey, многопоточный балансировщик соед...</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html</link>
    <description>Компания Яндекс опубликовала исходные тексты специализированного прокси-сервера Odyssey (https://github.com/yandex/odyssey), предназначенного для поддержания пула открытых соединений к СУБД PostgreSQL и организации маршрутизации запросов. Приложение построено с использованием многопоточной архитектуры, базирующейся на движке сопрограмм machinarium (https://github.com/yandex/odyssey/tree/master/third_party/machinarium), позволяющем создавать приложения для обработки событий в асинхронном режиме с использованием  традиционных методов процедурного программирования без применения callback-вызовов. Код написан (https://github.com/yandex/odyssey) на языке Си и распространяется под лицензией BSD.&lt;br&gt;&lt;br&gt;&lt;br&gt;Основные возможности Odyssey:&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-  Для обработки соединений запускается несколько рабочих процессов с многопоточными обработчиками, отвечающими за аутентификацию и проксирование запросов. Все рабочие потоки совместно используют общий пул соединений;&lt;br&gt;&lt;br&gt;-  Отслеживается состояния транзакций и  выполняется их автомати</description>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#37</link>
    <pubDate>Mon, 04 Jun 2018 12:48:03 GMT</pubDate>
    <description>/*&lt;br&gt; * machinarium.&lt;br&gt; *&lt;br&gt; * cooperative multitasking engine.&lt;br&gt;*/&lt;br&gt;&lt;br&gt;#include &amp;lt;machinarium.h&amp;gt;&lt;br&gt;#include &amp;lt;machinarium_private.h&amp;gt;&lt;br&gt;&lt;br&gt;MACHINE_API int&lt;br&gt;machine_bind(machine_io_t *obj, struct sockaddr *sa)&lt;br&gt;&#123;&lt;br&gt;mm_io_t *io = mm_cast(mm_io_t*, obj);&lt;br&gt;mm_errno_set(0);&lt;br&gt;if (io-&amp;gt;connected) &#123;&lt;br&gt;mm_errno_set(EINPROGRESS);&lt;br&gt;return -1;&lt;br&gt;&#125;&lt;br&gt;int rc;&lt;br&gt;rc = mm_io_socket(io, sa);&lt;br&gt;if (rc == -1)&lt;br&gt;goto error;&lt;br&gt;rc = mm_socket_set_reuseaddr(io-&amp;gt;fd, 1);&lt;br&gt;if (rc == -1) &#123;&lt;br&gt;mm_errno_set(errno);&lt;br&gt;goto error;&lt;br&gt;&#125;&lt;br&gt;if (sa-&amp;gt;sa_family == AF_INET6) &#123;&lt;br&gt;rc = mm_socket_set_ipv6only(io-&amp;gt;fd, 1);&lt;br&gt;if (rc == -1) &#123;&lt;br&gt;mm_errno_set(errno);&lt;br&gt;goto error;&lt;br&gt;&#125;&lt;br&gt;&#125;&lt;br&gt;rc = mm_socket_bind(io-&amp;gt;fd, sa);&lt;br&gt;if (rc == -1) &#123;&lt;br&gt;mm_errno_set(errno);&lt;br&gt;goto error;&lt;br&gt;&#125;&lt;br&gt;rc = machine_io_attach(obj);&lt;br&gt;if (rc == -1)&lt;br&gt;goto error;&lt;br&gt;return 0;&lt;br&gt;error:&lt;br&gt;if (io-&amp;gt;fd != -1) &#123;&lt;br&gt;close(io-&amp;gt;fd);&lt;br&gt;io-&amp;gt;fd = -1;&lt;br&gt;&#125;&lt;br&gt;io-&amp;gt;handle.fd = -1;&lt;br&gt;return -1;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>путаница в  терминах  &apos;возможности&apos; и &apos;детали реализации&apos; (тот самый парень)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#36</link>
    <pubDate>Mon, 04 Jun 2018 06:38:10 GMT</pubDate>
    <description>Под видом возможностей тут подсунута возможность использовать софт, который написан с использованием таких-то технологий. Это или hype driven development в чистом виде, или же просто несоответствие техписов/аналитиков/тестеров команды нагрузочного тестирования занимаемым. Следуя волне хайп-драйвен-чекин надо проверить всех причастных на синдром самозванца.&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (ананимас)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#35</link>
    <pubDate>Sun, 03 Jun 2018 17:20:52 GMT</pubDate>
    <description>&amp;gt;shapito_stream_reset&lt;br&gt;&lt;br&gt;как корабль назовешь&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (Аноним)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#34</link>
    <pubDate>Sat, 02 Jun 2018 10:40:08 GMT</pubDate>
    <description>goto error - одно из немногих применений goto, которое не осуждается. Ради интереса посмотрите код ядра Linux, например.&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (Anonim)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#33</link>
    <pubDate>Sat, 02 Jun 2018 09:30:46 GMT</pubDate>
    <description>Чем плох раст? Драйвер для PG, написанный на нём, вполне хорош. Или плохо всё, что на слуху?&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (VladSh)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#32</link>
    <pubDate>Fri, 01 Jun 2018 14:41:03 GMT</pubDate>
    <description>Верно, но здесь изображён 1 раз :)&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (VladSh)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#31</link>
    <pubDate>Fri, 01 Jun 2018 14:39:57 GMT</pubDate>
    <description>А при rc != -1 он разве закрывается?&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (Ordu)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#30</link>
    <pubDate>Fri, 01 Jun 2018 13:24:51 GMT</pubDate>
    <description>&amp;gt; 100 лет не видел goto в коде  Яндекс порадовал !!!&lt;br&gt;&lt;br&gt;Кто-то 100 лет не заглядывал в сорцы ядра? Если тебе интересен C, то я очень рекомендую заглядывать туда, хоть иногда. И хоть чего-нибудь пилить в свободное время, работающее в ядерном контексте. Хотя бы развлечения ради. Развивает.&lt;br&gt;</description>
</item>

<item>
    <title>Яндекс опубликовал Odyssey, многопоточный балансировщик соед... (Ordu)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID3/114457.html#29</link>
    <pubDate>Fri, 01 Jun 2018 13:15:15 GMT</pubDate>
    <description>Коллбеки размазывают логику происходящего по многим функциям. Если язык позволяет создавать замыкания под коллбеки, то результат ещё может быть пристойным, а может и нет. Помимо этого лезут проблемы с асинхронностью этих самых коллбеков, и потенциальными проблемами синхронизации. Ещё очень интересно делать сложные атомарные операции, с откатом их назад, если что-то пошло не так. Логику происходящего по коду разобрать становится вообще никак -- использовать размотку стека для откатов не удастся, соответственно, ... ну ты понел&lt;br&gt;&lt;br&gt;То есть да, ты прав. Это показатель ниасиляторства. Но это ни о чём не говорит, сегодня почти все ниасиляторы, пишут, видите ли, на языках высокого уровня, про машинные коды и думать забыли. Ведь были люди в наше время, не то что нынешнее племя...&lt;br&gt;</description>
</item>

</channel>
</rss>
