Atomic Operations in Linux without lock

Atomic Operations Atomic operations provide instructions that execute atomicallywithout interruption. Just as the atom was originally thought to be an indivisible particle, atomic operators are indivisible instructions. For example, as discussed in the previous chapter, an atomic increment can read and increment a variable by one in a single indivisible and uninterruptible step. Instead of […]

Proton Routing Prototype

This is an attempt to find out what “proton routing” could mean by fleshing out some specific example cases. The basic idea is a “distributed broker” where broker functionality is achieved by a collection of collaborating AMQP nodes. The idea is to have a “container” process with plug-ins that provide AMQP nodes with different capabilities. […]

Maturity Model for REST

Level 0 – Clients of a level 0 API invoke the service by making HTTP POST requests to its sole URL endpoint. Each request specifies the action to perform, the target of the action (e.g. the business object), and any parameters. Level 1 – A level 1 API supports the idea of resources. To perform an action on a […]

Go implementation of a GSLB — thoughts…

This is a homebrew GSLB (Global Server Load Balancer). It uses DNS to route customers to locations based on a combination of their ISP, and the health check status of your sites. DNS lookups are one way of routing customers to an available resource. Decisions can be made that focus on proximity to the user […] […]

How Twitter Handles 3,000 Images Per Second

Today Twitter is creating and persisting 3,000 (200 GB) images per second. Even better, in 2015 Twitter was able to save $6 million due to improved media storage policies. Henna Kermani, a Software Development Engineer at Twitter, tells the story of the Media Platform in an interesting talk she gave at Mobile @Scale London: 3,000 […]

AWS Lambda using Spring and Java

Introduction AWS Lambda is another way to use cloud computing on Amazon’s AWS. It allows you deliver you code and run in production without any server management. It is auto-scale, high available and you pay only when you are using your function. Creating the Application For this basic example, I choose the spring as framework […]

Big Data Visualization easy to setup

Apache Zeppelin is a big data notebook that allows end users to explore their data, rapidly prototype applications, and build visualizations, and dashboards in a web browser. Download, build and install Make sure the following prerequisites are fulfilled: sudo apt-get update sudo apt-get install git sudo apt-get install openjdk-7-jdk sudo apt-get install npm sudo apt-get […]

Kafkaesque Days – Part 1

Apache Kafka is the backbone for various data pipelines and asynchronous messaging at LinkedIn and beyond. In fact, we were excited to learn at the Kafka Summit last month that a number of other big adopters like Netflix and Microsoft have hit similar levels of scale in terms of message volume and deployment sizes, firmly […]

TrailDB – An Efficient Library for Storing and Processing Event Data — thoughts…

tl;dr Today, we are open-sourcing TrailDB, a core library powering AdRoll. TrailDB makes it fast and fun to handle event data. Find it at traildb.io. http://tech.adroll.com/blog/data/2016/05/24/traildb-open-sourced.html TrailDB was created at AdRoll to power processing of time-series of events. You can use it, for instance, to Compute metrics, such as the bounce rate Analyze usage patterns […]