ionutboangiu c282d40201 Implement reconnect logic for AMQP EventReader
Implemented functionality that handles reconnecting to the amqp server
and reinitializing the amqp channel in case of errors and timeouts. This
is handled by a goroutine created in the client constructor (it also
handles the initial connect/init).

Reconnects and reinits will use a fibonacci backoff strategy, and the
attempt amount and max waiting interval can be adjusted by the
'reconnects' and 'max_reconnect_interval' config options.

Messages that fail processing are now dropped instead of being requeued,
preventing infinite processing loops. However, this means that the
messages are lost. Handling failed messages will need to be addressed
separately.

'concurrent_requests' will now set the prefetch count. Setting the
prefetch count using the Qos function was able to replace our old
approach that was using channels. Default value is 1024 which,
according to the rabbitmq docs, 'runs into the law of diminishing
returns'. The recommended value is between 100-300. Source:
https://www.rabbitmq.com/confirms.html#channel-qos-prefetch-throughput

Fix test compilation errors and failing tests caused by these changes.

References #4160
2023-11-08 18:31:07 +01:00
2023-10-26 15:52:06 +02:00
2021-10-12 16:49:01 +03:00
2023-11-08 18:31:07 +01:00
2023-09-26 21:33:40 +02:00
2020-06-24 16:28:50 +03:00
2019-06-12 22:11:43 +02:00
2020-02-19 15:58:46 +01:00
2014-10-14 12:12:51 +02:00
2023-11-02 19:40:53 +01:00
2023-11-08 17:11:40 +01:00
2023-11-08 17:11:40 +01:00
2012-02-25 14:27:06 +02:00
2023-07-04 13:17:13 +02:00
2023-10-26 15:55:54 +02:00
2023-09-26 21:33:40 +02:00
2019-09-04 16:22:08 +02:00

Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments

Build Status Documentation Status GoDoc

Features

  • Real-time Online/Offline Charging System (OCS).
  • Account Balances Management with bundle support.
  • Session or Event charging with reservation.
  • Rating engine.
  • CDR logging with support for Interim Records.
  • QoS LCR and LCR over Bundles.
  • Fraud detection with automatic mitigation.
  • Call Statistics with pattern monitoring.
  • Performance oriented.
  • Modular architecture.
  • Test driven development.
  • Plug-able/non-intrusive into existing setups.
  • Cloud-ready, built on independent micro-services with rich set of RPC APIs.
  • Agile in developing new features.
  • Very fast (5000+ req/sec on a single machine)
  • Good documentation.
  • Commercial support available

Documentation

Step by steps tutorials

Debian apt-get repository

Installing CGRateS from sources on minimal debian (for devel or testing)

Browsable HTML docs http://readthedocs.org/docs/cgrates/

PDF, Epub, Manpage http://readthedocs.org/projects/cgrates/downloads/

API reference godoc

Also check irc.freenode.net #cgrates (Webchat) and Google group for a more real-time support.

Description
No description provided
Readme 110 MiB
Languages
Go 99%
Shell 0.7%
Jinja 0.1%
Python 0.1%