There are some underlying features that make Erlang a soft real-time platform. One of them is its Garbage Collection mechanism which I talked about it in my previous article, Erlang Garbage Collection Details and Why It Matters. The other one is its scheduling mechanism that is well worth looking at. In this article I will explain its history, the current status, controlling and monitoring API.
One of the main problems that Erlang tried to solve was creating a platform for implementing Soft Realtime systems with a high level of responsiveness. Such systems require a fast Garbage Collection mechanism that doesn’t stop the system from responding in a timely manner. On other hand Garbage Collection gets more importance when we consider Erlang as an Immutable language with Non-destructive Update property, because there is a high rate of producing garbage in such languages.
When it comes to architect a system that must store and retrieve an ever-growing set of data, say billions of key-values, time-series or graph data records, what technology can rescue us from drowning under this bunch of data? A junior web developer just suggest MongoDB or CouchDB. An Erlang fan may offer a combination of Riak and Mnesia. Your old fellow may suggest to use RDBMSes and a young one urge you to use Cassandra, Hbase, ArangoDB and such. All of their ideas can be fit to your problem, and what I know is to consider all, because each of them is an answer to a specific problem.
Today I want to talk about RESTful Web Services and how to create one with Webmachie, which is a REST toolkit, written in Erlang programming language. The reason that propelled me to write this post was the set of unique approaches that I’ve found in the Webmachine both syntactically and semantically. To be succinct, let’s get our hands dirty with it.
This post is about Mnesia Data Base Management System (DBMS), its Lock Mechanism, Time Complexity and Table Types. In the last part of this post, I will write a simple code snippet for it.
In this article, I will try to introduce Erlang Programming Language not only as a robust networking platform, but also as a handy tool for web developers in their everyday usage. As a practical example for it, I am going to use Leptus, which is a RESTful Micro-Framework runs on top of Cowboy.
There is an obligatory Hello World in these situations, so let it be.