Duda I/O is an event driven web services framework. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution High Production servers and Embedded environments, it's made for x86_64, x86 and ARM.
Achieve high performance is one of the principal goals, for hence the architecture
is designed to take the most of the Linux Kernel. It provides a flexible packaging
system, expose a friendly C API and support many features such as WebSockets, NoSQL,
In-memory Key/Value store and much more.
Most of web services implementations around lack of good perfomance and requires high system resources. As opposite, Duda is built with high performance and low resources consumption in mind, it takes the most of Monkey web server to achieve it goals.
We invite you to review our presentation slides to see a comparisson about performance and resources usage:
Duda is an open source project under the GNU Lesser General Public License v2. It means that you don't need to open source your project (as well you don't need to pay any fee for the stack). If is the case, you are only forced to release the modifications performed to some stack component.
The HTTP core is powered by Monkey, a strong and mature open source web server for GNU/Linux. Duda is implemented as a plugin who wraps the Monkey internals and expose a C friendly API in pseudo-objects style.
Besides the core objects, it provides a packages system, so every web service can load on startup a third party object, at the moment the following packages are available: Websocket, JSON, SQLite, SHA1, Base64 and many others.
The networking model is based in asynchronous sockets balanced through a number of fixed threads, on this way it achieve high performance and scale properly on demand.
On e of the major concerns when developing on top of a framework, is about the stability and how the ongoing development may break your code when new changes or features arrives. At Duda I/O we understand Enterprise needs so we make sure to provide stable API levels where your service belongs to. Each API Level is under a long-term support mode where it only receive bug fixes. When a new API Level is released, a migration guide is provided and of course the migration optional. Keep safe and secure running your service for a long period of time.
If you are interested into participate on this project feel free to contact us on irc.freenode.net #monkey or through our new mailing list.