# Microservices (Go) > サービスアーキテクチャ、discovery、通信、API gateway、circuit breaker、observability、structured logging、metrics、distributed tracing - 24 面接問題 - Senior - [面接問題: Go](https://sharpskill.dev/ja/technologies/go/interview-questions.md) ## 1. モノリシックアーキテクチャと microservices アーキテクチャの主な違いは何ですか? **回答** microservices アーキテクチャでは、アプリケーションは独立したサービスに分割され、それぞれを別々に開発、デプロイ、スケールできます。これは、すべてのコードが単一のプロセス内にあるモノリスとは異なります。各 microservice は独自のデータベースを持ち、API を介して通信します。これにより、スケーラビリティ、レジリエンス、技術的な柔軟性が向上しますが、運用上の複雑さが増します。 ## 2. microservices アーキテクチャにおける service discovery の主な役割は何ですか? **回答** service discovery により、サービスはハードコードされた設定なしに動的に互いを見つけられます。サービスは IP アドレスとポートを持って registry(Consul、etcd、Eureka)に登録します。クライアントは registry に問い合わせて利用可能なインスタンスを取得します。これにより、水平スケーリング、継続的デプロイ、インスタンス障害時のレジリエンスが容易になります。 ## 3. microservices アーキテクチャにおいて、ACID トランザクションなしで分散データの一貫性を管理できる pattern はどれですか? **回答** Saga pattern は、一連のローカルトランザクションを介して分散データの一貫性を管理します。各サービスは自身のトランザクションを実行し、イベントを発行します。ステップが失敗した場合、補償トランザクションが以前の変更を取り消します。実装はオーケストレーション(中央コーディネーター)またはコレオグラフィ(pub/sub イベント)にできます。これにより、分散ロックなしで結果整合性が保証されます。 ## さらに21問利用可能 - Consul による service discovery を実装するために一般的に使用される Go ライブラリはどれですか? - microservices 間の同期通信(REST/gRPC)と非同期通信(messaging)の主な違いは何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のGo面接トピック - [Goの基礎](https://sharpskill.dev/ja/technologies/go/interview-questions/go-basics.md): 25問, Junior - [Goのデータ構造](https://sharpskill.dev/ja/technologies/go/interview-questions/go-data-structures.md): 20問, Junior - [Go のインターフェース](https://sharpskill.dev/ja/technologies/go/interview-questions/go-interfaces.md): 18問, Junior - [エラー処理](https://sharpskill.dev/ja/technologies/go/interview-questions/error-handling.md): 20問, Junior - [Goroutine の基礎](https://sharpskill.dev/ja/technologies/go/interview-questions/goroutines-basics.md): 20問, Junior - [Channels](https://sharpskill.dev/ja/technologies/go/interview-questions/channels.md): 22問, Junior - [Go Modules](https://sharpskill.dev/ja/technologies/go/interview-questions/go-modules.md): 18問, Mid-Level - [HTTP サーバー](https://sharpskill.dev/ja/technologies/go/interview-questions/http-server.md): 24問, Mid-Level - [HTTPクライアント](https://sharpskill.dev/ja/technologies/go/interview-questions/http-client.md): 18問, Mid-Level - [JSON エンコーディング](https://sharpskill.dev/ja/technologies/go/interview-questions/json-encoding.md): 20問, Mid-Level - [Database/SQL](https://sharpskill.dev/ja/technologies/go/interview-questions/database-sql.md): 22問, Mid-Level - [context パッケージ](https://sharpskill.dev/ja/technologies/go/interview-questions/context-package.md): 20問, Mid-Level - [Testing](https://sharpskill.dev/ja/technologies/go/interview-questions/testing.md): 22問, Mid-Level - [並行処理パターン](https://sharpskill.dev/ja/technologies/go/interview-questions/concurrency-patterns.md): 24問, Mid-Level - [同期プリミティブ](https://sharpskill.dev/ja/technologies/go/interview-questions/sync-primitives.md): 22問, Mid-Level - [Go Web フレームワーク](https://sharpskill.dev/ja/technologies/go/interview-questions/go-web-frameworks.md): 20問, Mid-Level - [REST API 設計](https://sharpskill.dev/ja/technologies/go/interview-questions/rest-api-design.md): 20問, Mid-Level - [gRPC](https://sharpskill.dev/ja/technologies/go/interview-questions/grpc.md): 22問, Mid-Level - [Reflection](https://sharpskill.dev/ja/technologies/go/interview-questions/reflection.md): 20問, Senior - [メモリ管理](https://sharpskill.dev/ja/technologies/go/interview-questions/memory-management.md): 24問, Senior - [パフォーマンス最適化](https://sharpskill.dev/ja/technologies/go/interview-questions/performance-optimization.md): 22問, Senior - [Generics](https://sharpskill.dev/ja/technologies/go/interview-questions/generics.md): 20問, Senior - [Go Design Patterns](https://sharpskill.dev/ja/technologies/go/interview-questions/design-patterns.md): 24問, Senior - [セキュリティと認証](https://sharpskill.dev/ja/technologies/go/interview-questions/security-authentication.md): 24問, Senior - [Docker & Containerization](https://sharpskill.dev/ja/technologies/go/interview-questions/docker-containerization.md): 20問, Senior - [Kubernetes Basics](https://sharpskill.dev/ja/technologies/go/interview-questions/kubernetes-basics.md): 22問, Senior - [高度な Go](https://sharpskill.dev/ja/technologies/go/interview-questions/advanced-go.md): 20問, Senior - [CLI開発](https://sharpskill.dev/ja/technologies/go/interview-questions/cli-development.md): 20問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/go/interview-questions/microservices