Mit der anhaltenden Beliebtheit von Cloud Computing und Container-Technologie hat die Microservice-Architektur auch als neuer Software-Architekturansatz große Aufmerksamkeit erregt. Im Vergleich zur herkömmlichen monolithischen Anwendungsarchitektur weist die Microservice-Architektur eine bessere Skalierbarkeit und Wartbarkeit auf und kann sich besser an sich schnell ändernde Anforderungen anpassen. Da jedoch die Anzahl und Komplexität von Microservices zunimmt, wird die Fehlerbehebung immer schwieriger. Daher ist die Verfolgung und Diagnose von Services zu einem wichtigen Problem geworden, das die Microservice-Architektur lösen muss.
In der traditionellen monolithischen Anwendungsarchitektur sind Serviceverfolgung und -diagnose relativ einfach. Da alle Dienste im selben Anwendungsprozess ausgeführt werden, können Vorgänge wie Protokollierung, Ausnahmeerfassung und Erfassung von Leistungsindikatoren in derselben Bibliothek integriert werden, was die Fehlerbehebung erleichtert. In der Microservice-Architektur wird jedoch jeder Dienst unabhängig ausgeführt. Diese Informationen sind auf verschiedene Dienste verteilt und müssen auch miteinander kommunizieren. Daher ist die Art und Weise, wie diese Informationen gesammelt und zentral verwaltet und analysiert werden können, zu einem wichtigen Problem geworden, das in der Microservice-Architektur gelöst werden muss.
In der Microservice-Architektur umfassen Service-Tracking und -Diagnose hauptsächlich drei Aspekte: Protokollierung, Ausnahmeerfassung und Überwachung von Leistungsindikatoren.
In Microservices muss jeder Dienst seine eigenen Protokollinformationen aufzeichnen. Zu diesen Protokollinformationen gehören der Inhalt von Anfragen und Antworten sowie Fehler- und Ausnahmeinformationen, die während des Dienstbetriebs auftreten. Um Protokolle besser verwalten zu können, ist es normalerweise erforderlich, die Protokollinformationen jedes Dienstes auf einheitliche Weise zu sammeln und zu verarbeiten.
Um diesen Vorgang zu erreichen, muss jedem Dienst eine Protokollkomponente hinzugefügt werden, um lokale Protokollinformationen zu sammeln. Gleichzeitig wird empfohlen, einen zentralen Protokolldienst wie ELK (Elasticsearch+Logstash+Kibana) zu verwenden, um diese Protokolle zu verarbeiten und zu verwalten. Durch das Sammeln der Protokollinformationen jedes Mikrodienstes im selben Protokolldienst können Vorgänge wie Protokollsuche, -analyse und -überwachung problemlos durchgeführt werden.
In einer Microservice-Architektur können in jedem Service Fehler und Ausnahmen auftreten. Um diese Ausnahmen besser abfangen zu können, müssen jedem Dienst Ausnahmebehandlungskomponenten hinzugefügt werden.
Im Allgemeinen können ungewöhnliche Informationen per E-Mail, Nachrichtenwarteschlange usw. benachrichtigt werden. Gleichzeitig wird empfohlen, einen zentralen Ausnahmeüberwachungsdienst wie Sentry zu verwenden, um alle Ausnahmeinformationen in diesem Dienst aufzuzeichnen. Auf diese Weise können abnormale Fehlerbehebungen und Analysen durch eine zentrale Verwaltung besser durchgeführt werden.
In der Microservice-Architektur muss die Betriebsleistung jedes Dienstes überwacht werden, z. B. die Antwortzeit und die Anforderung des Dienstes Erfolgsquote und so weiter. Ähnlich wie Protokollierung und Ausnahmeerfassung erfordert auch die Überwachung von Leistungsindikatoren eine zentralisierte Verarbeitung.
Zu den gängigen Tools zur Überwachung von Leistungsindikatoren gehören Prometheus, Grafana usw. Durch die Erfassung der Leistungsindikatoren jedes Mikrodienstes im selben Überwachungsdienst können Leistungsanalysen einfach durchgeführt und Probleme zeitnah behoben werden.
Zusammenfassung
Um Dienste in der Microservice-Architektur zu verfolgen und Fehler zu beheben, müssen eine Reihe von Maßnahmen ergriffen werden, darunter Protokollierung, Ausnahmeerfassung und Überwachung von Leistungsindikatoren. Diese Maßnahmen erfordern die Zentralisierung der Informationen von jedem Dienst für eine bessere Verwaltung und Analyse. Durch Befolgen dieser Schritte kann jeder Dienst in einer Microservices-Architektur effektiv überwacht und geplant werden, um Benutzer- und Geschäftsanforderungen besser zu erfüllen.
Das obige ist der detaillierte Inhalt vonWie geht man mit Service-Tracking und -Diagnose in der Microservice-Architektur um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!