{"id":105323,"date":"2022-10-18T15:37:00","date_gmt":"2022-10-18T13:37:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2"},"modified":"2022-10-18T15:37:00","modified_gmt":"2022-10-18T13:37:00","slug":"vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","title":{"rendered":"Die Ver\u00f6ffentlichung des Frameworks zur Erstellung von Netzwerk-Anwendungen ErgoFramework 2.2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die neueste Version von ErgoFramework 2.2 wurde ver\u00f6ffentlicht, die den vollst\u00e4ndigen Netzwerk-Stack von Erlang und dessen OTP-Bibliothek in der Sprache Go implementiert. Das Framework bietet Entwicklern ein flexibles Werkzeug aus der Welt von Erlang, um verteilte L\u00f6sungen in Go zu erstellen, unterst\u00fctzt durch fertige Entwurfsmuster wie gen.Application, gen.Supervisor und gen.Server sowie spezialisierte Muster wie gen.Stage (verteilte pub\/sub), gen.Saga (verteilte Transaktionen, Implementierung des SAGA-Entwurfsmusters) und gen.Raft (Implementierung des Raft-Protokolls).     <\/p>\n<p>Dar\u00fcber hinaus bietet das Framework Proxy-Funktionalit\u00e4ten mit End-to-End-Verschl\u00fcsselung, die in Erlang\/OTP und Elixir nicht verf\u00fcgbar sind. Da es in Go keinen direkten Entsprechung zu Erlang-Prozessen gibt, werden im Framework goroutines als Grundlage f\u00fcr gen.Server verwendet, mit einer \u201erecover\u201c-Wrapper zur Behandlung von Ausnahmen. Der Projektcode wird unter der MIT-Lizenz ver\u00f6ffentlicht.    <\/p>\n<p>Der Netzwerk-Stack im ErgoFramework implementiert vollst\u00e4ndig die DIST-Protokollspezifikation von Erlang. Das bedeutet, dass Anwendungen, die auf Basis von ErgoFramework erstellt wurden, nativ mit allen Anwendungen, die in den Programmiersprachen Erlang oder Elixir geschrieben sind, funktionieren (Beispiel f\u00fcr die Interaktion mit einem Erlang-Knoten). Es ist auch erw\u00e4hnenswert, dass das Designmuster gen.Stage gem\u00e4\u00df der Elixir GenStage-Spezifikation implementiert ist und vollst\u00e4ndig damit kompatibel ist (Implementierungsbeispiel).    <\/p>\n<p>In der neuen Version:  <\/p>\n<ul>\n<li class=\"l\"> Neue Vorlagen hinzugef\u00fcgt\n<ul>\n<li class=\"l\"> gen.Web \u2014 ein Entwurfsmuster f\u00fcr Web API Gateway (auch bekannt als Backend for Frontend). Beispiel.\n<li class=\"l\"> gen.TCP \u2014 ein Muster, das die Implementierung eines Pools von TCP-Verbindungsakzeptoren mit minimalem Programmieraufwand erm\u00f6glicht. Beispiel.\n<li class=\"l\">  gen.UDP \u2014 \u00e4hnlich dem Muster gen.TCP, nur f\u00fcr das UDP-Protokoll. Beispiel.  <\/ul>\n<li class=\"l\"> Eine neue Funktionalit\u00e4t Events wurde vorgeschlagen, mit der einfaches Event-Bus innerhalb des Knotens implementiert werden kann. Dies erm\u00f6glicht den Austausch von Ereignissen (pub\/sub) zwischen lokalen Prozessen. Beispiel.\n<li class=\"l\"> Die Unterst\u00fctzung f\u00fcr die Typregistrierung wurde hinzugef\u00fcgt, die es erm\u00f6glicht, Nachrichten automatisch in den nativen Datentyp von Golang zu serialisieren\/deserialisieren. Das bedeutet, dass etf.TermIntoStruct f\u00fcr jede empfangene Nachricht nicht mehr verwendet werden muss. Registrierte Typen werden automatisch in den angegebenen Typ transformiert, was die Leistung des Nachrichtenaustauschs zwischen verteilten Knoten erheblich steigert.    <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57933\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 ErgoFramework 2.2, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a Erlang \u0438 \u0435\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 OTP \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go. \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0433\u0438\u0431\u043a\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0438\u0437 \u043c\u0438\u0440\u0430 Erlang \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f gen.Application, gen.Supervisor \u0438 gen.Server, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 &#8212; gen.Stage (distributed pub\/sub), gen.Saga (distributed transactions, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105323","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 ErgoFramework 2.2, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a Erlang \u0438 \u0435\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 OTP \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go.\" \/>\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\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u0412\u044b\u043f\u0443\u0441\u043a \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ErgoFramework 2.2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 ErgoFramework 2.2, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a Erlang \u0438 \u0435\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 OTP \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2\" \/>\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=\"2022-10-18T13:37:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-10-18T13:37:00+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\udd47Ver\u00f6ffentlichung des Frameworks zur Erstellung von Netzwerk-Anwendungen ErgoFramework 2.2 | ProHoster","description":"Die neueste Version von ErgoFramework 2.2 ist ver\u00f6ffentlicht worden, die den vollst\u00e4ndigen Netzwerkstack von Erlang und seine OTP-Bibliothek in der Programmiersprache Go implementiert.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","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\u0412\u044b\u043f\u0443\u0441\u043a \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ErgoFramework 2.2 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 ErgoFramework 2.2, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a Erlang \u0438 \u0435\u0433\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 OTP \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","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":"2022-10-18T13:37:00+00:00","article:modified_time":"2022-10-18T13:37:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/105323","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=105323"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/105323\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=105323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=105323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=105323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}