Microservices: Open Source Frameworks und Softwarearchitektur

Microservices: Eine moderne Softwarearchitektur

Microservices: Eine moderne Softwarearchitektur

Weiter mit das Thema Evolution und Paradigmenwechsel und Arbeitsmethodenwechsel geschah im Bereich der Softwareentwicklung, auf die wir kürzlich in den genannten Artikeln eingegangen sind "Softwareentwicklung: Ein historischer Rückblick bis heute", "Interoperabilität über die Cloud: Wie wird dies erreicht?" y "XaaS: Cloud Computing - Alles als Service", heute werden wir darüber reden Microservices.

Microservices sind eine moderne Softwarearchitektur, keine API (Application Programming Interface) oder eine Technologie selbst, die installiert und verwendet werden kann. Softwarearchitekturen, auch als Softwaremuster bezeichnet, sind Programmiersprachen völlig fremd, da sie nur festlegen, wie Technologien funktionieren sollen und nicht, wie sie implementiert werden.

Microservices: Einführung

Einführung

Microservices können als Weiterentwicklung der SOA-Architektur (Service-Oriented Architecture) angesehen werden.Dies führt Entwickler dazu, modularere Anwendungen zu erstellen, die funktional und autonom sind und über eine hohe Kapazität verfügen, um effizient wiederverwendet zu werden, wie dies auch bei der Optimierung der Verwendung einiger Hardware der Fall ist Es entfaltet nur das, was wirklich notwendig ist, anstatt unnötig sein volles Potenzial auszuschöpfen.

Die Architektur von Microservicesin der Praxis ist es nicht so weit verbreitet wie in der Theorie, das heißt, es ist besser bekannt als verwendet. Viele Entwickler implementieren es jedoch jeden Tag mehr, da es sich um ein Softwareentwicklungsmodell handelt Es verbessert die Variablen Zeit, Leistung und Stabilität in den Projekten, in denen es angewendet wird. Außerdem sein einfache zugehörige Skalierbarkeit eignet sich besonders für Entwicklungen, bei denen plattformübergreifende Kompatibilität (Web, Mobile, Wearables, IoT) unerlässlich ist.

Microservices: Arbeitsschema

Aber während SOA eine übergeordnete Architektur istDies ist eine Architektur, in der auf Diensten basierende Anwendungen erstellt werden, bei denen ein Dienst die kleinste und funktionalste Arbeitseinheit innerhalb einer erstellten Anwendung ist. Microservices-Architektur auch ermöglicht es uns, Dienstleistungen zu erstellen, aber diese Dienste sind konzipiert auf eine sehr kleine und spezifische Weise damit sie eine sehr präzise und pünktliche Funktionalität erfüllenauf eine Weise, dass sie vom Rest der Anwendungen entkoppelt werden können und völlig autonom vom Rest der Anwendung funktionieren, in der sie erstellt wurde.

Microservices: Was sind sie und was sind sie?

Was sind Softwarearchitekturen (Muster)?

Um die Softwarearchitektur von Microservices gut zu verstehen, ist es gut, ein wenig über die bekanntesten vorhandenen Softwarearchitekturen zu wissen. Es gibt viele existierende, wie auf der Website von zu sehen ist oodesign oder einfach in Wikipedia , aber nach dem berühmten Buch genannt «Musterdesignbuch» (Buch mit Designmustern) Bestehende Muster können wie folgt klassifiziert werden:

Kreativ

Diejenigen, die sich mit den Möglichkeiten zum Instanziieren von Objekten befassen und deren Ziel es ist, den Instanziierungsprozess zu abstrahieren und die Details darüber zu verbergen, wie Objekte erstellt oder initialisiert werden. In dieser Klasse sind die folgenden:

  • Abstrakte Fabrik
  • Baumeister
  • Fabrikmethode
  • Prototyp
  • Singleton

Strukturelle

Diejenigen, die beschreiben, wie Klassen und Objekte (einfach oder zusammengesetzt) ​​kombiniert werden können, um große Strukturen zu bilden und neue Funktionen bereitzustellen. In dieser Klasse sind die folgenden:

  • Aufsatz
  • Bridge
  • Zusammengesetzt
  • Dekorateur
  • Fassade
  • Fliegengewicht
  • Proxy

Verhalten

Diejenigen, die uns helfen, die Kommunikation und Iteration zwischen den Objekten eines Systems zu definieren. Der Zweck dieses Musters besteht darin, die Kopplung zwischen Objekten zu verringern. In dieser Klasse sind die folgenden:

  • Verantwortungskette
  • Befehl
  • Dolmetscher
  • Iteratoren
  • Vermittler
  • Erinnerung
  • Beobachter
  • Bundesstaat
  • Strategie
  • Vorlagenmethode
  • Gast

Weitere KFZ-Pakete

Frühere Entwurfsmuster drückten Schemata aus, die Entwurfsstrukturen definieren, mit denen Softwaresysteme erstellt werden sollen. Wenn wir jedoch ein grundlegendes Organisations- und Strukturschema für die erstellten Softwaresysteme besser ausdrücken möchten, finden wir normalerweise diese andere Klassifizierung:

  • Schieferarchitektur
  • DAO: Datenzugriffsobjekt
  • DTO: Datenübertragungsobjekt
  • EDA: Event Driven Architecture
  • Impliziter Aufruf
  • Nackte Gegenstände
  • Schichtprogrammierung
  • Peer-zu-Peer
  • Pipeline
  • SOA: Serviceorientierte Architektur
  • Drei Ebenen

Es gibt auch die "Controller View Model" das bekannt und verwendet ist und unterteilt ist in:

  • Model View Controller
  • Modell / Ansicht / Präsentator
  • Modell / Ansicht / Präsentator mit Modellpräsentator
  • Modell / Ansicht / Ansichtsmodell
  • Modell / Ansicht / Präsentator mit passiver Ansicht
  • Modell / Ansicht / Präsentator mit Supervisor Controller

Sein Das "Controller View Model" ist eines der bekanntesten und heute implementiertenEs reicht nicht aus, die erforderlichen Funktionen für eine Unternehmensanwendung bereitzustellen, und dies ist einer der Hauptgründe dafür: Die Microservices-Architektur ersetzt den Model-View-Controller (MVC).

Microservices: Vorteile

Vorteile der Microservices-Architektur

Wenn eine Webplattform die Microservices-Architektur verwendet, bietet sie normalerweise die folgenden Vorteile:

  • lösen leicht jedes Problem oder Problem, das präsentiert wird, indem jeder kleine Microservice angesprochen wird, der in eine bestimmte Situation verwickelt ist.
  • Mildern Allgemeine oder globale Ausfälle der Dienste, da ein Ausfall eines Microservice die anderen nicht beeinträchtigt, da diese völlig unabhängig sind.
  • Erleichtern das Starten und Einbeziehen vollständiger oder spezifischer Funktionen oder Dienste, da jeder Microservice separat und schrittweise hinzugefügt oder entfernt und aktualisiert werden kann.
  • Verbessern Zugriff auf Anwendungen oder Dienste, die von allen Arten von Geräten und Plattformen erstellt wurden.
  • Erhöhen die Vielseitigkeit der Plattform, da die Microservices auf verschiedenen Servern verteilt und in verschiedenen Sprachen geschrieben werden können.

Microservices: Frameworks

Open Source Frameworks

Es gibt viele Open Source-Optionen Diese Softwareentwickler können damit Lösungen entwickeln, die Teil von Microservices Architectures sind. Speziell für Java, eine weit verbreitete Technologie, gibt es Folgendes:

Microservices: Webs

Webbeispiele mit Microservices-Architekturen

Unter der großen Anzahl von Websites, die umfangreiche Anwendungsdienste bereitstellen und die Microservices-Architektur schrittweise implementiert haben, um die Wartung und Skalierbarkeit ihrer Dienstleistungs- und Produktplattform zu verbessern und sie einfach, effektiv und schnell zu machen, können wir drei wichtige in der Branche nennen Was sind Sie:

  • Amazon
  • Ebay
  • Netflix

Microservices: Fazit

Fazit

Es ist klar, dass Microservices tragen viel zur modernen webbasierten Softwareentwicklung beiSie bedeuten aber auch, viele neue Herausforderungen anzugehen, die es zu lösen gilt. Probleme, die nicht nur mit dem effizienten Lernen und Arbeiten des Frameworks zu tun haben, sondern auch damit, wie diese neuen Entwicklungen in den IT-Abteilungen ergänzt und umgesetzt werden, die sie letztendlich online stellen, verwalten und abstimmen Gewicht in endgültigen Entscheidungen über jede Entwicklung. Aber Diese Architektur ist hier und sie ist für eine lange Zeit geblieben.


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.