question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Version 6 Change Epic

See original GitHub issue

Version 6 of MassTransit will include a number of changes, centered around more cohesive .NET Standard support, as well as reducing the number of assemblies related to external dependencies.

  • Remove the ILog abstraction, and move to ILoggerFactory and DiagnosticSource
    • Ensure all transport send/publish/receive methods are creating activities
    • Create extensions for saga log statements similar to context.LogSent()
    • Protect major code entry points by settings LogContext.Current if not present
  • Add Automatonymous as a dependency to MassTransit
    • Consolidate container packages
    • Cleans up registration interfaces for state machine sagas
    • Better support for persistence packages
  • Service discovery using Conductor
  • Remove multiple Host support, single host per bus only
    • Generic receive endpoint configuration/connection interfaces
    • Host-based address resolution Add a method such as host.GetAddress(queue: "input-queue"), with overloads for the various types. Also, support transport features, such as host.GetAddress(queue: "input-queue", autoDelete: true, durable: false);
  • Convert Courier interfaces to standard naming convention Only the method-based interfaces will be converted, the ExecuteContext style ones will remain consistent with ConsumeContext.
    • Convert execute and compensate pipelines to standard (remove result pipe)
    • Update middleware for retry/redelivery/outbox to work with updated contexts
  • Create configuration observer for routing slip execute/compensate host
  • Create configuration observer for saga state machines, separate from pure saga
  • Reduce transport code duplication if possible This could be similar to the brokered message receiver, strategy for mapping between transport message type and ReceiveContext, anything to reduce duplicated code without breaking cohesion.
  • Additional message initializer features
    • Rewrite message transform to use initializer code
  • New host for .NET Core that uses the container registration types for discovery
  • Extend Fault contract to include original message types array

Things that will NOT be added

  • Kafka Transport
  • Integration of MS-DI with core MassTransit assembly (MassTransit does not require a container at all, and has no abstraction for one)

There is more to come, for sure, but that’s just a start.

Contributing

Help is always welcome and appreciated. For this work, the v6 branch build: https://github.com/MassTransit/MassTransit/pull/1549 is used. Pull requests should be submitted to https://github.com/phatboyg/MassTransit/tree/v6 branch.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:4
  • Comments:12 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
maldworthcommented, Sep 9, 2019

You mentioned

eliminating the extremely duplicated code for transports

that might be good to add to the list

0reactions
zidadcommented, Dec 9, 2019

@Acidfabric I often use MT for different VHOSTS too.

One for queues/messages only available to the app, and one for publishing/consuming ‘public’ messages. I normally use autofac though, it will allow you to create separate nested containers for each bus instance, but you can also register different instances in the root container with a different name.

https://masstransit-project.com/usage/containers/autofac.html https://autofaccn.readthedocs.io/en/latest/integration/netcore.html

Read more comments on GitHub >

github_iconTop Results From Across the Web

i want to change version of civ 6 in epic games
i want to change version of civ 6 in epic games. is it possible to change version on the epic games store.
Read more >
How to change the patch version of a game in epic games
The first problem is that you can't change the patch version in the game. at the moment, You can only play on the...
Read more >
does anyone know how to change ur gamer version, on ...
the server im trying to join is 1 version older than my current game version, any help would be very much appreciated.
Read more >
Epic Online Services and Epic Games Launcher 14.2.0 ...
The Epic Games Launcher is now using Epic Online Services natively to assist with updating, as well as keep cross-platform and social featur....
Read more >
How do I change the country on my Epic Games account?
You can update your country once every 6 months, and in order to make any changes, you will need to be logged in...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found