Billing Scaling

Last Updated: Tue Nov 30 2021

The Billing service is responsible for end-to-end billing; from the scheduling of bill runs, through invoice generation, payments and collections.

The Billing service is multi-threaded and utilizes a queuing architecture to distribute the billing load evenly. Once a bill run has been initiated, the billing service will spawn multiple queues; each queue is responsible for a billing operation such as transactions, invoices and payments.

An Account Package represents a billable product/package that has been assigned to one of your customer accounts. This package could include one-time, recurring and/or usage based charges.

Each billing queue will in turn spawn additional queues to parallelize the processing of Account Package charges via a dedicated Package Biller Threads. In a multi-CPU environment, the threads can be allocated across CPUs. This offers multiple layers of scaling; as the number of CPU cores grow, the amount of processing that can be done will scale as well.

In addition to Billing and Rating, the LogiSense application server spawns off several other running services such as the Event Manager, Notifications Service, etc.. With the exception of the Billing and Rating service, most of the other services involve relatively low system overhead.