![]() Netstandard2.0 netstandard2.0 is compatible. netcoreapp3.1 netcoreapp3.1 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp2.1 netcoreapp2.1 was computed. Netcoreapp2.0 netcoreapp2.0 was computed. net7.0-windows net7.0-windows was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-android net7.0-android was computed. net6.0-windows net6.0-windows was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-android net6.0-android was computed. net5.0-windows net5.0-windows was computed. Versions Compatible and additional computed target framework versions. Issues are not the place for questions, and will either be converted to a discussion or closed. Use GitHub Discussions to ask questions, bring up ideas, or other general items. Please do not open an issue on GitHub, unless you have spotted an actual bug in MassTransit. Get help live at the MassTransit Discord server. The following packages from earlier versions of MassTransit are no longer supported. The following NuGet packages are the currently supported. ![]() Get started by reading through the documentation. Fully-supported, widely-adopted, a complete end-to-end solution.Observability via Open Telemetry (OTEL).Write once, then deploy using RabbitMQ, Azure Service Bus, and Amazon SQS.Experimenting more with CQRS architectures using Jasper + MartenĪnyway, I’m jotting this down mostly for me, but I’m absolutely happy for any kind of feedback or maybe to see if anyone else would be interested in helping with Jasper development.MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity.Using Jasper to host Marten’s asynchronous projections in a way that distributes work across running nodes.An alternative to Marten’s async daemon using Kafka/Pulsar topics.Event streaming from Marten to message queues using Jasper.Going farther, I’d like to have out of the box solutions for: Jasper already has an outbox/inbox pattern implementation for Marten. Maybe the single biggest reason for me to play more with Jasper is to explore some deeper integration with Marten for some more complicated CQRS and event sourcing architectural problems. With everybody all excited about the new Minimal API stuff in ASP.Net Core v6, I wouldn’t mind showing a slightly different approach Maybe, but a low priority - I have a working version of FubuMVC style HTTP endpoints in Jasper already.No idea what that would look like, but the point is to go learn more about Azure Functions Play with some kind of Jasper/Azure Functions integration.Improve the documentation website (if I’m serious about Jasper).To be honest here, I’ve less than thrilled with our MassTransit usage and the hoops you have to jump through to bend it to our will and I’d like to see if I could do better with Jasper Go over the usability of the configuration.Optimize the heck out of the Rabbit MQ usage.Right now there’s a Kafka & Pulsar transport option stuck in PR purgatory from another contributor. If I decide to pursue Jasper seriously, I’d have to do that to have any shot at using Jasper at work Wire compatibility with NServiceBus so a Jasper app can talk bi-directionally with an NServiceBus app.I’m really interested in this, but haven’t taken much time to dive into it yet Support the AsyncAPI standard (Swagger for asynchronous messaging).Really all about getting me up to speed on distributed tracing. Build in Open Telemetry tracing through Jasper’s pipeline.There’s also some significant lessons from Marten V4 that might apply to Jasper Sometimes the best way to improve a codebase is to step away from it for quite a bit and come back in with fresh perspectives. Benchmarking and optimizing the core runtime internals.Upgrading all the dependencies and targeting.For right now, I’m thinking that the Jasper V2 work is something like this: With Marten V4 is in the books, I’m going back to working on Jasper for a little bit. I actually did cut a Jasper V1 release early in the COVID-19 pandemic, but otherwise dropped it to focus on Marten and stopped paying any attention to it. At the same time though, I wanted Jasper to improve upon the earlier FubuMVC architecture by maximizing performance, minimizing object allocations, easier configuration and bootstrapping, and making it much easier for developers to troubleshoot runtime issues. Jasper was originally conceived as a way to recreate the “good” parts of FubuMVC like low code ceremony, minimal intrusion of the framework into application code, and effective usage of the Russian Doll model for the execution pipeline. As it is now, Jasper is a command processing tool similar to Brighter or MassTransit that can be used as either an in memory mediator tool (like a superset of Mediatr) or as a service bus framework for asynchronous messaging. Jasper is a long running OSS passion project of mine.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |