|
Boost : |
From: Ruben Perez (rubenperez038_at_[hidden])
Date: 2023-09-05 16:43:06
Hi all,
I'm Ruben, the author of Boost.MySQL, and I want to present (and maybe get
some feedback about) a project I'm developing to showcase how to do async
stuff with Boost server-side.
This started because I want to write a connection_pool class for MySQL.
It's a complex feature with a lot of trade-offs, and I wish I had more field
experience to guide me when making the required decisions.
We currently have great libs for async networking (Asio, Beast, Redis, MySQL).
They've got examples and docs, but I think they sometimes fall short.
Often users get lost since setting up an async server is not trivial, and
we offer a lot of flexibility that can sometimes stun newcomers.
So I've decided to blend these two needs together and create a project that
allows Boost authors to try new things in a realistic environment, while
demonstrating to users how they can use Boost to build an app.
(Note: this is **not** a Boost library, and will never be).
Code: https://github.com/anarthal/servertech-chat/
Docs: https://anarthal.github.io/servertech-chat/
Live demo: http://13.48.215.34/
It's still a work-in-progress. Although I've implemented some features,
I've tried to focus on the skeleton, getting testing, deployments
and C++ best practices in place. I plan on adding more stuff in the future,
like showing how you can call 3rd party REST APIs using Boost.
One cool feature is that, if you have an AWS account, you can fork the repo
and get a live server in minutes (see
https://anarthal.github.io/servertech-chat/03-fork-modify-deploy.html).
I actually envision this as a series of projects, showcasing different
applications and needs. I originally wrote this document
(https://docs.google.com/document/d/1ZQrod1crs8EaNLLqSYIRMacwR3Rv0hC5l-gfL-jOp2M)
describing how I saw it. If any other author wants to step forward and create
their own ServerTech application, please let me know.
I'd like to have some (hopefully constructive) feedback from you guys.
I'd thank you if you give the live demo a try. And if someone's interested,
there's a ton of work to do, so let me know.
Note: if you've scanned through the code and you're asking
"where is the connection_pool" - nowhere yet, that's still to
come.
Thanks,
Ruben.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk