ホームページ  >  記事  >  バックエンド開発  >  golang リーフはよく使われますか?

golang リーフはよく使われますか?

(*-*)浩
(*-*)浩オリジナル
2019-12-13 13:03:583070ブラウズ

golang リーフはよく使われますか?

Leaf は、Go 言語 (golang) で書かれたオープンソースのゲーム サーバー フレームワークで、開発効率と実行効率に同等の注意を払っています。 Leaf は、H5 (HTML5) ゲーム サーバーを含むさまざまなゲーム サーバーの開発に適しています。

# LEAF の注目点: (推奨される学習: Go )

良い経験です。 Leaf は、開発効率と安定性を可能な限り向上させるために、常に可能な限りシンプルで使いやすいインターフェイスを提供します。 Leaf は、操作中のエラーから回復し、クラッシュを回避するために常に最善を尽くします

マルチコアのサポート。 Leaf は、さまざまな副作用を回避しようとしながら、モジュール メカニズムとリーフ/ゴーを通じてマルチコア リソースを可能な限り利用します。

モジュール メカニズム。

Leaf のモジュールの仕組み

Leaf が開発するゲームサーバーは複数のモジュール (LeafServer など) で構成されており、各モジュールには次のような特徴があります。

各モジュールは個別の goroutine で実行されますモジュール間の通信は一連の軽量 RPC メカニズム (leaf/chanrpc) を介して行われます

Leaf はゲームサーバーでは推奨されません設計も多くのモジュール。

ゲーム サーバーは起動時にモジュールを登録します。例:

leaf.Run(
game.Module,
gate.Module,
login.Module,
)

ここでは、game、gate、login の 3 つのモジュールが順番に登録されています。各モジュールはインターフェイスを実装する必要があります:

type Module interface {OnInit()OnDestroy()Run(closeSig chan bool)
}
Leaf は、最初に同じゴルーチン内のモジュールの OnInit メソッドをモジュール登録の順序で実行します。すべてのモジュールの OnInit メソッドの実行が完了した後、モジュールごとにゴルーチンが起動され、モジュールの Run メソッドが実行されます。

最後に、ゲーム サーバーがシャットダウンされると (Ctrl C を押してゲーム サーバーを閉じる)、モジュールの OnDestroy メソッドが同じ goroutine 内でモジュール登録とは逆の順序で実行されます。

以上がgolang リーフはよく使われますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。