{"id":31137,"date":"2019-10-31T21:39:40","date_gmt":"2019-10-31T18:39:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ignite-service-grid-perezagruzka\/"},"modified":"2019-10-31T21:39:40","modified_gmt":"2019-10-31T18:39:40","slug":"ignite-service-grid-perezagruzka","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","title":{"rendered":"Ignite Service Grid \u2013 Neustart","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Am 26. Februar fand das Meetup zu Apache Ignite GreenSource statt, bei dem Mitwirkende des Open-Source-Projekts sprachen. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Ein bedeutendes Ereignis f\u00fcr die Gemeinschaft war die Umstrukturierung des Components <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, der es erm\u00f6glicht, benutzerdefinierte Microservices direkt im Ignite-Cluster bereitzustellen. \u00dcber diesen komplexen Prozess sprach <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vyacheslav Daradur<\/a><\/noindex>, Software-Ingenieur und seit \u00fcber zwei Jahren Mitwirkender bei Apache Ignite.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/9054072fe26af4a45bbcae80add90a1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nBeginnen wir damit, was Apache Ignite \u00fcberhaupt ist. Es handelt sich um eine Datenbank, die ein verteiltes Key\/Value-Speichersystem mit Unterst\u00fctzung f\u00fcr SQL, Transaktionen und Caching darstellt. Dar\u00fcber hinaus erm\u00f6glicht Ignite die Bereitstellung benutzerdefinierter Dienste direkt im Ignite-Cluster. Entwicklern stehen alle Werkzeuge zur Verf\u00fcgung, die Ignite bietet \u2013 verteilte Datentypen, Messaging, Streaming, Rechen- und Daten-Grid. Zum Beispiel mit der Verwendung des Data Grid entf\u00e4llt das Problem der Verwaltung einer separaten Infrastruktur f\u00fcr die Datenspeicherung und damit verbundene Kosten.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMit der API des Service Grids kann ein Dienst einfach bereitgestellt werden, indem in der Konfiguration das Bereitstellungsschema und der Dienst selbst angegeben werden.<\/p>\n<p>In der Regel beschreibt das Deployment-Schema die Anzahl der Instanzen, die auf den Knoten des Clusters bereitgestellt werden sollen. Es gibt zwei typische Deployment-Schemata. Das erste ist das Cluster Singleton: Zu jedem Zeitpunkt ist garantiert eine Instanz des Benutzerdienstes im Cluster verf\u00fcgbar. Das zweite ist das Node Singleton: Auf jedem Knoten des Clusters ist eine Instanz des Dienstes bereitgestellt. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer Benutzer kann auch die Anzahl der Instanzen des Dienstes im gesamten Cluster angeben und ein Pr\u00e4dikat zur Filterung geeigneter Knoten definieren. In diesem Szenario berechnet der Service Grid selbst die optimale Verteilung f\u00fcr die Bereitstellung der Dienste.<\/p>\n<p>Zus\u00e4tzlich gibt es eine Funktion namens Affinity Service. Affinity ist eine Funktion, die die Beziehung zwischen Schl\u00fcsseln und Partitionen sowie zwischen Partitionen und Knoten in der Topologie definiert. Anhand des Schl\u00fcssels kann der prim\u00e4re Knoten identifiziert werden, auf dem die Daten gespeichert sind. Dadurch kann Ihr eigener Dienst mit dem Schl\u00fcssel und dem Cache der Affinity-Funktion verkn\u00fcpft werden. Im Falle einer \u00c4nderung der Affinity-Funktion erfolgt eine automatische Neudepoyierung. So wird der Dienst immer in der N\u00e4he der Daten platziert, mit denen er arbeiten soll, was die Zugriffs\u00fcberheadkosten auf die Informationen reduziert. Ein solches Schema kann als eine Art kollokierte Berechnungen bezeichnet werden.<\/p>\n<p>Jetzt, da wir die Vorz\u00fcge des Service Grids er\u00f6rtert haben, erz\u00e4hlen wir von seiner Entwicklungsgeschichte.<\/p>\n<h2>Was war fr\u00fcher<\/h2>\n<p>\nDie vorherige Implementierung des Service Grids basierte auf einem transaktionalen replizierten Systemcache Ignite. Mit dem Wort \u201eCache\u201c in Ignite ist ein Speicher gemeint. Es handelt sich also nicht um etwas Vor\u00fcbergehendes, wie man vielleicht denken k\u00f6nnte. Obwohl der Cache replizierbar ist und jeder Knoten den gesamten Datensatz enth\u00e4lt, hat der Cache intern eine partitionierte Darstellung. Dies h\u00e4ngt mit der Optimierung von Speichersystemen zusammen. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/ce452b6f16aa7b3207648eed45fa6576.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWas geschah, als der Benutzer einen Dienst bereitstellen wollte?<\/p>\n<ul>\n<li>Alle Knoten im Cluster abonnierten die Datenaktualisierung im Speicher \u00fcber den integrierten Mechanismus der Continuous Query.\n<\/li>\n<li>Der Initiator-Knoten f\u00fchrte unter einer read-committed Transaktion einen Eintrag in die Datenbank ein, der die Dienstkonfiguration einschlie\u00dflich des serialisierten Instanz enthielt.\n<\/li>\n<li>Nach Erhalt der Benachrichtigung \u00fcber den neuen Eintrag berechnete der Koordinator die Verteilung basierend auf der Konfiguration. Das erhaltene Objekt wurde zur\u00fcck in die Datenbank geschrieben.\n<\/li>\n<li>Wenn ein Knoten in die Verteilung fiel, musste der Koordinator ihn bereitstellen.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Was uns nicht gefiel<\/h2>\n<p>\nIrgendwann kamen wir zu dem Schluss: So kann man nicht mit Diensten arbeiten. Es gab mehrere Gr\u00fcnde.<\/p>\n<p>Wenn w\u00e4hrend des Deployments ein Fehler auftrat, konnte man nur aus den Protokollen des Knotenpunktes erfahren, wo es passiert ist. Es gab nur ein asynchrones Deployment, sodass nach der \u00dcbergabe der Kontrolle an den Benutzer vom Deployment-Methoden einige zus\u00e4tzliche Zeit erforderlich war, um den Service zu starten \u2013 in dieser Zeit hatte der Benutzer keine M\u00f6glichkeiten zur Steuerung. Um das Service Grid weiterzuentwickeln, neue Funktionen zu erstellen, neue Benutzer zu gewinnen und das Leben aller einfacher zu gestalten, muss etwas ge\u00e4ndert werden.<\/p>\n<p>Bei der Planung des neuen Service Grids wollten wir in erster Linie die Garantie eines synchronen Deployments bieten: Sobald der Benutzer die Kontrolle vom API zur\u00fcckerh\u00e4lt, kann er sofort die Dienste nutzen. Au\u00dferdem wollten wir dem Initiator die M\u00f6glichkeit geben, Fehler beim Deployment zu bearbeiten.<\/p>\n<p>Dar\u00fcber hinaus wollten wir die Implementierung erleichtern und von Transaktionen und Rebalancing absehen. Obwohl der Cache replizierbar ist und keine Balancierung stattfindet, traten bei gro\u00dfen Deployments mit zahlreichen Knoten punkten Probleme auf. Bei \u00c4nderungen der Topologie m\u00fcssen die Knoten Informationen austauschen, und bei gro\u00dffl\u00e4chigen Deployments k\u00f6nnen diese Daten sehr umfangreich sein.<\/p>\n<p>Wenn die Topologie instabil war, musste der Koordinator die Verteilung der Dienste neu berechnen. Generell k\u00f6nnen Arbeiten mit Transaktionen in einer instabilen Topologie zu schwer vorhersagbaren Fehlern f\u00fchren.<\/p>\n<h2>Die Probleme<\/h2>\n<p>\nWas w\u00e4ren globale Ver\u00e4nderungen ohne begleitende Probleme? Eines davon war die \u00c4nderung der Topologie. Es ist wichtig zu verstehen, dass jederzeit, selbst w\u00e4hrend der Bereitstellung eines Dienstes, ein Knoten in den Cluster ein- oder austreten kann. Dar\u00fcber hinaus, wenn ein Knoten w\u00e4hrend der Bereitstellung in den Cluster eintritt, muss alle Informationen \u00fcber die Dienste konsistent an den neuen Knoten \u00fcbergeben werden. Dabei geht es nicht nur um das, was bereits bereitgestellt wurde, sondern auch um aktuelle und zuk\u00fcnftige Bereitstellungen.<\/p>\n<p>Das ist nur eines der Probleme, die man in eine eigene Liste aufnehmen kann:<\/p>\n<ul>\n<li>Wie installiert man statisch konfigurierte Dienste beim Start eines Knotens?\n<\/li>\n<li>Was tun, wenn ein Knoten den Cluster verl\u00e4sst und Dienste gehostet hat?\n<\/li>\n<li>Was tun, wenn der Koordinator gewechselt hat?\n<\/li>\n<li>Was tun, wenn sich der Kunde wieder mit dem Cluster verbunden hat?\n<\/li>\n<li>M\u00fcssen Aktivierungs-\/Deaktivierungsanfragen verarbeitet werden und wie?\n<\/li>\n<li>Was, wenn die Cache-Zerst\u00f6rung aufgerufen wurde, w\u00e4hrend wir Affinit\u00e4tsdienste daran gebunden haben?\n<\/li>\n<\/ul>\n<p>\nUnd das ist bei weitem nicht alles. <\/p>\n<h2>L\u00f6sung<\/h2>\n<p>\nAls Ziel haben wir einen Event-Driven-Ansatz gew\u00e4hlt, der die Kommunikation zwischen Prozessen \u00fcber Nachrichten realisiert. In Ignite sind bereits zwei Komponenten implementiert, die es Knoten erm\u00f6glichen, Nachrichten untereinander auszutauschen \u2013 communication-spi und discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCommunication-spi erm\u00f6glicht es den Knoten, direkt zu kommunizieren und Nachrichten auszutauschen. Es eignet sich gut f\u00fcr die \u00dcbertragung gro\u00dfer Datenmengen. Discovery-spi erm\u00f6glicht es, eine Nachricht an alle Knoten im Cluster zu senden. In der Standardimplementierung erfolgt dies nach der Topologie 'Ring'. Au\u00dferdem gibt es eine Integration mit Zookeeper, wobei in diesem Fall die Topologie 'Stern' verwendet wird. Ein wichtiger Punkt ist: discovery-spi bietet Garantien daf\u00fcr, dass die Nachricht in der richtigen Reihenfolge an alle Knoten zugestellt wird. <\/p>\n<p>Betrachten wir das Bereitstellungsprotokoll. Alle Benutzeranfragen zur Bereitstellung und De-Bereitstellung werden \u00fcber discovery-spi gesendet. Dies bietet folgende <i>Garantien<\/i>:<\/p>\n<ul>\n<li>Die Anfrage wird von allen Knoten im Cluster empfangen. Dies erm\u00f6glicht die Fortsetzung der Bearbeitung der Anfrage beim Wechsel des Koordinators. Zudem bedeutet dies, dass bei einer Nachricht jeder Knoten \u00fcber alle notwendigen Metadaten verf\u00fcgt, wie die Konfiguration des Dienstes und seine serialisierte Instanz.\n<\/li>\n<li>Die strikte Reihenfolge der Nachrichten\u00fcbermittlung erm\u00f6glicht die L\u00f6sung von Konfigurationskonflikten und konkurrierenden Anfragen.\n<\/li>\n<li>Da der Eintritt des Knotens in die Topologie ebenfalls \u00fcber das Discovery SPI verarbeitet wird, erh\u00e4lt der neue Knoten alle notwendigen Daten f\u00fcr die Arbeit mit den Diensten.\n<\/li>\n<\/ul>\n<p>\nBei Erhalt einer Anfrage validieren die Knoten im Cluster diese und erstellen Aufgaben f\u00fcr die Verarbeitung. Diese Aufgaben werden in eine Warteschlange eingef\u00fcgt und anschlie\u00dfend in einem anderen Thread von einem separaten Worker bearbeitet. Dies ist so umgesetzt, da das Deployment erhebliche Zeit in Anspruch nehmen kann und die Verz\u00f6gerung eines teuren Discovery-Streams nicht akzeptabel ist.<\/p>\n<p>Alle Anfragen aus der Warteschlange werden vom Deployment-Manager bearbeitet. Dieser verf\u00fcgt \u00fcber einen speziellen Worker, der eine Aufgabe aus dieser Warteschlange entnimmt und sie initialisiert, um mit der Bereitstellung zu beginnen. Danach erfolgen die folgenden Schritte:<\/p>\n<ol>\n<li>Jeder Knoten berechnet die Verteilung eigenst\u00e4ndig dank einer neuen deterministischen Zuweisungsfunktion.\n<\/li>\n<li>Knoten erstellen eine Nachricht mit den Deployment-Ergebnissen und senden diese an den Koordinator.\n<\/li>\n<li>Der Koordinator aggregiert alle Nachrichten und erstellt das Ergebnis des gesamten Deployment-Prozesses, das \u00fcber discovery-spi an alle Knoten im Cluster gesendet wird.\n<\/li>\n<li>Beim Empfang des Ergebnisses wird der Deployment-Prozess abgeschlossen, danach wird die Aufgabe aus der Warteschlange entfernt.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2013 Neustart\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Neues ereignisgesteuertes Design: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>Wenn w\u00e4hrend des Deployments ein Fehler auftritt, wird dieser sofort in die Nachricht aufgenommen, die an den Koordinator gesendet wird. Nach der Aggregation der Nachrichten hat der Koordinator Informationen \u00fcber alle Fehler w\u00e4hrend des Deployments und sendet diese Nachricht \u00fcber discovery-spi. Informationen zu den Fehlern sind an jedem Knoten im Cluster verf\u00fcgbar. <\/p>\n<p>Nach diesem Arbeitsalgorithmus werden alle wichtigen Ereignisse im Service Grid verarbeitet. Zum Beispiel ist ein Topologiewechsel ebenfalls eine Nachricht \u00fcber discovery-spi. Insgesamt ist das Protokoll im Vergleich zu fr\u00fcheren Versionen ziemlich leichtgewichtig und zuverl\u00e4ssig. So zuverl\u00e4ssig, dass es jede Situation w\u00e4hrend des Deployments verarbeiten kann. <\/p>\n<h2>Was kommt als N\u00e4chstes?<\/h2>\n<p>\nJetzt zu den Pl\u00e4nen. Jede gr\u00f6\u00dfere \u00dcberarbeitung im Ignite-Projekt wird als Initiative zur Verbesserung von Ignite, das sogenannte IEP, umgesetzt. Auch das Redesign des Service Grids hat ein IEP \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/IEP-17%3A+Oil+Change+in+Service+Grid\">IEP Nr. 17<\/a><\/noindex> mit dem humorvollen Titel \u201e\u00d6lwechsel im Service Grid\u201c. Tats\u00e4chlich haben wir jedoch nicht nur das \u00d6l im Motor gewechselt, sondern den Motor komplett ersetzt. <\/p>\n<p>Die Aufgaben im IEP haben wir in zwei Phasen unterteilt. Die erste Phase ist die umfangreiche Phase, die die \u00dcberarbeitung des Deploy-Protokolls umfasst. Diese ist bereits in den Master integriert, sodass Sie den neuen Service Grid in Version 2.8 ausprobieren k\u00f6nnen. Die zweite Phase beinhaltet eine Vielzahl weiterer Aufgaben:<\/p>\n<ul>\n<li>Hot Redeploy\n<\/li>\n<li>Versionierung der Dienste\n<\/li>\n<li>Erh\u00f6hung der Ausfallsicherheit\n<\/li>\n<li>D\u00fcnner Client\n<\/li>\n<li>\u00dcberwachungs- und Metrik-Tools\n<\/li>\n<\/ul>\n<p>\nZum Schluss k\u00f6nnen wir Ihnen das Service Grid f\u00fcr den Aufbau von ausfallsicheren Systemen hoher Verf\u00fcgbarkeit empfehlen. Wir laden Sie auch ein, sich an uns in der <noindex><a rel=\"nofollow\" href=\"mailto:dev@ignite.apache.org\">dev-list<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"mailto:user@ignite.apache.org\">user-list<\/a><\/noindex> zu beteiligen und Ihre Erfahrungen zu teilen. Ihre Erfahrungen sind f\u00fcr die Community wirklich wichtig und helfen zu verstehen, in welche Richtung wir uns weiterentwickeln und wie wir die Komponente in Zukunft gestalten k\u00f6nnen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/447264\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23105,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31137","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=\"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache\" \/>\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\/ignite-service-grid-perezagruzka\" \/>\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\udd47Ignite Service Grid \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ignite-service-grid-perezagruzka\" \/>\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=\"2019-10-31T18:39:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:40+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\udd47Ignite Service Grid \u2013 Neuauflage | ProHoster","description":"Am 26. Februar haben wir ein Meetup zu Apache Ignite GreenSource veranstaltet, bei dem Mitwirkende des Open-Source-Projekts Apache Ignite gesprochen haben. Ein wichtiges Ereignis in der Entwicklung dieser Community war die Neugestaltung des Ignite Service Grid, das es erm\u00f6glicht, benutzerdefinierte Microservices direkt im Ignite-Cluster zu implementieren. \u00dcber diesen komplexen Prozess berichtete w\u00e4hrend des Meetups Wjatscheslaw Daradur, Softwareingenieur und seit mehr als zwei Jahren Mitwirkender bei Apache.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","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\udd47Ignite Service Grid \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 | ProHoster","og:description":"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","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":"2019-10-31T18:39:40+00:00","article:modified_time":"2019-10-31T18:39:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31137","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":"2026-01-21 04:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:16:35","updated":"2026-01-21 04:41:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31137","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=31137"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/23105"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=31137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=31137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=31137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}