# Microservices (Go) > Kiến trúc service, discovery, giao tiếp, API gateway, circuit breaker, observability, structured logging, metrics, distributed tracing - 24 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa kiến trúc monolithic và kiến trúc microservices là gì? **Câu trả lời** Trong kiến trúc microservices, ứng dụng được phân tách thành các service độc lập có thể được phát triển, triển khai và mở rộng riêng biệt, khác với monolith nơi toàn bộ code nằm trong một tiến trình duy nhất. Mỗi microservice có database riêng và giao tiếp qua API. Điều này cho phép khả năng mở rộng, khả năng phục hồi và tính linh hoạt công nghệ tốt hơn, nhưng đưa vào độ phức tạp vận hành cao hơn. ## 2. Vai trò chính của service discovery trong kiến trúc microservices là gì? **Câu trả lời** service discovery cho phép các service định vị lẫn nhau một cách động mà không cần cấu hình hardcoded. Các service đăng ký với một registry (Consul, etcd, Eureka) bằng địa chỉ IP và port của chúng. Client truy vấn registry để lấy các instance khả dụng. Điều này tạo điều kiện cho horizontal scaling, triển khai liên tục và khả năng phục hồi khi một instance gặp sự cố. ## 3. Trong kiến trúc microservices, pattern nào quản lý tính nhất quán của dữ liệu phân tán mà không cần giao dịch ACID? **Câu trả lời** Saga pattern quản lý tính nhất quán của dữ liệu phân tán thông qua một chuỗi các giao dịch cục bộ. Mỗi service thực thi giao dịch của mình và phát hành một event. Nếu một bước thất bại, các giao dịch bù trừ sẽ hoàn tác các thay đổi trước đó. Việc triển khai có thể được orchestrate (điều phối trung tâm) hoặc choreograph (event pub/sub). Điều này đảm bảo eventual consistency mà không cần distributed lock. ## Còn 21 câu hỏi nữa - Thư viện Go nào thường được dùng để triển khai service discovery với Consul? - Sự khác biệt chính giữa giao tiếp đồng bộ (REST/gRPC) và bất đồng bộ (messaging) giữa các microservices là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Go khác - [Kiến thức cơ bản về Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-basics.md): 25 câu hỏi, Junior - [Cấu trúc dữ liệu Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-data-structures.md): 20 câu hỏi, Junior - [Interface trong Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-interfaces.md): 18 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Cơ bản về Goroutine](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/goroutines-basics.md): 20 câu hỏi, Junior - [Channels](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/channels.md): 22 câu hỏi, Junior - [Go Modules](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-modules.md): 18 câu hỏi, Mid-Level - [Máy chủ HTTP](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-server.md): 24 câu hỏi, Mid-Level - [HTTP Client](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/http-client.md): 18 câu hỏi, Mid-Level - [Mã hóa JSON](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/json-encoding.md): 20 câu hỏi, Mid-Level - [Database/SQL](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/database-sql.md): 22 câu hỏi, Mid-Level - [Gói context](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/context-package.md): 20 câu hỏi, Mid-Level - [Testing](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/testing.md): 22 câu hỏi, Mid-Level - [Các mẫu Concurrency](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/concurrency-patterns.md): 24 câu hỏi, Mid-Level - [Primitive đồng bộ hóa](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/sync-primitives.md): 22 câu hỏi, Mid-Level - [Framework web Go](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/go-web-frameworks.md): 20 câu hỏi, Mid-Level - [Thiết kế API REST](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Mid-Level - [gRPC](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/grpc.md): 22 câu hỏi, Mid-Level - [Reflection](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/reflection.md): 20 câu hỏi, Senior - [Quản lý bộ nhớ](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/memory-management.md): 24 câu hỏi, Senior - [Tối ưu hóa hiệu năng](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Generics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/generics.md): 20 câu hỏi, Senior - [Go Design Patterns](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/design-patterns.md): 24 câu hỏi, Senior - [Bảo mật và Xác thực](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/security-authentication.md): 24 câu hỏi, Senior - [Docker & Containerization](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/docker-containerization.md): 20 câu hỏi, Senior - [Kubernetes Basics](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/kubernetes-basics.md): 22 câu hỏi, Senior - [Go Nâng cao](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/advanced-go.md): 20 câu hỏi, Senior - [Phát triển CLI](https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/cli-development.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/go/cau-hoi-phong-van/microservices