Technischer Wochenbericht für die dritte Woche im Februar 2023

Diese Woche haben wir uns mit einem Risiko befasst, das vor den Feiertagen entdeckt wurde. Ein Dienst, der Redis verwendete und keine TTL für den Schlüssel einstellte, sondern sich auf die Redis-Eliminierungsrichtlinie verließ. Ich sehe, dass dieser Dienst Redis mit einer LRU-Eliminierungsstrategie verwendet. Diese Strategie scheint perfekt zu sein, aber es gibt Fallstricke, wenn über einen bestimmten kürzeren Zeitraum viel Schreibverkehr stattfindet. Dann löst Redis den Eliminierungsprozess aus und gibt sein Bestes, um genügend Speicherplatz freizugeben. Das bedeutet, dass Redis normale Operationen wie Abfragen nicht mehr sehr gut ausführen kann. Dies führt zu dramatischen Schwankungen bei der Lese- und Schreiblatenz für Redis aus der Geschäftsschicht. Ich hatte dieses Problem bisher 2 Mal. Außerdem ist Redis ohne die Einstellung von TTL immer zu 100% ausgelastet, und wir können anhand … Weiterlesen …

Technischer Wochenbericht für die zweite Woche im Februar 2023

Von Ende Januar bis Anfang Februar fällt es unter das chinesische Neujahrsfest. Während dieser Zeit muss die Person, die für die Sicherstellung des Betriebs der chinesischen Neujahrsphase verantwortlich ist, in Bereitschaft sein, um sich um Online-Probleme zu kümmern. Ich war in ständiger Sorge, und das Gute daran ist, dass die Online-Probleme nicht aktiv zu mir kamen. Am besten ist es, während des chinesischen Neujahrsfestes insgesamt unbeweglich zu bleiben. Diese Woche bewerte ich die Auswirkungen einer wichtigen Anforderung. Ich bin der Meinung, dass bei einer neuen Geschäftsanforderung, insbesondere wenn sie sich auf ein komplexes Geschäftssystem bezieht, mehrere Auswirkungen berücksichtigt werden müssen. Wenn man zu diesem Zeitpunkt noch nicht besonders vertraut und erfahren mit dem System ist, ist es am besten, nur minimale Änderungen vorzunehmen. Es geht nicht darum, konservativ … Weiterlesen …

Den Mechanismus der CPU-Ressourcenzuweisung in Kubernetes verstehen

Kubernetes (k8s) ist eine beliebte Container-Orchestrierungsplattform, mit der Entwickler containerisierte Anwendungen in einer Cloud-Umgebung bereitstellen, verwalten und automatisieren können. In Kubernetes ist die Zuweisung von CPU-Ressourcen ein kritischer Punkt, der sich direkt auf die Leistung und Zuverlässigkeit von Anwendungen auswirkt. In diesem Artikel stellen wir Ihnen den Mechanismus der CPU-Ressourcenzuweisung in Kubernetes vor, einschließlich der CPU-Anforderungen und -Limits, des CPU-Share-Mechanismus und der CPU-Scheduler sowie anderer damit zusammenhängender Konzepte, um Entwicklern zu helfen, die CPU-Zuweisung von Containern besser zu kontrollieren und die Leistung und Zuverlässigkeit von Anwendungen zu verbessern. CPU-Zuweisungseinheiten In Kubernetes wird die CPU in Millicpu zugewiesen, wobei eine CPU-Ressource 1000 Millicores entspricht. Ein Pod, der 0,5 CPU-Ressourcen anfordert, kann beispielsweise als 500 Millicores ausgedrückt werden. Das System basiert auf dem CPU-Zuweisungsmechanismus im Linux-Kernel. Im Linux-Kernel wird die … Weiterlesen …