2016-10-12 6 views
0

Ich möchte node.js Mosca MQTT-Broker in einer eingebetteten Weise verwenden.MQTT Embedded Mosca ohne Broker

Aus der Dokumentation scheint es, dass Embedded Mosca einen externen Broker wie Mosquitto, AMQP, ZeroMQ, Redis verwenden muss. Im Fall von stand-alone mosca ist kein externer Broker erforderlich. Kann eine Embedded-Mosca so betrieben werden, dass kein externer Broker wie Stand-Alone-Mosca verwendet wird?

Wenn dies getan werden kann, wie sollte der Code, der unten redis verwendet, geändert werden?

var mosca = require('mosca') 

var ascoltatore = { 
    type: 'redis', 
    redis: require('redis'), 
    db: 12, 
    port: 6379, 
    return_buffers: true, // to handle binary payloads 
    host: "localhost" 
}; 

var moscaSettings = { 
    port: 1883, 
    backend: ascoltatore, 
    persistence: { 
    factory: mosca.persistence.Redis 
    } 
}; 

var server = new mosca.Server(moscaSettings); 
server.on('ready', setup); 

server.on('clientConnected', function(client) { 
    console.log('client connected', client.id);  
}); 

// fired when a message is received 
server.on('published', function(packet, client) { 
    console.log('Published', packet.payload); 
}); 

// fired when the mqtt server is ready 
function setup() { 
    console.log('Mosca server is up and running') 
} 
+2

Dieser Satz ** Kann eine eingebettete Mosca so ausgeführt werden, dass kein externer Broker .. ** keinen Sinn macht. ** Die Mosca ist der Makler ** – Molda

Antwort

1

Mosca ist ein node.js MQTT broker, die verwendet werden können:

  • Eigenständiges

  • in einer anderen Anwendung Node.js Eingebettete

und hinsichtlich der Skalierbarkeit geben ihre Dokumente an, dass

Even though Mosca is a MQTT broker, if you need to scale it out, you need to use another broker as it does not have any clustering support in itself. Some of the brokers it supports are the following:

  • Redis, a key/value store created by @antirez.

  • MongoDB, a scalable, high-performance, document-oriented database.

  • Mosquitto and all implementations of the MQTT protocol.

  • RabbitMQ and all implementations of the AMQP protocol.

  • ZeroMQ to use Mosca in a P2P fashion.

here ist ihr Wiki

3

Hier ist der vollständige Quellcode eines Arbeitsbeispiel eines sicheren MQTT Broker Mosca Lauf in einem eingebetteten Art und Weise verwendet wird.

var mosca = require('mosca') 

var SECURE_KEY = __dirname + '/key.pem'; 
var SECURE_CERT = __dirname + '/cert.pem'; 

var settings = { 
    port: 1883, 
    logger: { 
     name: "secureSample", 
     level: 40, 
    }, 
    secure : { 
     port: 7998, 
     keyPath: SECURE_KEY, 
     certPath: SECURE_CERT, 
    } 
}; 
var server = new mosca.Server(settings); 
server.on('ready', setup); 

server.on('clientConnected', function(client) { 
    console.log('client connected', client.id); 
}); 

// fired when a message is received 
server.on('published', function(packet, client) { 
    console.log('Published', packet.payload); 
}); 

// fired when the mqtt broker is ready 
function setup() { 
    console.log('Mosca embedded MQTT broker running now') 
} 
+0

Wenn Sie Fehler erhalten: Fehler: 0907B068: PEM-Routinen: PEM_READ_BIO_PRIVATEKEY: schlechtes Passwort lesen Sie https://github.com/mcollina/mosca/issues/421 – kakopappa

Verwandte Themen