Canyan Rating is an open source real-time highly scalable rating system. It is composed of an Agent Service, an API, and a Rating Engine.
The rating system is a critical component in any business, especially when real-time features are a strict requirement to ensure business continuity and congruence of transactions. Any compromise to availability, integrity, and authentication in the billing system makes a huge impact on the services provided.
Canyan aims to address these challenges with a cloud-native scalable solution, easily deployable and easily usable. It has been designed to work atomically ensuring the system status is always consistent, reproducible and coherent. Asynchronous processing of no real-time, consolidation events, prioritization, and time-boxed tasks provide the basics to ensure lightning-fast transaction processing without compromises.
Ease of use is addressed with comprehensive documentation, examples and high-quality software (see the test coverage badge).
Canyan Rating is designed as a microservice architecture and comprises several repositories. Its components are stateless and easily deployable via containers on-premises or in the cloud.
This repository contains the Canyan Rating Agent.
To start using Canyan Rating, we recommend that you begin with the Getting started section in the Canyan Rating documentation.
We welcome and ask for your contribution. If you would like to contribute to Canyan Rating, please read our guide on how to best get started contributing code or documentation.
Canyan is licensed under the GNU General Public License version 3. See LICENSE for the full license text.
We take Canyan's security and our users trust very seriously. If you believe you have found a security issue in Canyan, please responsibly disclose by contacting us at security@canyan.io.
Canyan Rating Agent depends on RabbitMQ. You can easily run it via the provided docker-compose file with:
make docker-start
If you're not familiar with docker-compose read the documentation on the official docker website. You can also install and run RabbitMQ as local services.
The published messages are then processed from the RabbitMQ queue via the Rating Engine. For the integration of the Agent component with the other Canyan Rating components please take a look at the integration repository.
If you want to run the Agent locally you need to create a Python3 virtual environment with:
make venv
Then install the requirements:
source venv/bin/activate
make setup
You need to have RabbitMQ now running and then you can run the Agent with:
make agent
- Follow us on Twitter. Please feel free to tweet us questions.
- Connect with us on LinkedIN.
- Join us on Slack
- Fork us on Github
- Email us at info@canyan.io