in ,

yandex / odyssey, Hacker News

yandex / odyssey, Hacker News


        

Project status

Odyssey is production-ready, it is being used in large production setups. We appreciate any kind of feedback and contribution to the project.


Design goals and main featuresMulti-threaded processing

Odyssey can significantly scale processing performance by specifying a number of additional worker threads. Each worker thread is responsible for authentication and proxying client-to-server and server-to-client requests. All worker threads are sharing global server connection pools. Multi-threaded design plays important role in SSL / TLS****************** performance.

Advanced transactional pooling

)

Odyssey tracks current transaction state and in case of unexpected client disconnection can emit automatic

Better pooling control

Authentication

)

Odyssey has full-featured

Logging

Architecture and internals

Odyssey has sophisticated asynchronous multi-threaded architecture which is driven by custom made coroutine engine: machinarium. Main idea behind coroutine design is to make event-driven asynchronous applications to look and feel like being written in synchronous-procedural manner instead of using traditional callback approach.

One of the main goal was to make code base understandable for new developers and to make an architecture easily extensible for future development.

More information: Architecture and internals. ********Build instructions

Currently Odyssey runs only on Linux. Supported platforms are x 84 / x 90 _ 72. ********

To build you will need:

**************************** (cmake>=2.8**********************

  • gcc>=4.6