mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
c282d40201119bc6d1ac35f7a3435b9e70b25ec1
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
Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
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
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
Languages
Go
99%
Shell
0.7%
Jinja
0.1%
Python
0.1%
