Edge Computing vom Einstieg bis zum Abbruch

Edge Computing ist eine zugrunde liegende Technologiearchitektur, die Daten vor Ort in einer Produktionsanlage (Anlage) sammelt, analysiert und speichert. Dies spart Zeit und hilft bei der Aufrechterhaltung des Betriebs, anstatt sich auf langsamere Systeme zu verlassen, die alle Daten in der Cloud speichern. 

Edge-Computing-Unternehmen bieten weiterhin Lösungen an, um die Nachfrage der Menschen nach Edge-Computing zu befriedigen, die durch Faktoren wie Latenz, Bandbreite, Datenschutz und Autonomie ausgelöst wird.

Entwicklungsaussichten für Edge Computing: Baidu-Sicherheitsüberprüfung

MEC of Edge Computing: (6 Nachrichten) Einführung in die MEC of Edge Computing-Reihe

2. Technologie 

2.1 Verwendung von Protokollen in Java

slf4j : Protokollfassade, abstrakte Protokollschicht, Spezifikationsebene. Das Protokollframework kann spezifische Details gemäß seiner Spezifikation implementieren. Bei Verwendung kann das Protokoll direkt durch den Betrieb der Fassade verwendet werden

Ali-Spezifikation : Die Anwendung kann die API im Protokollsystem (Log4j, Logback) nicht direkt verwenden, sondern sollte sich auf die API im Protokoll-Framework SLF4J verlassen. Die Verwendung des Protokollrahmens des Fassadenmodus trägt zur Wartung und Vereinheitlichung der Protokollverarbeitungsmethoden jeder Klasse bei.

Tatsächliche Verwendung : Befolgen Sie bei der tatsächlichen Projektentwicklung die Ali-Spezifikation und verwenden Sie die Kombination aus SLF4J und anderen Protokollierungsframeworks.

In diesem Artikel erfahren Sie, wie Sie Protokolle in der Projektentwicklung verwenden. Wir sehen uns! Blog-CSDN-Blog_So verwenden Sie Protokolle in Java-Projekten

2.2 Redis

Redis ist der Cache der Datenbank. Die von Anwendungen von MySQL abgefragten Daten sollten in Redis registriert werden. Wenn sie später verwendet werden müssen, sollten sie zuerst Redis fragen, und Redis wird MySQL nicht erneut fragen.

2.2.1 Redis in mehrere Vorgänge aufteilen

[Cache-Ablauf && Cache-Eliminierung] : Löschen Sie einige Daten, auf die längere Zeit nicht zugegriffen wurde

* noeviction: Gibt einen Fehler zurück, es wird kein Schlüsselwert gelöscht

* allkeys-lru: Verwenden Sie den LRU-Algorithmus, um den zuletzt verwendeten Schlüsselwert zu löschen

* volatile-lru: Verwenden Sie den LRU-Algorithmus, um den zuletzt verwendeten Schlüsselwert aus dem Schlüsselsatz mit der festgelegten Ablaufzeit zu löschen

* allkeys-random: Nach dem Zufallsprinzip von allen Schlüsseln löschen

* volatile-random: Zufälliges Löschen aus dem Schlüsselsatz mit festgelegter Ablaufzeit

* volatile-ttl: Löschen Sie den Schlüssel mit der kürzesten verbleibenden Zeit aus den Schlüsseln mit der festgelegten Ablaufzeit

* volatile-lfu: Entfernen Sie den am wenigsten häufig verwendeten Schlüssel aus den mit einer Ablaufzeit konfigurierten Schlüsseln

* allkeys-lfu: Löschen Sie den am seltensten verwendeten Schlüssel aus allen Schlüsseln
[Cache-Penetration && Bloom-Filter] : Redis lehnt einige Schlüsselwerte, die in MySQL nicht abgefragt werden können, direkt ab

[Cache Breakdown && Cache Avalanche] : Einige Daten werden von Redis nach dem Ablaufdatum gelöscht, und dann wird auf eine große Menge derselben Daten zugegriffen. Wenn sie in Redis nicht gefunden werden können, greift sie direkt auf MySQL zu.

2.2.2 Datenkonsistenz zwischen Datenbank und Cache

Bei der Datenabfrage werden die Datenbank und der Cache betrieben. Zu diesem Zeitpunkt treten Parallelitätsprobleme auf, sodass Datenkonsistenz erforderlich ist.

Versuchen Sie es erneut, abonnieren Sie MySQL-Binlog und betreiben Sie dann den Cache.

Wiederholungsmechanismus :

Wir können eine Nachrichtenwarteschlange einführen, die durch die zweite Operation (Cache löschen) zu verarbeitenden Daten zur Nachrichtenwarteschlange hinzufügen und den Verbraucher die Daten verarbeiten lassen.

Wenn die Anwendung den Cache nicht löschen kann, kann sie die Daten aus der Nachrichtenwarteschlange erneut lesen und den Cache dann erneut löschen. Dies ist der Wiederholungsmechanismus. Wenn der Wiederholungsversuch eine bestimmte Anzahl überschreitet und immer noch fehlschlägt, müssen wir natürlich eine Fehlermeldung an die Geschäftsschicht senden.

Wenn das Löschen des Caches erfolgreich ist, müssen die Daten aus der Nachrichtenwarteschlange entfernt werden, um wiederholte Vorgänge zu vermeiden. Andernfalls wird der Vorgang wiederholt.
 

Abonnieren Sie MySQL Binlog und betreiben Sie dann den Cache:

Der erste Schritt in der Strategie „Zuerst die Datenbank aktualisieren, dann den Cache löschen“ besteht darin, die Datenbank zu aktualisieren. Wenn die Datenbank erfolgreich aktualisiert wurde, wird ein Änderungsprotokoll generiert und im Binlog aufgezeichnet.

So können wir die spezifischen Daten für den Betrieb erhalten, indem wir Binlog-Protokolle abonnieren und dann den Cache löschen. Alibabas Open-Source-Kanal-Middleware basiert auf dieser Implementierung.

Canal simuliert das interaktive Protokoll der MySQL-Master-Slave-Replikation, tarnt sich als MySQL-Slave-Knoten und sendet eine Dump-Anfrage an den MySQL-Masterknoten. Nach Erhalt der Anfrage beginnt MySQL, Binlog an Canal zu übertragen. Nachdem Canal das Binlog-Byte analysiert hat Stream, in strukturierte Daten umgewandelt, die leicht zu lesen und von nachgelagerten Programmabonnements verwendet werden können.
 

 Wenn wir also sicherstellen möchten, dass der zweite Vorgang der Strategie „Zuerst die Datenbank aktualisieren und dann den Cache löschen“ erfolgreich ausgeführt werden kann, können wir „Nachrichtenwarteschlange, um das Löschen des Caches erneut zu versuchen“ oder „MySQL abonnieren“ verwenden binlog und dann den Cache betreiben“. Diese Methoden haben ein gemeinsames Merkmal: Sie verwenden alle den asynchronen Operationscache .

2.2.3 Redis-Persistenz

RDB-Persistenz und AOF-Persistenz auf zwei Arten

2.2.4 Redis-API

Detaillierte Erklärung von Redis (vollständig)_Feraos Blog-CSDN blog_redis

2.3 Sammlungsoperationen in Java

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_43681154/article/details/125438843
Recomendado
Clasificación