{"id":92806,"date":"2020-08-31T07:42:03","date_gmt":"2020-08-31T05:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita"},"modified":"2020-08-31T07:42:03","modified_gmt":"2020-08-31T05:42:03","slug":"kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita","title":{"rendered":"Wie man aufh\u00f6rt sich zu sorgen und beginnt, ohne Monolith zu leben","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Wie man aufh\u00f6rt sich zu sorgen und beginnt, ohne Monolith zu leben\" src=\"\/wp-content\/uploads\/2020\/08\/eb6ab7fd08eeebd8cdad89b0e4e6588e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir alle lieben Geschichten. Es macht uns Freude, am Lagerfeuer von unseren fr\u00fcheren Siegen, K\u00e4mpfen oder einfach von unseren Erfahrungen zu erz\u00e4hlen.<\/p>\n<p>Heute ist genau so ein Tag. Und auch wenn ihr gerade nicht am Lagerfeuer sitzt, haben wir eine Geschichte f\u00fcr euch. Eine Geschichte dar\u00fcber, wie wir begannen, mit dem Tarantool-Speicher zu arbeiten.<\/p>\n<p>Es war einmal in unserem Unternehmen, dass es einige 'Monolithen' gab und eine gemeinsame 'Decke', die diese Monolithen langsam, aber sicher n\u00e4her kamen, und so den Flug unseres Unternehmens und unser Wachstum einschr\u00e4nkten. Es gab ein klares Verst\u00e4ndnis: Eines Tages w\u00fcrden wir gegen diese Decke sto\u00dfen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nHeute herrscht bei uns die Ideologie der Trennung von allem, angefangen bei der Hardware bis hin zur Gesch\u00e4ftslogik. Infolgedessen haben wir beispielsweise zwei Rechenzentren, die auf Netzwerkebene praktisch unabh\u00e4ngig sind. Damals war alles ganz anders.<\/p>\n<p>Heutzutage gibt es viele Werkzeuge und Mittel zur Implementierung von \u00c4nderungen in Form von CI\/CD, K8S usw. In der 'Monolith-Zeit' ben\u00f6tigten wir so viele fremde Begriffe nicht. Es gen\u00fcgte, einfach die 'Datenbank' zu korrigieren.<\/p>\n<p>Aber die Zeit verging, und die Anzahl der Anfragen wuchs mit ihr, wobei die RPS gelegentlich \u00fcber unsere M\u00f6glichkeiten hinaus schoss. Mit dem Markteintritt in den GUS-Staaten fiel die CPU-Auslastung des ersten Monolithen nie unter 90 %, und die RPS lagen bei 2400. Und das waren keine einfachen Abfragen, sondern umfangreiche Anfragen mit zahlreichen Pr\u00fcfungen und JOINs, die fast die H\u00e4lfte der Daten in einem gro\u00dfen IO durchsuchen konnten.<\/p>\n<p>Als dann vollst\u00e4ndige Rabatte am \"Black Friday\" auftraten \u2013 und Wildberries begann, diese als eines der ersten Unternehmen in Russland anzubieten \u2013 wurde die Situation wirklich trist. Denn die Last an solchen Tagen steigt dreimal an.<br \/>\nAch, diese \u201emonolithischen Zeiten\u201c! Ich bin mir sicher, dass auch Sie damit konfrontiert waren und bis heute nicht verstehen k\u00f6nnen, wie so etwas Ihnen passieren konnte.<\/p>\n<p>Was soll man tun \u2013 Mode geh\u00f6rt auch zu den Technologien. Vor etwa f\u00fcnf Jahren mussten wir einen solchen Trend \u00fcberdenken, in Form einer bestehenden Website auf .NET und MS SQL-Servern, die alle Logik der Website sorgf\u00e4ltig speicherte. So sorgf\u00e4ltig, dass es sich als langwierige und ziemlich unangenehme Aufgabe herausstellte, einen solchen Monolithen zu zerlegen.<br \/>\nEin kleiner Einschub. <\/p>\n<p>Bei verschiedenen Veranstaltungen sage ich: \u201eWenn Sie den Monolithen nicht aufteilen, sind Sie nicht gewachsen!\u201c Ich w\u00fcrde gerne Ihre Meinung dazu h\u00f6ren, bitte schreiben Sie sie in die Kommentare.<\/p>\n<h3>Und der Donner ging nieder<\/h3>\n<p>\nKehren wir zu unserem \u201eMonolithen\u201c zur\u00fcck. Um die Last der \u201emonolithischen\u201c Funktionalit\u00e4t zu verteilen, haben wir beschlossen, das System in Mikrodienste zu unterteilen, die auf Open-Source-Technologien basieren. Denn deren Skalierung ist mindestens kosteng\u00fcnstiger. Und wir wussten ganz genau, dass wir in der Lage sein w\u00fcrden zu skalieren (und das ziemlich stark). Schlie\u00dflich hatten wir zu diesem Zeitpunkt bereits die M\u00e4rkte der Nachbarl\u00e4nder erreicht, und die Anzahl der Registrierungen sowie die Anzahl der Bestellungen begannen noch st\u00e4rker zu steigen.<\/p>\n<p>Nachdem wir die ersten Kandidaten f\u00fcr den Wechsel von Monolithen zu Mikrodiensten analysiert hatten, verstanden wir, dass in 80 % der F\u00e4lle 99 % der Schreibvorg\u00e4nge von Back-Office-Systemen stammen, w\u00e4hrend das Lesen von der Front kommt. Dies betraf zun\u00e4chst zwei f\u00fcr uns wichtige Teilsysteme \u2014 Nutzerdaten und das System zur Berechnung des Endpreises von Waren auf Basis von Informationen \u00fcber zus\u00e4tzliche Kundenerm\u00e4\u00dfigungen und Gutscheine.<\/p>\n<p>In Anf\u00fchrungszeichen. Es ist schwer vorstellbar, aber neben den oben genannten Subsystemen wurden auch Produktkataloge, der Warenkorb, ein Produktsuchsystem, ein Filtersystem f\u00fcr Produktkataloge und verschiedene Empfehlungssysteme aus unserem Monolithen ausgegliedert. F\u00fcr jeden von ihnen gibt es separate Klassen von spezialisierten Systemen, aber einst lebten sie alle in einem \"Haus\". <\/p>\n<p>Die Daten \u00fcber unsere Kunden sollten sofort in ein sharding-basiertes System ausgelagert werden. Die Auslagerung der Funktionalit\u00e4t zur Berechnung der Endpreise der Produkte erforderte jedoch eine gute Skalierbarkeit im Lesen, da diese die gr\u00f6\u00dfte Last in Bezug auf RPS verursachte und f\u00fcr die Datenbank am kompliziertesten umzusetzen war (sehr viele Daten sind in den Berechnungsprozess involviert). <\/p>\n<p>Infolgedessen entstand bei uns ein Schema, das gut mit Tarantool harmoniert.<\/p>\n<p>Zu dieser Zeit wurden f\u00fcr den Betrieb der Mikrodienste Schemas mit mehreren Rechenzentren auf virtuellen und physischen Maschinen gew\u00e4hlt. Wie in den Abbildungen gezeigt, wurden sowohl Master-Master- als auch Master-Slave-Replikationsvarianten von Tarantool verwendet. <\/p>\n<p><img decoding=\"async\" alt=\"Wie man aufh\u00f6rt sich zu sorgen und beginnt, ohne Monolith zu leben\" src=\"\/wp-content\/uploads\/2020\/08\/b7bf3d6646ec9f6a8f8af3a539adede1.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Architektur. Variante 1. Benutzerservice<\/i><\/p>\n<p>Aktuell besteht dies aus 24 Shards, von denen jeder 2 Instanzen hat (eine f\u00fcr jedes Rechenzentrum), alle im Master-Master-Modus.<\/p>\n<p>\u00dcber der Datenbank befinden sich Anwendungen, die auf die Replikate zugreifen. Die Anwendungen arbeiten mit Tarantool \u00fcber unsere benutzerdefinierte Bibliothek, die die Schnittstelle des Go-Tarantool-Treibers implementiert. Sie sieht alle Replikate und kann mit dem Master lesen und schreiben. Im Wesentlichen implementiert sie ein Replica-Set-Modell, bei dem Logik f\u00fcr die Auswahl der Replikate, Wiederholungsversuche, Circuit Breaker und Rate Limiting hinzugef\u00fcgt wurde.<\/p>\n<p>Dabei gibt es die M\u00f6glichkeit, die Auswahlpolitik der Replikate auf Shard-Ebene zu konfigurieren. Zum Beispiel durch Round-Robin.<\/p>\n<p><img decoding=\"async\" alt=\"Wie man aufh\u00f6rt sich zu sorgen und beginnt, ohne Monolith zu leben\" src=\"\/wp-content\/uploads\/2020\/08\/6dc36fa54e3d01bd51f879fccdfd8e0b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Architektur. Option 2. Dienst zur Berechnung der Endpreise von Waren.<\/i><\/p>\n<p>Vor einigen Monaten ging der Gro\u00dfteil der Anfragen zur Berechnung der Endpreise von Waren an einen neuen Dienst, der grunds\u00e4tzlich ohne Datenbanken funktioniert, aber vor einiger Zeit wurden alle 100% vom Dienst mit Tarantool im Hintergrund verarbeitet.<\/p>\n<p>Die Datenbank des Dienstes besteht aus 4 Mastern, in denen der Synchronisierer Daten sammelt, und jeder dieser Master verteilt den Daten \u00fcber readonly-Replikate. Jeder Master hat etwa 15 solcher Replikate.<\/p>\n<p>Sowohl im ersten als auch im zweiten Schema kann die Anwendung bei Nichtverf\u00fcgbarkeit eines Rechenzentrums Daten aus dem zweiten abrufen.<\/p>\n<p>Es ist erw\u00e4hnenswert, dass die Replikation in Tarantool ziemlich flexibel ist und zur Laufzeit konfiguriert werden kann. In anderen Systemen gab es diesbez\u00fcglich Schwierigkeiten. Zum Beispiel erfordert die \u00c4nderung der Parameter max_wal_senders und max_replication_slots in PostgreSQL einen Neustart des Masters, was in einigen F\u00e4llen zu Verbindungsabbr\u00fcchen zwischen der Anwendung und der Datenbank f\u00fchren kann.<\/p>\n<h3>Suche und du wirst finden!<\/h3>\n<p>\nWarum haben wir nicht \u201ewie normale Menschen\u201c gehandelt und einen typischen Weg gew\u00e4hlt? Es h\u00e4ngt davon ab, was man als normal ansieht. Viele erstellen \u00fcberhaupt ein Cluster aus MongoDB und verteilen es \u00fcber drei geo-redundante Rechenzentren.<\/p>\n<p>Zu diesem Zeitpunkt hatten wir bereits zwei Projekte auf Redis. Das erste war ein Cache, das zweite diente als persistentes Speicher f\u00fcr nicht allzu kritische Daten. Damit hatten wir es ziemlich schwer, teilweise wegen unserer eigenen Fehler. Manchmal waren ziemlich gro\u00dfe Datenmengen in einem Schl\u00fcssel gespeichert, und von Zeit zu Zeit hatte die Website Performance-Probleme. Dieses System nutzten wir im Master-Slave-Modus. Es gab viele F\u00e4lle, in denen etwas mit dem Master passierte und die Replikation unterbrochen wurde. <\/p>\n<p>Das bedeutet, dass Redis gut f\u00fcr zustandslose Aufgaben ist, nicht f\u00fcr zustandsbehaftete. Im Grunde genommen konnte es die meisten Aufgaben erf\u00fcllen, aber nur, wenn es sich um Key-Value-L\u00f6sungen mit ein paar Indizes handelte. Zu diesem Zeitpunkt war die Persistenz und Replikation von Redis jedoch ziemlich entt\u00e4uschend. Au\u00dferdem gab es Bedenken hinsichtlich der Leistung.<\/p>\n<p>Wir haben an MySQL und PostgreSQL gedacht. Aber MySQL hat sich irgendwie bei uns nicht durchgesetzt, w\u00e4hrend PostgreSQL ein sehr anspruchsvolles Produkt ist, und es w\u00e4re unrentabel, darauf einfache Dienste aufzubauen.<br \/>\nWir haben RIAK, Cassandra und sogar eine graphbasierte Datenbank ausprobiert. All diese L\u00f6sungen sind ziemlich nischig und eigneten sich nicht als allgemeines, universelles Werkzeug zur Erstellung von Diensten.<\/p>\n<p>Letztendlich entschieden wir uns f\u00fcr Tarantool.<\/p>\n<p>Wir haben uns an es gewandt, als es sich in der Version 1.6 befand. Uns interessierte die Symbiose von Key-Value und der Funktionalit\u00e4t einer relationalen Datenbank. Es gibt sekund\u00e4re Indizes, Transaktionen und Spaces, das sind wie Tabellen, aber nicht einfach; man kann unterschiedliche Spaltenanzahlen darin speichern. Das Killer-Feature von Tarantool waren die sekund\u00e4ren Indizes in Kombination mit Key-Value und Transaktionsf\u00e4higkeit.<\/p>\n<p>Ein ebenso wichtiger Faktor war die hilfsbereite russischsprachige Gemeinschaft, die bereit war, im Chat Unterst\u00fctzung zu leisten. Wir haben das aktiv genutzt und lebten praktisch im Chat. Und nicht zu vergessen ist die anst\u00e4ndige kontinuierliche Leistung ohne offensichtliche Fehler und Pannen. Wenn wir auf unsere Geschichte mit Tarantool zur\u00fcckblicken, hatten wir viele Herausforderungen und Probleme mit der Replikation, aber wir haben dank seiner Zuverl\u00e4ssigkeit niemals Daten verloren!<\/p>\n<h3>Die Implementierung begann schwierig.<\/h3>\n<p>\nZu diesem Zeitpunkt war unser Haupt-Entwicklungstechnologie-Stack .NET, f\u00fcr den es keinen Connector f\u00fcr Tarantool gab. Wir haben sofort angefangen, etwas in Go zu entwickeln. Auch mit Lua kamen wir ganz gut zurecht. Das Hauptproblem zu der Zeit war das Debugging: In .NET lief alles gro\u00dfartig, aber dann in die Welt von embedded Lua einzutauchen, in der du, abgesehen von den Logs, keine Debugging-Optionen hast, war ziemlich herausfordernd. Au\u00dferdem brach die Replikation aus irgendeinem Grund gelegentlich zusammen, was uns zwang, die Funktionsweise des Tarantool-Engines zu verstehen. Dabei half der Chat, die Dokumentation in geringerem Ma\u00dfe; manchmal schauten wir uns auch den Code an. Zu jener Zeit war die Dokumentation eher mittelm\u00e4\u00dfig.<\/p>\n<p>So haben wir in den letzten Monaten viele Erfahrungen gesammelt und anst\u00e4ndige Ergebnisse bei der Arbeit mit Tarantool erzielt. Wir haben im Git Referenzarbeiten erstellt, die bei der Entwicklung neuer Mikrodienste hilfreich waren. Zum Beispiel, wenn die Aufgabe entstand, einen weiteren Mikrodienst zu erstellen, schaute der Entwickler auf den Quellcode der Referenzl\u00f6sung im Repository, und die Erstellung eines neuen dauerte nicht l\u00e4nger als eine Woche. <\/p>\n<p>Das waren besondere Zeiten. Man konnte damals einfach zum Admin am Nachbartisch gehen und fragen: \u201eGib mir eine Virtual Machine\u201c. Nach etwa drei\u00dfig Minuten war die Maschine schon bei dir. Du hast dich selbst verbunden, alles installiert und dir wurde Traffic darauf eingeleitet.<\/p>\n<p>Heute ist das nicht mehr m\u00f6glich: Man muss das Monitoring und Logging f\u00fcr den Dienst einrichten, die Funktionalit\u00e4t mit Tests abdecken, eine Virtual Machine oder eine Bereitstellung in Kubernetes bestellen usw. Insgesamt wird es so besser sein, obwohl es l\u00e4nger dauert und aufw\u00e4ndiger ist.<\/p>\n<h3>Teilen und herrschen. Wie steht es um Lua?<\/h3>\n<p>\nEs gab ein ernstes Dilemma: Einige Teams hatten Schwierigkeiten, \u00c4nderungen an einem Dienst mit einer gro\u00dfen Menge an Logik in Lua zuverl\u00e4ssig auszurollen. Oft ging dies mit der Unbrauchbarkeit des Dienstes einher. <\/p>\n<p>Das hei\u00dft, die Entwickler bereiten eine \u00c4nderung vor. Tarantool beginnt mit der Migration, w\u00e4hrend die Replikation noch mit dem alten Code arbeitet; dabei wird \u00fcber die Replikation irgendein DDL empfangen, etwas anderes, und der Code bricht einfach zusammen, weil das nicht ber\u00fccksichtigt wurde. Infolgedessen war der Aktualisierungsprozess f\u00fcr die Admins auf ein A4-Blatt geschrieben: Replikation stoppen, das aktualisieren, Replikation einschalten, hier ausschalten, dort aktualisieren. Ein Albtraum! <\/p>\n<p>Letztendlich versuchen wir heutzutage meistens, in Lua nichts zu machen. Einfach \u00fcber iproto (ein Bin\u00e4rprotokoll zur Kommunikation mit dem Server), und das war's. M\u00f6glicherweise ist das ein Wissensmangel der Entwickler, aber aus dieser Perspektive ist das System kompliziert.<\/p>\n<p>Wir folgen diesem Szenario nicht immer blind. Heute gibt es bei uns kein Schwarz und Wei\u00df: entweder alles in Lua oder alles in Go. Wir verstehen bereits, wie wir kombinieren k\u00f6nnen, um sp\u00e4ter keine Probleme mit der Migration zu bekommen.<\/p>\n<p>Wo ist Tarantool jetzt?<br \/>\nTarantool wird im Dienst zur Berechnung des Endpreises von Produkten unter Ber\u00fccksichtigung von Rabattcoupons verwendet, bekannt als \"Promotizer\". Wie bereits erw\u00e4hnt, wird er jetzt eingestellt: Ein neuer Katalogdienst mit vorab berechneten Preisen ersetzt ihn. Vor einem halben Jahr wurden alle Berechnungen im \"Promotizer\" durchgef\u00fchrt. Zuvor war die H\u00e4lfte seiner Logik in Lua geschrieben. Vor zwei Jahren wurde der Dienst in ein Speicher-System umgewandelt und die Logik auf Go neu geschrieben, da sich die Mechanik der Rabatte etwas ver\u00e4ndert hat und dem Dienst die Leistung fehlte. <\/p>\n<p>Einer der kritischsten Dienste ist das Benutzerprofil. Das bedeutet, dass alle Wildberries-Nutzer in Tarantool gespeichert sind, etwa 50 Millionen. Ein nach Benutzer-ID shardiertes System, verteilt \u00fcber mehrere Rechenzentren mit einer Anbindung an Go-Services. <br \/>\nFr\u00fcher war \"Promotaiser\" der Marktf\u00fchrer in Bezug auf RPS, mit bis zu 6.000 Anfragen. Zu einem bestimmten Zeitpunkt hatten wir 50-60 Instanzen. Jetzt ist der Marktf\u00fchrer bei RPS die Benutzerprofile, mit etwa 12.000. Dieser Dienst verwendet eine benutzerdefinierte Shardierung, die auf Benutzer-ID-Bereichen basiert. Der Dienst betreut mehr als 20 Maschinen, aber das ist zu viel; wir planen, die zugewiesenen Ressourcen zu reduzieren, da 4-5 Maschinen ausreichend Kapazit\u00e4ten bieten.<\/p>\n<p>Der Session-Dienst ist unser erster Dienst auf vshard und Cartridge. Die Einrichtung von vshard und das Update von Cartridge erforderten einen gewissen Arbeitsaufwand, aber letztendlich hat alles gut geklappt.<\/p>\n<p>Der Dienst zur Anzeige verschiedener Banner auf der Website und in der mobilen Anwendung geh\u00f6rte zu den ersten, die sofort auf Tarantool ver\u00f6ffentlicht wurden. Dieser Dienst ist bemerkenswert, da er etwa 6-7 Jahre alt ist, immer noch in Betrieb ist und noch nie neu gestartet wurde. Es wurde eine Master-Master-Replikation verwendet. Es ist nie etwas kaputt gegangen.<\/p>\n<p>Es gibt ein Beispiel f\u00fcr die Verwendung von Tarantool zur Funktionalit\u00e4t schneller Nachschlagewerke in einem Lagersystem, um Informationen in bestimmten F\u00e4llen schnell zu \u00fcberpr\u00fcfen. Wir haben versucht, daf\u00fcr Redis zu verwenden, aber die Datenschichtung im Speicher nahm mehr Platz ein als bei Tarantool.<\/p>\n<p>Die Dienste f\u00fcr Wartelisten, Kundenabonnements, die derzeit beliebten Stories und vorgemerkte Produkte funktionieren ebenfalls mit Tarantool. Der letzte Dienst ben\u00f6tigt im Speicher etwa 120 GB. Dies ist der gr\u00f6\u00dfte Dienst aus den oben genannten. <\/p>\n<h3>Fazit<\/h3>\n<p>\nDank der sekund\u00e4ren Indizes in Kombination mit Key-Value und Transaktionsf\u00e4higkeit eignet sich Tarantool hervorragend f\u00fcr architektonische L\u00f6sungen basierend auf Microservices. Wir hatten jedoch Schwierigkeiten beim Einspielen von \u00c4nderungen in Dienste mit viel Logik in Lua \u2013 die Dienste h\u00f6rten oft auf zu funktionieren. Das haben wir nicht \u00fcberwunden, und im Laufe der Zeit sind wir zu verschiedenen Kombinationen von Lua und Go gekommen: Wir wissen, wann wir die eine Sprache und wann wir die andere nutzen sollten.<\/p>\n<p><b>Weitere Lesetipps zu diesem Thema<\/b><\/p>\n<ul>\n<li>Wir erstellen von Grund auf eine hochbelastete Anwendung auf Tarantool <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/510440\/\">habr.com\/ru\/company\/mailru\/blog\/510440<\/a><\/noindex><\/li>\n<li>Zuverl\u00e4ssige Wahl des Marktf\u00fchrers in Tarantool Cartridge <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/513912\/\">habr.com\/ru\/company\/mailru\/blog\/513912<\/a><\/noindex><\/li>\n<li>Telegram-Kanal Tarantool mit Produktneuigkeiten <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/tarantool_news\">t.me\/tarantool_news<\/a><\/noindex><\/li>\n<li>Diskutieren Sie Tarantool im Community-Chat <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/tarantoolru\">t.me\/tarantoolru<\/a><\/noindex><\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/516932\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0438. \u041d\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0441\u0438\u0434\u044f \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0431\u044b\u043b\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0430\u0445, \u0441\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u0435\u043d\u044c. \u0418 \u043f\u0443\u0441\u0442\u044c \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u043d\u043e \u0437\u0430\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0432\u0430\u0441. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 Tarantool. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u0434\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0438. \u041d\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0441\u0438\u0434\u044f \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0431\u044b\u043b\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0430\u0445, \u0441\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u0435\u043d\u044c. \u0418 \u043f\u0443\u0441\u0442\u044c \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u043d\u043e \u0437\u0430\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0432\u0430\u0441. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 Tarantool. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u0434\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e \u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0438. \u041d\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0441\u0438\u0434\u044f \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0431\u044b\u043b\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0430\u0445, \u0441\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u0435\u043d\u044c. \u0418 \u043f\u0443\u0441\u0442\u044c \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u043d\u043e \u0437\u0430\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0432\u0430\u0441. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 Tarantool. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u0434\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e \u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-31T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-31T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wie man aufh\u00f6rt, sich Sorgen zu machen, und anf\u00e4ngt, ohne Monolith zu leben | ProHoster","description":"Wir alle lieben Geschichten. Es gef\u00e4llt uns, am Lagerfeuer von unseren vergangenen Siegen, K\u00e4mpfen oder einfach unseren Erfahrungen zu erz\u00e4hlen. Heute ist genau so ein Tag. Und auch wenn ihr jetzt nicht am Lagerfeuer sitzt, haben wir doch eine Geschichte f\u00fcr euch. Eine Geschichte dar\u00fcber, wie wir anfingen, mit dem Speicher auf Tarantool zu arbeiten. Vor langer Zeit in","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430 | ProHoster","og:description":"\u0412\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u0438. \u041d\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0441\u0438\u0434\u044f \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u0431\u044b\u043b\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0430\u0445, \u0441\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u043e\u0439 \u0434\u0435\u043d\u044c. \u0418 \u043f\u0443\u0441\u0442\u044c \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u0443 \u043a\u043e\u0441\u0442\u0440\u0430, \u043d\u043e \u0437\u0430\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0432\u0430\u0441. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u043d\u0430 Tarantool. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u0434\u0430\u0432\u043d\u044b\u043c-\u0434\u0430\u0432\u043d\u043e \u0432","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-perestat-bespokoitsya-i-nachat-zhit-bez-monolita","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-31T05:42:03+00:00","article:modified_time":"2020-08-31T05:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92806","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:01:23","updated":"2022-10-01 20:28:38"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/92806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=92806"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/92806\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/92807"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=92806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=92806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=92806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}