It is an extremely simple and lightweight Publish/Subscribe messaging protocol invented at IBM and Arcom (now Eurotech) to connect restricted devices in low bandwidth, high-latency or unreliable networks. MQTT used to stand for MQ Telemetry Transport, but is today referred to simply as MQTT and is no longer an acronym. CoAP Protocol- Constrained Application Protocol.We Explain MQTT in depth here and if you are interested in AMQP and CoAP Protocol. Some Popular Internet of Things Protocols is – MQTT, CoAP and AMQP. Actors in the Service Layer - Asynchronous and Con.In this article, We discuss MQTT Protocol and i am trying to explain MQTT in Depth with MQTT vs CoAP Protocol.And, one could feel the buzz in OSCON 2008. Įrlang is becoming mainstream as a middleware service provider. The technology is called XMPP application server, which scaffolds all the Erlang machinery underneath while exposing easy-to-use client interfaces in your favorite programming language. I can still architect scalable websites that need not poll Flickr 3 million times a day to fetch 6000 updates, without an iota of Erlang awareness. In fact while prototyping for the next version of a trading back-office system, I cooked up all my services using Scala actors, that happily could use RabbitMQ's Erlang based queue and exchange implementation through well-published Java APIs of the client. I do not need to know a bit of Erlang to design my trading service that can process millions of messages from my AMQP endpoints in real time. And all these, being completely oblivious of how the kernel handles scheduling of native threads to serve up your long running requests.Įrlang is becoming mainstream in the same context. Then why don't you find chores of developers programming with the kernel APIs that your OS publishes ? The OS offers the service which developers use everyday when they open up a host of windows, manage their filesystems, send out an IM or open up the browser to get the latest quotes on their tickers. And almost all of these come out of the box through the goodness of platforms like OTP.īut do we find enough Erlang programmers ? Well, the syntax. Finally Erlang processes can be organized into supervisor hierarchies that manage the lifetimes of their child processes and automatically restart in case of exceptions and failures. Erlang runtime offers dynamic hotswapping of code, you can change code on-the-fly, converting your application to a non stop system. This is unlike an imperative language runtime that offers shared state concurrency through threads and mutexes. As a functional language, Erlang applications are designed as shared nothing architectures that interact with each other through asynchronous message passing primitives - as if the whole code can be mathematically analyzed. What is a module in the codebase can be made to map to a process in the runtime, instances of which can be distributed transparently to the nodes of your cluster.Įrlang is naturally concurrent, with ultralightweight processes based on green threads that can be spawned in millions on a cluster of commodity hardware. But with Erlang/OTP, I start with shared nothing concurrency oriented process design, which can naturally be distributed across the cores of your deployment server. I can make my application scale using distributed hashmap technologies of memcached or in-process JVM clustering techniques of Terracotta or a host of other techniques that treat distribution and scalability as a concern separate from the core application design. It's like Erlang is carving out it's own niche as the dominant choice of service based backends. EngineYard is also betting on Erlang for Vertebrae, its platform for Cloud Computing. RabbitMQ provides an implementation of AMQP based on Erlang, ejabberd, an XMPP implementation is also Erlang based. All these applications/services rely on the intrinsic scalability of Erlang as a platform. Well, that's yet another addition to the Erlangy list of Facebook, SimpleDB, CouchDB, Twitter and many more.
0 Comments
Leave a Reply. |