Go 言語で開発されたオープンソース プロジェクトが多数あります。初期の Go 言語オープン ソース プロジェクトは、 Qtや Sqlite などの Go 言語を介して C 言語ライブラリを従来のプロジェクトにバインドすることによってのみ実装されました。その後の多くのプロジェクトでは、ネイティブ実装に Go 言語が使用されました。このプロセスは他のプロセスよりも簡単です。これは、Go 言語を使用した多数のネイティブ開発プロジェクトの出現にも貢献しました。
以下に、Go 言語を使用してネイティブに開発されたプロジェクトの一部を示します。
1)docker
Docker は、オペレーティング システムとアプリケーション (コンテナとも呼ばれます) を分離できるオペレーティング システム レベルの仮想化テクノロジです。 Docker は、物理サーバー上で 1 つ以上のインスタンスを迅速に実行できます。たとえば、CentOS オペレーティング システムを起動し、内部コマンド ラインで命令を実行した後に終了すると、プロセス全体はオペレーティング システムを使用している場合と同じくらい効率的になります。
プロジェクトリンク: https://github.com/docker/docker
2) Go言語
Go 言語自体の初期のソースコードは C 言語とアセンブリ言語で書かれていました。 Go 1.5 バージョンからは、完全に Go 言語自体で記述されています。 Go 言語のソースコードは、Go 言語の根本的なスケジューリングを理解する上で非常に参考になるので、Go 言語をより深く理解したい方は一読をお勧めします。
プロジェクトリンク: https://github.com/golang/go
3) Kubernetes
Google が開発した Docker 上に構築されたコンテナ スケジューリング サービスで、ユーザーは Kubernetes クラスタを通じてクラウド コンテナ クラスタを管理できます。システムは、特定のコンテナ クラスターのスケジューリングと処理タスクを実行するために、適切な作業ノードを自動的に選択します。その核となるコンセプトはContainer Pod(コンテナ倉庫)です。
プロジェクトリンク: https://github.com/kubernetes/kubernetes
4) etcd
クラウドで迅速に構成できる、信頼性の高い分散型 KV ストレージ システム。 CoreOS によって開発および保守されているキー/値ストレージ システムは Go 言語で書かれており、Raft コンセンサス アルゴリズムを通じてログ レプリケーションを処理して、強力な一貫性を確保します。
プロジェクトリンク: https://github.com/coreos/etcd
5) Python
beego はPythonに似た Tornado フレームワークで、RESTFul の設計思想を採用し、Go 言語で書かれた非常に軽量かつスケーラビリティの高い高性能な Web アプリケーション フレームワークです。
プロジェクトリンク: https://github.com/astaxie/beego
6) Martini
モジュール式 Web アプリケーションを迅速に構築するための Go 言語フレームワーク。
プロジェクトリンク: https://github.com/go-martini/martini
7) Codis(コディス)
優れた国内分散型Redisソリューション。 Codis は、Redis のリバース プロキシと負荷分散を実装する、Web サービスの分野における Nginx として理解できます。
プロジェクトリンク: https://github.com/CodisLabs/codis
Go 言語用の強力なデバッガで、多くの統合環境やエディタに統合されています。
プロジェクトリンク: https://github.com/derekparker/delve