JanEggers / Playground

7 stars 1 forks source link

Great work on MQTT, Kestrel, Actors #2

Open tedvanderveen opened 6 years ago

tedvanderveen commented 6 years ago

We are initiating an IoT project involving actor model, MQTT, IoT Hub and other technologies that you work with very often I think. Could there be an opportunity maybe to join forces for this project?

JanEggers commented 6 years ago

in short no.

Im currently working as full time dev and I can only spare some time if a project like chkr1011/MQTTnet gives some serious value for internal projects.

Maybee i can convince my boss that your project is worth my time but then ill need a little more details.

israellot commented 6 years ago

Hi @JanEggers , I was wondering what were your conclusions on your mqtt over bedrock experiment. I was going to explore the same route.

JanEggers commented 6 years ago

Hi @israellot, for me it is looking good, bedrock seems to be a good starting point to implement protocols (mqtt or anything else) I dont have to worry about the transport details (TCP or else) and can focus on protocol implementation. im currently waiting for the client side of bedrock so further work on this will have to wait for 2.2. if I have both client and server ready on the new api i will measure requests/sec compaired to the current implementation of mqttnet and create a pr for that package.

im nott sure if @chkr1011 would accept such a pr as I tried to move his codebase closer to microsoft libraries (Dependency Injection/Logging) but that was not well received by the consumers of mqttnet so maybe I have to create a new package.

israellot commented 6 years ago

Great! Thanks for your response. I’m also trying to squeeze more juice from mqttnet.

JanEggers commented 6 years ago

if you are interested in that you can have a look at https://github.com/JanEggers/MQTTnet/tree/system.io.pipelines.rebase on that branch im working on span based stuff and created more benchmarks. I got the serializer to over 8mio req/sec. and the integration test is at 300k req/sec. so cpu is still the bottleneck but 10 times faster than current implementation. that combined with bedrock should be a fine boost.

israellot commented 6 years ago

I’ll take a better look. You’ve gone far beyond what I’ve done so far. Good job. Did some minor fixes and rewrites, got a state machine to pull packets, etc. I’ll try to read what you’ve done so I don’t double effort anything. Thanks!