Verständnis microservices mit Express.js und Andockfenster

Ich bin neu node.js und docker sowie die microservices-Architektur.
Ich versuche zu verstehen, was microservices-Architektur eigentlich ist und theoretisch verstehe ich, was microservices-Bogen ist.Bitte sehen Sie sich die folgende Implementierung
Dies ist die index.js Datei:

var express = require("express"); 
var app = express();
var service1 = require("./service1");
var service2 = require("./service2");
app.use("/serviceonerequest",service1);
app.use("/servicetwo",service2);
app.listen(3000,function(){
    console.log("listening on port 3000");
});

Die Datei service1:

var express = require("express");
var router = express.Router();
router.use(express.json());
router.get("/",(req,res)=>{
    //perform some service here
    res.send("in the get method of service 1");
    res.end();
});        
router.post("/letsPost",(req,res)=>{
    res.send(req.body);
    res.end("in post method here");
})
module.exports = router;

Die Datei service2:

var express = require("express");
var router = express.Router();       
router.use(express.json());
router.get("/",(req,res)=>{
    //perform some service here
    res.end("in the GET method for service 2");
});    
router.post("/postservice2",(req,res)=>{
    res.send(req.body);
});    
module.exports = router;
  1. Hat die oben qualifiziert sich als ‚micro-service-Architektur‘?Da sind zwei Dienste, und Sie kann zugegriffen werden durch die ‚api-gateway‘ index.js?
  2. Ich habe gelesen, das basic-tutorial von Docker.Ist es möglich, die drei oben genannten „Modulen“, die in separaten Behältern?
  3. Wenn die oben nicht qualifiziert, wie ein microservice, was getan werden sollte, um konvertieren Sie das obige Beispiel, in microservices?
InformationsquelleAutor user1261913 | 2018-04-02



2 Replies
  1. 8

    Diese nicht wirklich qualifiziert wie ein microservice-Architektur.

    Den gesamten code, den Sie ist klein genug, um als ein einzelner microservice (mit zwei Routen), aber dies ist nicht ein Beispiel für eine microservice-Architektur.

    Gemäß dieser definition;

    „Microservices sind kleine, autonomen Dienstleistungen, die gemeinsam

    Building Microservices <– Tipp: Sie sollten dieses Buch Lesen

    Service1 und service2 als microservice autonom sein sollte, was nicht passiert ist, wenn Sie Sie zusammen in der express-app. Zum Beispiel; Sie kann neu starten, ohne nicht-Auswirkungen auf die anderen. Sie cant upgrade-version von service1 ohne auch bereitstellen service2. Sie verteilen sich daher nicht in dem Sinne, dass Sie können lassen Sie in separaten Maschinen.

    • Gut gesagt, ich habe auch empfohlen das gleiche Buch! 😉
    • Danke für die Anregung. Was ist mit OP ‚ s Dritte Frage und zwar? Was sollten Sie tun, um zu konvertieren, dieses Beispiel in die microservices?
  2. 4

    Eigentlich denke ich, fehlt der Begriff microservice-Architektur. Ihre Leistungen müssen unabhängig sein und brauchen, wenn Sie miteinander kommunizieren, müssen Sie einen service-discovery-Mechanismus, der die Rückkehr einer gesunden Instanz des service. Ein anderes Muster der microservices-Architektur ist, dass jeder einzelne Dienst muss über einen Endpunkt (/Gesundheit) liefert den Gesundheitszustand der service, dass diese Ihre service-discovery kann überprüfen, ob diese Instanz ist gesund und kehren Sie ein gesundes Instanz..

    Microservices ist nicht um Technologie, es geht um das Konzept und die Implementierung der richtigen Muster. Sonst haben Sie ein chaos-Architektur 😀

    Wenn Sie wollen understande die Konzepte, die ich wirklich empfehlen kann ist dieses Buch: http://shop.oreilly.com/product/0636920033158.do

    • Dieses Buch ist ein must read! Auch wird empfohlen, es in meiner Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.