Chủ đề của PRN232 - Xây dựng ứng dụng back-end đa nền tảng với .NET

PRN232 Chương 10 - Kiến trúc Microservices

Chương 10 môn PRN232 khép lại chương trình bằng kiến trúc Microservices: cấu trúc ứng dụng thành tập hợp dịch vụ nhỏ, triển khai và mở rộng độc lập, tổ chức quanh năng lực nghiệp vụ, mỗi dịch vụ sở hữu cơ sở dữ liệu riêng, API Gateway làm điểm vào duy nhất và xử lý các mối quan tâm xuyên suốt với Ocelot, đóng gói bằng Docker, phân biệt giao tiếp đồng bộ qua HTTP hoặc gRPC với giao tiếp bất đồng bộ qua message queue, cùng nhược điểm runtime coupling của lối gọi đồng bộ thuần tuý. Trọn bộ câu hỏi trắc nghiệm có giải thích.

Xem danh sách câu hỏi9 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

9Câu hỏi hiện có

Câu hỏi của chủ đề

9/9 câuHết danh sách
AIt is the database used by all microservices.
BIt is a single entry point for all client requests, routing them to the appropriate downstream microservice and potentially handling cross-cutting concerns like authentication and SSL termination.
CIt is a tool for developers to test their services locally.
DIt is a message broker for asynchronous communication.
Lời giải
Trong kiến trúc microservice thông thường, vai trò của "API Gateway" là điểm truy cập duy nhất cho tất cả các yêu cầu từ khách hàng, chuyển hướng chúng đến microservice downstream phù hợp và có thể xử lý các vấn đề xuyên suốt như xác thực và kết thúc SSL. API Gateway đóng vai trò như một cầu nối giữa khách hàng và các microservice, giúp phân phối và quản lý các yêu cầu một cách hiệu quả. Nó cũng có thể xử lý các vấn đề như bảo mật, giám sát và phân tích dữ liệu, giúp tăng cường tính bảo mật và hiệu suất của hệ thống. Việc sử dụng API Gateway giúp giảm thiểu sự phức tạp và tăng cường khả năng mở rộng của hệ thống.
Mở trang câu hỏi này →
ADatabase
BShared configuration file
CMonolithic deployment
DUI layer
Lời giải
Trong mô hình Microservices, mỗi dịch vụ thường có cơ sở dữ liệu riêng. Điều này cho phép mỗi dịch vụ có thể được thiết kế và triển khai độc lập, mà không cần phải phụ thuộc vào các dịch vụ khác. Mỗi dịch vụ có thể sử dụng cơ sở dữ liệu phù hợp với nhu cầu của nó, giúp tăng cường khả năng mở rộng và độ tin cậy của hệ thống. Ngoài ra, việc sử dụng cơ sở dữ liệu riêng cho mỗi dịch vụ cũng giúp giảm thiểu tác động của lỗi hoặc sự cố đối với các dịch vụ khác.
Mở trang câu hỏi này →
AVirtual Machines (VMs)
BDocker
CWebDeploy
DFTP
Lời giải
Để đóng gói một microservice ASP.NET Core thành một container cho việc triển khai, công nghệ được sử dụng phổ biến nhất là Docker. Docker cho phép tạo ra một môi trường ảo hóa (container) độc lập, giúp đảm bảo ứng dụng chạy ổn định và không bị ảnh hưởng bởi môi trường hệ thống. Mỗi container có thể chứa một ứng dụng độc lập, cùng với tất cả các phụ thuộc và cấu hình cần thiết. Điều này giúp dễ dàng triển khai và quản lý các ứng dụng microservice trên nhiều môi trường khác nhau. Ngoài ra, Docker cũng hỗ trợ các tính năng như tự động hóa xây dựng, phân phối và giám sát ứng dụng, giúp tăng hiệu suất và giảm thiểu thời gian triển khai.
Mở trang câu hỏi này →
AIt increases the loose coupling between services.
BIt improves the overall fault tolerance of the system.
CIt creates runtime coupling, meaning if a downstream service is slow or unavailable, the calling service may be blocked or fail.
DIt is not supported by modern frameworks like ASP.NET Core.
Lời giải
Sử dụng giao tiếp đồng bộ hoàn toàn trong kiến trúc microservice có một nhược điểm chính. Khi một dịch vụ downstream chậm hoặc không khả dụng, dịch vụ gọi sẽ bị chặn hoặc thất bại. Điều này xảy ra vì giao tiếp đồng bộ yêu cầu dịch vụ gọi phải chờ phản hồi từ dịch vụ downstream trước khi tiếp tục thực hiện. Nếu dịch vụ downstream chậm hoặc không khả dụng, dịch vụ gọi sẽ bị ảnh hưởng và có thể bị chặn hoặc thất bại. Điều này làm giảm hiệu suất và độ tin cậy của hệ thống. Ngoài ra, giao tiếp đồng bộ cũng làm tăng độ phức tạp của hệ thống và khó khăn hơn trong việc quản lý và bảo trì.
Mở trang câu hỏi này →
5Which is often used as an API Gateway in a Microservices architecture?4 lựa chọnKhó25% trả lời đúng
AIIS Express
BOcelot
CKestrel
DEntity Framework
Lời giải
Trong kiến trúc Microservices, API Gateway đóng vai trò là điểm truy cập chính để giao tiếp với các dịch vụ micro. Ocelot là một trong những lựa chọn phổ biến để sử dụng làm API Gateway. Nó cung cấp các tính năng như cân bằng tải, bảo mật, và phân phối yêu cầu đến các dịch vụ micro khác nhau. Ocelot cũng cho phép cấu hình linh hoạt và dễ dàng tích hợp với các dịch vụ khác nhau. Ngoài ra, Ocelot cũng hỗ trợ các giao thức như HTTP/1.1, WebSockets và gRPC. Vì vậy, Ocelot là một lựa chọn tốt để sử dụng làm API Gateway trong kiến trúc Microservices.
Mở trang câu hỏi này →
AA single, large application that handles all business logic in one deployable unit.
BAn architectural style that structures an application as a collection of small, independently deployable services organized around business capabilities.
CA client-side framework for building single-page applications.
DA database design pattern for sharding data across multiple servers.
Lời giải
Một kiến trúc vi mô (microservice architecture) là một phong cách kiến trúc ứng dụng được cấu trúc thành một tập hợp các dịch vụ nhỏ, có thể triển khai độc lập và được tổ chức xung quanh các khả năng kinh doanh. Mỗi dịch vụ có thể được triển khai bằng ngôn ngữ lập trình khác nhau và có thể được triển khai độc lập, điều này cho phép các dịch vụ được phát triển, thử nghiệm và triển khai nhanh chóng mà không ảnh hưởng đến các dịch vụ khác. Kiến trúc vi mô cho phép ứng dụng linh hoạt và dễ dàng mở rộng, đồng thời giảm thiểu rủi ro khi triển khai ứng dụng.
Mở trang câu hỏi này →
7Which of the following is a key attribute of a microservice?4 lựa chọnKhó0% trả lời đúng
AIt must be written in C#.
BIt is independently deployable and scalable.
CIt shares its database with many other services to ensure data consistency.
DIt contains the logic for the entire application.
Lời giải
Một trong những đặc điểm quan trọng của một microservice là tính độc lập trong việc triển khai và mở rộng. Điều này có nghĩa là mỗi microservice có thể được triển khai và mở rộng độc lập mà không ảnh hưởng đến các microservice khác. Điều này cho phép các microservice được thiết kế và triển khai theo cách linh hoạt và hiệu quả hơn. Ví dụ, nếu một microservice đang gặp vấn đề, nó có thể được sửa chữa hoặc thay thế mà không ảnh hưởng đến các microservice khác. Tính độc lập trong triển khai và mở rộng cũng cho phép các microservice được triển khai trên các nền tảng khác nhau, chẳng hạn như trên cloud hoặc trên máy chủ riêng. Điều này giúp tăng cường tính linh hoạt và hiệu suất của hệ thống.
Mở trang câu hỏi này →
ATightly coupled modules
BIndependent deployment and scalability
CSingle technology stack only
DReduced system complexity
Lời giải
Microservices cung cấp nhiều lợi ích quan trọng, nhưng một trong những lợi ích chính là tính độc lập trong việc triển khai và mở rộng. Với kiến trúc Microservices, mỗi module được thiết kế và triển khai độc lập, cho phép mỗi module được mở rộng và sửa chữa mà không ảnh hưởng đến các module khác. Điều này giúp tăng cường độ linh hoạt và khả năng thích nghi của hệ thống, cũng như giảm thiểu rủi ro khi triển khai các thay đổi. Ngoài ra, tính độc lập trong triển khai và mở rộng cũng giúp giảm thiểu thời gian và chi phí cần thiết để triển khai các thay đổi, vì mỗi module có thể được triển khai và mở rộng độc lập.
Mở trang câu hỏi này →
AOne service publishes an event to a message queue, and another service subscribes to it.
BService A makes a direct HTTP (e.g., REST or gRPC) call to Service B and waits for an immediate response.
CService A sends an email notification.
DService B processes a batch job overnight based on data from Service A.
Lời giải
Sự giao tiếp đồng bộ giữa các microservice là một quá trình trao đổi thông tin giữa các dịch vụ trong thời gian thực. Ví dụ về giao tiếp đồng bộ giữa các microservice là khi Service A thực hiện một yêu cầu HTTP trực tiếp đến Service B và chờ đợi phản hồi ngay lập tức. Điều này cho phép Service A và Service B trao đổi thông tin và thực hiện các hành động dựa trên thông tin đó trong thời gian thực. Điều này khác với giao tiếp bất đồng bộ, nơi các dịch vụ trao đổi thông tin nhưng không chờ đợi phản hồi ngay lập tức. Giao tiếp đồng bộ thường được sử dụng trong các ứng dụng cần phản hồi nhanh chóng và chính xác, chẳng hạn như các ứng dụng thương mại điện tử hoặc các ứng dụng tài chính.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.