drogonframework / drogon

Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
MIT License
11.45k stars 1.1k forks source link

Data plane library #502

Closed joelmo closed 4 months ago

joelmo commented 4 years ago

Using a data plane library may increase performance by giving a direct path for network packages routed to drogon processes.

An application framework using this is seastar with DPDK. Another example is Ceph.

Are you willing to support or accept patches for something like this?

an-tao commented 4 years ago

@joelmo Thanks. This sounds good to me, but I am not familiar with the data plane library, if you can patch it, I would appreciate it. @rbugajewski what do you think about this? It seems to be another effective way to improve Drogon's performance.

rbugajewski commented 4 years ago

@joelmo Thanks. This sounds good to me, but I am not familiar with the data plane library, if you can patch it, I would appreciate it.

I only worked with Ceph once, and do not know anything about the other frameworks, but it would be really great to have support for data plane libraries as part of Drogon.

@rbugajewski what do you think about this? It seems to be another effective way to improve Drogon's performance.

Exactly, everything that can increase performance further is welcome.

@joelmo Do you have already something prepared or an idea how this would be integrated into Drogon? I imagine that it would be good to have an abstract layer in between the concrete data plane framework support implementation and Drogon, so that the frameworks could be interchanged depending on the deployment. I would go this route even if we just support one framework in the beginning.

joelmo commented 4 years ago

Abstraction layer is a good point because there is also Open Fast Path.

@rbugajewski ATM I have nothing. I will leave this to someone else.

ghost commented 4 years ago

@joelmo If you don't do it yourself, it will never get done.