ืฉื—ืจื•ืจ ื”ืžืกื’ืจืช ืœื™ืฆื™ืจืช ื™ื™ืฉื•ืžื™ ืจืฉืช ErgoFramework 2.2

ื”ืžื”ื“ื•ืจื” ื”ื‘ืื” ืฉืœ ErgoFramework 2.2 ื”ืชืจื—ืฉื”, ืชื•ืš ื”ื˜ืžืขืช ืขืจื™ืžืช ื”ืจืฉืช ื”ืžืœืื” ืฉืœ Erlang ื•ืกืคืจื™ื™ืช ื”-OTP ืฉืœื” ื‘ืฉืคืช Go. ื”ืžืกื’ืจืช ืžืกืคืงืช ืœืžืคืชื— ื›ืœื™ื ื’ืžื™ืฉื™ื ืžืขื•ืœื Erlang ืœื™ืฆื™ืจืช ืคืชืจื•ื ื•ืช ืžื‘ื•ื–ืจื™ื ื‘ืฉืคืช Go ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืชื‘ื ื™ื•ืช ืขื™ืฆื•ื‘ ื›ืœืœื™ื•ืช ืžื•ื›ื ื•ืช gen.Application, gen.Supervisor ื•-gen.Server, ื›ืžื• ื’ื ืžื™ื•ื—ื“ื™ื - gen. Stage (ืคืื‘ ืžื‘ื•ื–ืจ/ืกืื‘), ื’'ื ืจืœ Saga (ืขืกืงืื•ืช ืžื‘ื•ื–ืจื•ืช, ื™ื™ืฉื•ื ืฉืœ ื“ืคื•ืก ื”ืขื™ืฆื•ื‘ SAGA) ื•-gen.Raft (ื™ื™ืฉื•ื ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ Raft).

ื‘ื ื•ืกืฃ, ื”ืžืกื’ืจืช ืžืกืคืงืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืคืจื•ืงืกื™ ืขื ื”ืฆืคื ื” ืžืงืฆื” ืœืงืฆื”, ืฉืื™ื ื” ื–ืžื™ื ื” ื‘-Erlang/OTP ื•ื‘-Elixir. ืžื›ื™ื•ื•ืŸ ืฉืœืฉืคืช Go ืื™ืŸ ืื ืœื•ื’ื™ ื™ืฉื™ืจ ืœืชื”ืœื™ืš Erlang, ื”ืžืกื’ืจืช ืžืฉืชืžืฉืช ื‘ื’ื•ืจื•ื˜ื™ื ื™ื ื›ื‘ืกื™ืก ืœ-gen.Server ืขื ืžืขื˜ืคืช "ืฉื—ื–ื•ืจ" ืœื˜ื™ืคื•ืœ ื‘ืžืฆื‘ื™ ื—ืจื™ื’. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ MIT.

ืขืจื™ืžืช ื”ืจืฉืช ื‘-ErgoFramework ืžื™ื™ืฉืžืช ื‘ืžืœื•ืื” ืืช ืžืคืจื˜ DIST ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ Erlang. ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ืฉื™ื™ืฉื•ืžื™ื ืฉื ื›ืชื‘ื• ืขืœ ื‘ืกื™ืก ErgoFramework ืคื•ืขืœื™ื ื‘ืื•ืคืŸ ืžืงื•ืจื™ ืขื ื›ืœ ื™ื™ืฉื•ื ืฉื ื›ืชื‘ ื‘ืฉืคื•ืช ื”ืชื›ื ื•ืช Erlang ืื• Elixir (ื“ื•ื’ืžื” ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืฆื•ืžืช Erlang). ื›ืžื• ื›ืŸ, ืจืื•ื™ ืœืฆื™ื™ืŸ ืฉืชื‘ื ื™ืช ื”ืขื™ืฆื•ื‘ ืฉืœ gen.Stage ืžื™ื•ืฉืžืช ืขืœ ืคื™ ืžืคืจื˜ Elixir GenStage ื•ืชื•ืืžืช ืœื• ื‘ืื•ืคืŸ ืžืœื (ื“ื•ื’ืžื” ืœื™ื™ืฉื•ื).

ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืคื• ืชื‘ื ื™ื•ืช ื—ื“ืฉื•ืช
    • gen.Web ื”ื•ื ื“ืคื•ืก ืขื™ืฆื•ื‘ ืฉืœ Web API Gateway (ื”ืžื›ื•ื ื” ื’ื Backend For Frontend). ื“ื•ื’ืžื.
    • gen.TCP ื”ื™ื ืชื‘ื ื™ืช ื”ืžืืคืฉืจืช ืœืš ืœื™ื™ืฉื ืžืื’ืจ ืฉืœ ืžืงื‘ืœื™ ื—ื™ื‘ื•ืจ TCP ื‘ืžื™ื ื™ืžื•ื ืžืืžืฅ ื‘ื›ืชื™ื‘ืช ืงื•ื“. ื“ื•ื’ืžื.
    • gen.UDP - ื‘ื“ื•ืžื” ืœืชื‘ื ื™ืช gen.TCP, ืจืง ืขื‘ื•ืจ ืคืจื•ื˜ื•ืงื•ืœ UDP. ื“ื•ื’ืžื.
  • ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื—ื“ืฉื” ืฉืœ Events ื”ื•ืฆืขื” ืขื ื”ื˜ืžืขืช ืืคื™ืง ืื™ืจื•ืขื™ื ืคืฉื•ื˜ ื‘ืชื•ืš ืฆื•ืžืช, ื”ืžืืคืฉืจ ืœื™ืฆื•ืจ ืžื ื’ื ื•ื ื™ื ืœื”ื—ืœืคืช ืื™ืจื•ืขื™ื (ืคืื‘/ืกืื‘) ื‘ื™ืŸ ืชื”ืœื™ื›ื™ื ืžืงื•ืžื™ื™ื. ื“ื•ื’ืžื.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืจื™ืฉื•ื ืกื•ื’ื™ื, ื”ืžืืคืฉืจ ื”ืกื“ืจื”/ื“ื”-ืกื™ื“ืจื™ืืœื™ื–ืฆื™ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื”ื•ื“ืขื•ืช ืœืกื•ื’ ื ืชื•ื ื™ื ืžืงื•ืจื™ ืฉืœ ื’ื•ืœื ื’. ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ืฉืื™ื ืš ืฆืจื™ืš ื™ื•ืชืจ ืœื”ืฉืชืžืฉ ื‘-etf.TermIntoStruct ืขื‘ื•ืจ ื›ืœ ื”ื•ื“ืขื” ืฉื”ืชืงื‘ืœื”. ืกื•ื’ื™ื ืจืฉื•ืžื™ื ื™ื•ืžืจื• ืœืกื•ื’ ืฉืฆื•ื™ืŸ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™, ืžื” ืฉืžืื™ืฅ ืžืฉืžืขื•ืชื™ืช ืืช ื‘ื™ืฆื•ืขื™ ื—ื™ืœื•ืคื™ ื”ื”ื•ื“ืขื•ืช ื‘ื™ืŸ ืฆืžืชื™ื ืžื‘ื•ื–ืจื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”