Wie verwaltet Frontend auf Microservices, vor allem, wenn Sie gemeinsame Komponenten haben? Ich habe ein paar Lösungen im Internet gefunden, aber alle haben einige Nachteile und keiner von ihnen passt gut zu uns.Wie man gemeinsame Frontend-Komponenten auf Microservices verwaltet
Lassen Sie mich mein Problem klären. Wir haben mehr als 5 Gruppen von Menschen, die an verschiedenen Microservices in einem großen Einzelprojekt arbeiten. Und fast alle von ihnen haben einige gemeinsame, gemeinsame Komponenten am Frontend. Und diese Komponenten sind riesig, da sie bereits ein anderes Projekt sind, aber vollständig geteilt werden. Wie verwalten Sie diese freigegebenen Komponenten oder sollten wir sie duplizieren?
Die erste Lösung, die ich gefunden habe, ist es, diese Komponenten von einem einzigen Punkt wie node packages und npm install zu teilen und zu warten, wenn sie von verschiedenen Gruppen benötigt werden. Aber an diesem Punkt ist der Microservice-Ansatz gebrochen, da jeder von diesen Komponenten abhängig sein wird und niemand in der Lage sein wird, so schnell zu warten, wie sie brauchen, nicht gut. Und sehr schwer zu pflegen, da in Zukunft verschiedene Gruppen unterschiedliche Bedürfnisse von der Komponente haben können.
Zweitens ist es, die Komponenten nach jedem Projekt zu duplizieren und innerhalb der Microservice-Gruppe zu entwickeln, aber dieses Mal wird es sehr frankenstein und die allgemeinen Konzepte, die wir befolgen sollten, sind schwer zu fangen. Es ist ein echtes Enterprise-Projekt, bei dem alle Komponenten in Bezug auf das Verhalten übereinstimmen und auf die anderen Komponenten im Projekt achten sollten.
Also brauchen wir eine Frontend-Lösung für Microservices, die für ein Enterprise-Projekt geeignet sein soll, das die gleichen Regeln (wie Schriftgröße, Farbe, Aktionen etc.) an verschiedenen Stellen beachten muss, da es monolithisch geschrieben, aber wartbar ist von verschiedenen Gruppen gleichzeitig.
Wie können wir das ausgleichen oder können wir?
Dank @kayess: Wie kann man den Shared Kernel auf Microservices anwenden, da die Teams nicht voneinander abhängig sind?
Für mich klingt es wie wenn Sie fordern [gemeinsamen Kern] (https://herbertograca.com/2016/02/05/ddd-14-maintaining-model-integrity/) und [diese] (https: //www.infoq.com/news/2016/02/ddd-microservices) aus der DDD-Terminologie. – kayess
Ich suchte nach gemeinsamem Kernel und es ist definiert als „eine Teilmenge des Systems vereinbart könnte zwischen verschiedenen Teams geteilt werden. Den strikten Regeln zur Koordinierung der Anwendung.“ die genau dem entsprechen, was wir wollen. Nun stellt sich die Frage, wie man den Shared Kernel auf Microservices anwendet, da die Teams nicht voneinander abhängig sind. – wertigom
Ich denke, dass Sie diese Informationen gründlich in Ihre Frage bearbeiten sollten, um knappe Antworten zu erhalten. – kayess