{"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\/sv\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","title":{"rendered":"Sl\u00e4pp av ErgoFramework 2.2 f\u00f6r skapande av n\u00e4tverksapplikationer","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>ErgoFramework 2.2 har sl\u00e4ppts, vilket implementerar ett komplett n\u00e4tverksstack f\u00f6r Erlang och dess OTP-bibliotek i Go-spr\u00e5ket. Ramverket ger utvecklaren ett flexibelt verktyg fr\u00e5n Erlang-v\u00e4rlden f\u00f6r att skapa distribuerade l\u00f6sningar i Go med hj\u00e4lp av f\u00e4rdiga designmallar som gen.Application, gen.Supervisor och gen.Server, samt specialiserade mallar \u2014 gen.Stage (distributed pub\/sub), gen.Saga (distributed transactions, implementering av SAGA-designm\u00f6nstret) och gen.Raft (implementering av Raft-protokollet).     <\/p>\n<p>Dessutom erbjuder ramverket proxyfunktionalitet med m\u00f6jligheten till end-to-end-kryptering, som inte finns tillg\u00e4nglig i Erlang\/OTP och Elixir. Eftersom det inte finns n\u00e5gon direkt motsvarighet till Erlang-processen i Go anv\u00e4nds goroutine som grund f\u00f6r gen.Server med en 'recover'-wrap f\u00f6r att hantera undantag. Projektets kod distribueras under MIT-licensen.    <\/p>\n<p>N\u00e4tverkssteget i ErgoFramework implementerar helt specifikationen f\u00f6r DIST-protokollet i Erlang. Det betyder att applikationer som skrivits med ErgoFramework fungerar nativt med alla applikationer skrivna i programmeringsspr\u00e5ken Erlang eller Elixir (exempel p\u00e5 interaktion med en Erlang-nod). Det \u00e4r ocks\u00e5 v\u00e4rt att n\u00e4mna att designm\u00f6nstret gen.Stage har implementerats enligt specifikationen f\u00f6r Elixir GenStage och \u00e4r helt kompatibelt med den (implementeringsexempel).    <\/p>\n<p>I den nya utg\u00e5van:  <\/p>\n<ul>\n<li class=\"l\"> Nya m\u00f6nster har lagts till\n<ul>\n<li class=\"l\"> gen.Web \u2014 designm\u00f6nster f\u00f6r Web API Gateway (\u00e4ven k\u00e4nt som Backend For Frontend). Exempel.\n<li class=\"l\"> gen.TCP \u2014 ett m\u00f6nster som m\u00f6jligg\u00f6r implementering av en pool av TCP-anslutningsacceptorer med minimala kodinsatser. Exempel.\n<li class=\"l\">  gen.UDP \u2014 liknar gen.TCP-m\u00f6nstret, men f\u00f6r UDP-protokollet. Exempel.  <\/ul>\n<li class=\"l\"> En ny funktionalitet f\u00f6r Events har f\u00f6reslagits med en enkel h\u00e4ndelsebuss inuti noden, vilket g\u00f6r det m\u00f6jligt att skapa mekanismer f\u00f6r h\u00e4ndelseutbyte (pub\/sub) mellan lokala processer. Exempel.\n<li class=\"l\"> St\u00f6d f\u00f6r typregistrering har lagts till, vilket g\u00f6r det m\u00f6jligt att automatiskt utf\u00f6ra serialisering\/deserialisering av meddelanden till den nativa datatypen Golang. Detta betyder att det inte l\u00e4ngre beh\u00f6vs anv\u00e4nda etf.TermIntoStruct f\u00f6r varje mottaget meddelande. Registrerade typer kommer att omvandlas automatiskt till den angivna typen, vilket avsev\u00e4rt \u00f6kar prestandan f\u00f6r meddelandeutbyte mellan distribuerade noder.    <\/ul>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Lanseringen av ramverket f\u00f6r att skapa n\u00e4tverksapplikationer ErgoFramework 2.2 | ProHoster","description":"Den senaste versionen av ErgoFramework 2.2 har sl\u00e4ppts, vilket implementerar hela n\u00e4tverksstacken f\u00f6r Erlang och dess OTP-bibliotek p\u00e5 spr\u00e5ket Go.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/105323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=105323"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105323\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=105323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=105323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=105323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}