เฟรมเวิร์กรุ่นใหม่สำหรับการสร้างแอปพลิเคชันเครือข่าย Ergo 1.2

หลังจากหนึ่งปีของการพัฒนา เฟรมเวิร์ก Ergo 1.2 ก็เปิดตัว โดยนำสแต็กเครือข่าย Erlang เต็มรูปแบบและไลบรารี OTP ในภาษา Go ไปใช้งาน เฟรมเวิร์กนี้มอบเครื่องมือที่ยืดหยุ่นแก่นักพัฒนาจากโลกของ Erlang สำหรับการสร้างโซลูชันแบบกระจายในภาษา Go โดยใช้รูปแบบการออกแบบ Application, Supervisor และ GenServer สำเร็จรูป เนื่องจากภาษา Go ไม่มีอะนาล็อกโดยตรงของกระบวนการ Erlang เฟรมเวิร์กจึงใช้ goroutines เป็นพื้นฐานสำหรับ GenServer พร้อมด้วย wrapper การกู้คืนเพื่อจัดการกับสถานการณ์ข้อยกเว้น รหัสโครงการเผยแพร่ภายใต้ใบอนุญาต MIT

ในรุ่นใหม่:

  • ใช้งานการสนับสนุนสำหรับ TLS 1.3 ด้วยความสามารถในการสร้างใบรับรองที่ลงนามด้วยตนเองโดยอัตโนมัติ (หากคุณต้องการเข้ารหัสการเชื่อมต่อ แต่ไม่จำเป็นต้องอนุญาต เนื่องจากการเชื่อมต่อใช้คุกกี้เพื่อให้สามารถเข้าถึงโฮสต์)
  • เพิ่มการกำหนดเส้นทางแบบคงที่เพื่อขจัดความจำเป็นในการพึ่งพา EPMD เพื่อกำหนดพอร์ตโฮสต์ วิธีนี้ช่วยแก้ปัญหาด้านความปลอดภัย และเมื่อใช้ร่วมกับการเข้ารหัส ทำให้สามารถรันคลัสเตอร์ Erlang บนเครือข่ายสาธารณะได้
  • เพิ่มเทมเพลต GenStage ใหม่ (จากโลก Elixir) ซึ่งช่วยให้คุณสร้างโซลูชัน Pub/Sub ได้โดยไม่ต้องใช้ Message Bus คุณสมบัติที่สำคัญอย่างหนึ่งของเทมเพลตนี้คือ “การควบคุมแรงดันต้าน” "ผู้ผลิต" จะส่งข้อความตามปริมาณที่ "ผู้บริโภคร้องขอ" อย่างแน่นอน สามารถดูตัวอย่างการใช้งานได้ที่นี่

ส่วนการอภิปรายจะกล่าวถึงการนำรูปแบบการออกแบบ SAGAS ไปใช้ซึ่งใช้ฟังก์ชันธุรกรรมแบบกระจาย

ที่มา: opennet.ru

เพิ่มความคิดเห็น