wiki:Notes/Erlang

Erlang ?

Obligatory links ...

http://www.erlang.org/

http://en.wikipedia.org/wiki/Erlang_%28programming_language%29

http://erlangcentral.org/

But why in heaven's name use Erlang ?

Two answers ... maybe three answers.

RabbitMQ

RabbitMQ is a hot steaming deal. Most Python message clients support Rabbit, some exclusively.

http://www.rabbitmq.com/

RabbitMQ is a ( AMQP )messaging broker - an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.

The MS Windows installer includes the Erlang interpreter.

http://www.rabbitmq.com/federation.html

The high-level goal of the federation plugin is to transmit messages between brokers without requiring clustering ...

The federation plugin allows you to make exchanges and queues federated. A federated exchange or queue can receive messages from one or more upstreams (remote exchanges and queues on other brokers). A federated exchange can route messages published upstream to a local queue. A federated queue lets a local consumer receive messages from an upstream queue.


CloudAMQP can make life with Erlang a little easier ...

https://www.cloudamqp.com/

CloudAMQP is an add-on providing RabbitMQ as a service. RabbitMQ is a high performance message broker, built in Erlang, which implements the AMQP protocol ...

All AMQP client libraries work with CloudAMQP and there’s AMQP client libraries for almost every platform out there, including Ruby, Node.js, Java, Python, Clojure and Erlang ...

FREE - Little Lemur For development

    Max 3 concurrent connections
    Multiple nodes in different AZ's
    High performance

See Messaging#CloudAMQP

Couch DB

May be a better match than MongoDB for distributed, 'semi-connected' database integration. Strong Python support.

http://couchdb.apache.org/

CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript ...

... And you can distribute your data, or your apps, efficiently using CouchDB’s incremental replication. CouchDB supports master-master setups with automatic conflict detection ...

CouchDB comes with a suite of features, such as on-the-fly document transformation and real-time change notifications, that makes web app development a breeze. It even comes with an easy to use web administration console. You guessed it, served up directly out of CouchDB! ...

CouchDB is highly available and partition tolerant, but is also eventually consistent. And we care a lot about your data. CouchDB has a fault-tolerant storage engine that puts the safety of your data first.

http://en.wikipedia.org/wiki/CouchDB

CouchDB (Couch is an acronym for cluster of unreliable commodity hardware) ... [ sounds spot on ... ]

An application may access multiple databases, such as one stored on a user's mobile phone and another on a server. Document metadata contains revision information, making it possible to merge any differences that may have occurred while the databases were disconnected.

http://wiki.apache.org/couchdb/Technical%20Overview

https://wiki.apache.org/couchdb/Replication - Major feature

http://guide.couchdb.org/editions/1/en/replication.html

http://nelm.io/blog/2012/10/a-python-solution-to-a-secure-backup-of-couchdb-via-replication/

... I’ve written a small Python script that you can run as a cronjob to check if a replication exists for a list of CouchDBs. As a little bonus, I added email notification in case something is wrong, so you can sleep well knowing your CouchDB backup is still working ...

https://gist.github.com/fdmanana/832610

Introduction to the replicator database ...

http://guide.couchdb.org/draft/conflicts.html

http://blog.couchbase.com/how-implement-document-versioning-couchbase

Search wiki for 'couch db'

See PythonCouchDB.

ejabberd

https://www.ejabberd.im/

ejabberd is a Jabber/XMPP instant messaging server, licensed under GPLv2 (Free and Open Source), written in Erlang/OTP. Among other features, ejabberd is cross-platform, fault-tolerant, clusterable and modular.

Maybe runnable under Windows but no MS Windows .exe installer :-( ... correction: seems to be one for Windows 7 64-bit as of 8/25/2015, haven't tried it yet.

http://www.process-one.net/en/ejabberd/

Also See

Database

Last modified 11 months ago Last modified on 01/27/2017 01:32:38 PM