Smpp Client load balancing deployment

Post Reply
owlboo98
Posts: 15
Joined: Tue Apr 20, 2021 8:11 am

Smpp Client load balancing deployment

Post by owlboo98 » Fri Sep 10, 2021 7:37 am

Hi,
I am being confused about making the load balancing for our SMPP clients.
I have created a project that could handle multiple providers connections and the number of bindings limit according to the requirements but I am stuck at the step to create the load balancing once we would like to increase more nodes.
We have the ConnectionManagers variables as the list of ESMEManager from ProviderManagerClass.

Code: Select all

private IDictionary<int, ESMEManager> ConnectionManagers = new Dictionary<int, ESMEManager>();
On the ESMEManager class, we stored the connections

Code: Select all

        
        /// <summary>
        /// List of receivers
        /// </summary>
        private List<SMPPConnection> Receivers = new List<SMPPConnection>();
        /// <summary>
        /// List of transmitters
        /// </summary>
        private Dictionary<int, SMPPConnection> Transmitters = new Dictionary<int, SMPPConnection>();
        /// <summary>
        /// List of transceivers
        /// </summary>
        private Dictionary<int, SMPPConnection> Transceivers = new Dictionary<int, SMPPConnection>();
So, if I want to deploy another node, we will have the other ConnectionManagers but it will reach out of the number of allowed bindings from our provider.
We would like to use the message broker (RabbitMQ or Kafka instead) to sending the message as well as providing the API interface for creating the client.
We deployed over IIS.
Could you please help me to overcome this stuff or any experience about managing the SMPP clients?
alt
Site Admin
Posts: 985
Joined: Tue Apr 25, 2006 9:45 am

Re: Smpp Client load balancing deployment

Post by alt » Mon Sep 13, 2021 2:05 pm

When provider limits your SMPP traffic, it doesn't make sense to implement load balancing for this direction.
In most cases you need only one process that reads messages from queue and sends to the provider.

The messages from clients you can also push into queue in broker for routing process or direct into provider's queue.
Post Reply