{"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\/es\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","title":{"rendered":"Lanzamiento del marco de trabajo para crear aplicaciones de red ErgoFramework 2.2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se ha lanzado la nueva versi\u00f3n de ErgoFramework 2.2, que implementa la pila de red completa de Erlang y su biblioteca OTP en el lenguaje Go. El framework ofrece al desarrollador un conjunto flexible de herramientas del mundo de Erlang para crear soluciones distribuidas en Go utilizando plantillas de dise\u00f1o de prop\u00f3sito general como gen.Application, gen.Supervisor y gen.Server, as\u00ed como plantillas especializadas como gen.Stage (pub\/sub distribuido), gen.Saga (transacciones distribuidas, implementaci\u00f3n del patr\u00f3n de dise\u00f1o SAGA) y gen.Raft (implementaci\u00f3n del protocolo Raft).     <\/p>\n<p>Adem\u00e1s, el framework proporciona funcionalidad de proxy con capacidades de cifrado de extremo a extremo, que no est\u00e1n disponibles en Erlang\/OTP y Elixir. Dado que en Go no hay un equivalente directo del proceso de Erlang, el framework utiliza goroutines como base para gen.Server, con un envoltorio 'recover' para permitir el manejo de situaciones excepcionales. El c\u00f3digo del proyecto se distribuye bajo la licencia MIT.    <\/p>\n<p>La pila de red en ErgoFramework implementa completamente la especificaci\u00f3n del protocolo DIST de Erlang. Esto significa que las aplicaciones escritas con ErgoFramework funcionan de forma nativa con cualquier aplicaci\u00f3n escrita en los lenguajes de programaci\u00f3n Erlang o Elixir (ejemplo de interacci\u00f3n con un nodo Erlang). Tambi\u00e9n vale la pena mencionar que el patr\u00f3n de dise\u00f1o gen.Stage se ha implementado seg\u00fan la especificaci\u00f3n de Elixir GenStage y es totalmente compatible con \u00e9l (ejemplo de implementaci\u00f3n).    <\/p>\n<p>En esta nueva versi\u00f3n:  <\/p>\n<ul>\n<li class=\"l\"> Se han a\u00f1adido nuevas plantillas\n<ul>\n<li class=\"l\"> gen.Web \u2014 patr\u00f3n de dise\u00f1o Web API Gateway (tambi\u00e9n conocido como Backend For Frontend). Ejemplo.\n<li class=\"l\"> gen.TCP \u2014 patr\u00f3n que permite implementar un pool de aceptadores de conexiones TCP con el m\u00ednimo de esfuerzo en la escritura de c\u00f3digo. Ejemplo.\n<li class=\"l\">  gen.UDP \u2014 similar al patr\u00f3n gen.TCP, pero para el protocolo UDP. Ejemplo.  <\/ul>\n<li class=\"l\"> Se ha propuesto una nueva funcionalidad de Eventos con la implementaci\u00f3n de un bus de eventos simple dentro del nodo, que permite crear mecanismos de intercambio de eventos (pub\/sub) entre procesos locales. Ejemplo.\n<li class=\"l\"> Se ha a\u00f1adido soporte para la inscripci\u00f3n de tipos, que permite realizar autom\u00e1ticamente la serializaci\u00f3n\/deserializaci\u00f3n de mensajes en el tipo de datos nativo de Golang. Esto significa que ya no es necesario usar etf.TermIntoStruct para cada mensaje recibido. Los tipos registrados se transformar\u00e1n autom\u00e1ticamente en el tipo especificado, lo que acelera considerablemente el rendimiento del intercambio de mensajes entre nodos distribuidos.    <\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Lanzamiento del framework para la creaci\u00f3n de aplicaciones de red ErgoFramework 2.2 | ProHoster","description":"Se ha lanzado la nueva versi\u00f3n de ErgoFramework 2.2, que implementa el stack de red completo de Erlang y su biblioteca OTP en el lenguaje Go.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/vypusk-frejmvorka-dlya-sozdaniya-setevyh-prilozhenij-ergoframework-2-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/105323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=105323"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/105323\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=105323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=105323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=105323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}