Activities of "socsricardo"

We are using ABP.IO v10 and with the built-in Inbox/Outbox pattern for message processing in a micro service approach.

We would like to understand whether it is possible to scale message consumption horizontally:

Is it supported to have multiple application instances or background workers consuming messages from the same Inbox while using the Inbox/Outbox flow?

Specifically:

Can multiple instances safely process messages from the same Inbox without the risk of duplicate processing? Does ABP v10 provide built-in concurrency control (such as row locking, leasing, or optimistic concurrency) for Inbox message consumption?

If this scenario is not supported out of the box, is there a recommended approach in ABP v10 to achieve parallel consumption (e.g., partitioning inboxes, custom locking, or integration with a message broker)?

Our goal is to scale consumers while preserving the at-least-once guarantees provided by the Inbox/Outbox pattern.

We are building a microservice-based solution using abp.io and the ABP Payment module. In our payment workflow, we use PaymentRequestProductCreateDto, which has an ExtraProperties property of type Dictionary<string, IPaymentRequestProductExtraParameterConfiguration>. We need to pass custom gateway configuration data (e.g., ZendaPaymentRequestProductExtraParameterConfiguration) through this property.

    public class ZendaPaymentRequestProductExtraParameterConfiguration : IPaymentRequestProductExtraParameterConfiguration
    {
        public string RegisterNo { get; set; }
    }

However, when sending this DTO between services (e.g., via HTTP), we encounter the following error during deserialization

Deserialization of interface or abstract types is not supported. Type 'Volo.Payment.IPaymentRequestProductExtraParameterConfiguration'. Path: $.products[0].extraProperties.Zenda | LineNumber: 0 | BytePositionInLine: 165.

Expected behaviour: We would like to be able to pass custom configuration objects in ExtraProperties across microservice boundaries without serialization issues, or have guidance on the recommended ABP approach for this scenario.

Question: What is the recommended way to use ExtraProperties for gateway-specific configuration in a microservice environment, given the interface-based dictionary and serialization limitations?

Showing 1 to 2 of 2 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.