1619041560
Welcome to the Intro to Cassandra Crash Course! In this video series, we’ll go over the basics of how Apache Cassandra works and get hands on with implementing a basic Cassandra Database in the cloud!
📥 Workshop Materials:
https://github.com/DataStax-Academy/Intro-to-Cassandra-for-Developers
Learn more about Cassandra at Apache (https://cassandra.apache.org/doc/latest/) and DataStax (https://docs.datastax.com/en/landing_page/doc/landing_page/cassandra.html) documentation websites.
#cassandra #developer
1601382720
Azure Cosmos DB is a resource governed system that allows you to execute a certain number of operations per second based on the provisioned throughput you have configured. If clients exceed that limit and consume more request units than what was provisioned, it leads to rate limiting of subsequent requests and exceptions being thrown – they are also referred to as 429 errors.
With the help of a practical example, I’ll demonstrate how to incorporate fault-tolerance in your Go applications by handling and retrying operations affected by these rate limiting errors. To help you follow along, the sample application code for this blog is available on GitHub and it uses the gocql driver for Apache Cassandra. In this post, we’ll go through:
One way of tackling rate limiting is by adjusting provisioned throughput to meet your application requirements. There are multiple ways to do this, including using Azure portal, Azure CLI, and CQL (Cassandra Query Language) commands.
The good thing is that the Cassandra API for Azure Cosmos DB translates the rate limiting exceptions into overloaded errors on the Cassandra native protocol. Since the gocql
driver allows you to plugin your own RetryPolicy, you can write a custom implementation to intercept these errors and retry them after a certain (cool down) time period. This policy can then be applied to each Query or at a global level using a ClusterConfig.
The Azure Cosmos DB extension library makes it quite easy to use Retry Policies in your Java applications. An equivalent Go version is available on GitHub and has been used in the sample application for this blog post.
As promised, you will walk through the entire process using a simple yet practical example. The sample application used to demonstrate the concepts is a service that exposes a REST endpoint to POST
orders data which is persisted to a Cassandra table in Azure Cosmos DB.
You will run a few load tests on this API service to see how rate limiting manifests itself and how it’s handled.
Start by installing hey, a load testing program. You can download OS specific binaries (64-bit) for Linux, Mac and Windows (please refer to the GitHub repo for latest information in case you face issues downloading the utility)
You can use any other tool that allows you to generate load on an HTTP endpoint
Clone this GitHub repo and change into the right directory:
git clone github.com/abhirockzz/cosmos-go-rate-limiting
cd cosmos-go-rate-limiting
#cassandra api #apache cassandra #appdev #cassandra #go #paas
1619041560
Welcome to the Intro to Cassandra Crash Course! In this video series, we’ll go over the basics of how Apache Cassandra works and get hands on with implementing a basic Cassandra Database in the cloud!
📥 Workshop Materials:
https://github.com/DataStax-Academy/Intro-to-Cassandra-for-Developers
Learn more about Cassandra at Apache (https://cassandra.apache.org/doc/latest/) and DataStax (https://docs.datastax.com/en/landing_page/doc/landing_page/cassandra.html) documentation websites.
#cassandra #developer
1625751960
In this video, I wanted to touch upon the functionality of adding Chapters inside a Course. The idea was to not think much and start the development and pick up things as they come.
There are places where I get stuck and trying to find answers to it up doing what every developer does - Google and get help. I hope this will help you understand the flow and also how developers debug while doing development.
App url: https://video-reviews.vercel.app
Github code links below:
Next JS App: https://github.com/amitavroy/video-reviews
Laravel API: https://github.com/amitavdevzone/video-review-api
You can find me on:
Twitter: https://twitter.com/amitavroy7
Discord: https://discord.gg/Em4nuvQk
#next js #api #react next js #next #frontend #development
1619001960
Welcome to the Intro to Cassandra Crash Course! In this video series, we’ll go over the basics of how Apache Cassandra works and get hands on with implementing a basic Cassandra Database in the cloud!
📥 Workshop Materials:
https://github.com/DataStax-Academy/Intro-to-Cassandra-for-Developers
Learn more about Cassandra at Apache (https://cassandra.apache.org/doc/latest/) and DataStax (https://docs.datastax.com/en/landing_page/doc/landing_page/cassandra.html) documentation websites.
#cassandra #developer
1616643720
Apache Cassandra is a free and open-source, distributed, NoSQL database management system designed to handle large amounts of data across many servers, providing high availability with no single point of failure. Cassandra offers robust support for clusters spanning multiple datacenters, with asynchronous masterless replication allowing low latency operations for all clients.
Install Docker and docker-compose for testing purposes
$ apt-get update
$ apt install docker.io
$ systemctl enable docker
$ apt install docker-compose
#cassandra #databases #microservices #cassandra