Kiến trúc Composable là gì? Cẩm nang MACH và API-first

Kiến trúc có khả năng kết hợp là gì? Hướng dẫn rõ ràng về PBC, MACH và nền tảng API-first, bao gồm so sánh kiến trúc kết hợp và kiến trúc nguyên khối, và thời điểm nên áp dụng.

Ashley Goolam

Ashley Goolam

30 tháng 6 2026

Kiến trúc Composable là gì? Cẩm nang MACH và API-first

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Kiến trúc có khả năng ghép nối (Composable architecture) là một cách xây dựng hệ thống phần mềm từ các thành phần độc lập, có thể thay thế được, tốt nhất trong phân khúc (best-of-breed) giao tiếp với nhau thông qua API, thay vì một nền tảng lớn tất cả trong một. Đây là ý tưởng rộng lớn hơn mà phong trào headless nằm dưới, và nó gắn chặt với Liên minh MACH (MACH Alliance), một tổ chức công nghiệp trung lập về nhà cung cấp nhằm thúc đẩy công nghệ doanh nghiệp mở, có khả năng ghép nối.

nút

Làm rõ nhanh chóng trước tiên

Từ "composable" (có khả năng ghép nối) xuất hiện ở ba nơi rất khác nhau. Hãy sắp xếp chúng ngay bây giờ để phần còn lại của hướng dẫn này có ý nghĩa.

Cùng một từ gốc, ba lớp không liên quan. Từ đây trở đi, "composable" có nghĩa là theo nghĩa kiến trúc phần mềm.

Kiến trúc có khả năng ghép nối thực sự có nghĩa là gì

Một hệ thống có khả năng ghép nối được xây dựng từ các đơn vị mô-đun, tự chứa, mỗi đơn vị sở hữu một chức năng nghiệp vụ hoàn chỉnh. Bạn chọn công cụ tốt nhất cho mỗi công việc, kết nối chúng thông qua API và có thể thay thế bất kỳ công cụ nào trong số đó sau này mà không cần xây dựng lại mọi thứ xung quanh nó.

Đơn vị ghép nối có một cái tên: khả năng nghiệp vụ đóng gói (packaged business capability), hay PBC. Gartner định nghĩa PBC là các khả năng có thể triển khai độc lập, bao gồm dữ liệu nghiệp vụ, logic và quy trình tự chứa, và tương tác với các ứng dụng khác thông qua API và kênh sự kiện.

Hãy nghĩ về một PBC như một miền nghiệp vụ hoàn chỉnh trong một hộp. Một PBC "thanh toán" sở hữu các phương thức thanh toán, kiểm tra gian lận, hoàn tiền và tranh chấp. Một PBC "tìm kiếm" sở hữu việc lập chỉ mục, xếp hạng và xử lý truy vấn. Mỗi PBC đều cung cấp một API cấp nghiệp vụ, không phải một bảng cơ sở dữ liệu thô, và bạn có thể lấy nó từ một nhà cung cấp hoặc tự xây dựng. Bạn cấu thành sản phẩm của mình từ các khối này giống như bạn lắp ráp các bộ phận của một bộ kit.

Có khả năng ghép nối so với khối nguyên khối (monolith)

Một khối nguyên khối gộp mọi khả năng vào một ứng dụng có thể triển khai với một cơ sở dữ liệu chia sẻ. Việc bắt đầu thì đơn giản nhưng việc thay đổi sẽ trở nên khó khăn hơn khi nó phát triển. Kiến trúc có khả năng ghép nối tách rời các khả năng đó để mỗi khả năng có thể phát triển độc lập. Nếu bạn đã đọc về sự phân chia khối nguyên khối so với vi dịch vụ, thì có khả năng ghép nối là cách khung khả năng nghiệp vụ của cùng một sự thay đổi: vi dịch vụ là sự phân tách kỹ thuật, PBC là sự phân tách miền nghiệp vụ.

Đây là sự tương phản trong nháy mắt.

Khía cạnh Khối nguyên khối (Monolith) Kiến trúc có khả năng ghép nối (Composable architecture)
Đơn vị thay đổi Toàn bộ ứng dụng Một PBC duy nhất
Dữ liệu Một cơ sở dữ liệu chung Mỗi khả năng sở hữu dữ liệu của riêng nó
Lựa chọn nhà cung cấp Một nền tảng, chấp nhận tất cả Tốt nhất trong phân khúc cho mỗi khả năng
Giao diện người dùng Gắn chặt với phần phụ trợ Tách rời, bất kỳ số lượng kênh nào
Tích hợp Các lệnh gọi hàm nội bộ API và sự kiện
Rủi ro bị khóa chặt Cao Thấp hơn, các thành phần có thể thay thế

Sự đánh đổi là có thật. Có khả năng ghép nối mang lại cho bạn sự linh hoạt và khả năng thay thế. Nó cũng mang lại nhiều bộ phận chuyển động hơn để tích hợp, giám sát và duy trì hợp đồng.

MACH: tiêu chuẩn mà hầu hết mọi người thường nhắc đến

Khi các nhóm nói "composable" (có khả năng ghép nối), họ thường có ý muốn nói đến một kiến trúc tuân theo các nguyên tắc MACH. MACH là một từ viết tắt, và Liên minh MACH (MACH Alliance) (thành lập năm 2020) thúc đẩy nó như là kiến trúc cho các hệ thống mở, có khả năng ghép nối.

Lưu ý rằng composable (có khả năng ghép nối), headless (không đầu) và MACH không phải là từ đồng nghĩa. Headless là một chữ cái của MACH. MACH là một cách cụ thể, có chủ ý để xây dựng các hệ thống có khả năng ghép nối. Composable là cái ô bao trùm tất cả.

Xương sống ưu tiên API

Kéo bất kỳ sợi dây nào trong số này và bạn sẽ đến cùng một điểm: API là lớp tích hợp giữ một hệ thống có khả năng ghép nối lại với nhau. Nếu các thành phần độc lập và mỗi thành phần sở hữu dữ liệu riêng của nó, thì điều duy nhất kết nối chúng là hợp đồng giữa chúng.

Đó là lý do tại sao phát triển ưu tiên API là trụ cột không thể thương lượng. Trong một khối nguyên khối, hai mô-đun có thể truy cập vào cùng một cơ sở dữ liệu và gọi trực tiếp các hàm của nhau. Trong một hệ thống có khả năng ghép nối, đường tắt đó không còn nữa. Một khả năng chỉ hữu ích khi API mà nó cung cấp hữu ích, và một hệ thống chỉ ổn định khi các hợp đồng giữa các bộ phận của nó ổn định.

Đây cũng là thời điểm API không còn là một cánh cửa phụ nữa mà trở thành chính sản phẩm. Khi giao diện người dùng không đầu và các khả năng có thể hoán đổi, API là sản phẩm mà các nhóm và đối tác khác của bạn thực sự sử dụng. Thiết kế nó cẩu thả và mọi người tiêu dùng hạ nguồn đều cảm thấy điều đó.

Lợi ích và đánh đổi

Tóm lại, những lợi ích của kiến trúc có khả năng ghép nối:

Và những chi phí trung thực:

Composable (có khả năng ghép nối) rất phù hợp khi bạn cần sự linh hoạt, khả năng mở rộng và nhiều kênh. Nó trở nên quá mức cần thiết khi một khối nguyên khối được xây dựng tốt là đủ. Composable đòi hỏi sự phức tạp của nó ở quy mô lớn.

Apidog phù hợp ở đâu: trụ cột ưu tiên API

Apidog không làm cho kiến trúc của bạn có khả năng ghép nối. Nó không phải là một CMS, một công cụ thương mại điện tử, một API gateway hay một nền tảng MACH, và nó sẽ không thay thế bất kỳ thứ nào trong số đó. Điều nó làm là sở hữu chữ "A" trong MACH, trụ cột ưu tiên API, là lớp mà mọi thứ khác trong một hệ thống có khả năng ghép nối đều phụ thuộc vào.

Vì API là giao diện duy nhất giữa các thành phần độc lập của bạn, nên hợp đồng phải chính xác. Apidog là nơi bạn thiết kế, kiểm thử, mô phỏng và tài liệu hóa hợp đồng đó:

Nếu hệ thống của bạn tuân theo mô hình API là sản phẩm, thì đây là lớp chất lượng giúp duy trì tính trung thực của các hợp đồng. Tải xuống Apidog để thiết kế và mô phỏng hợp đồng trước khi phần phụ trợ tồn tại.

Khi nào nên áp dụng kiến trúc có khả năng ghép nối

Hãy tìm đến kiến trúc có khả năng ghép nối khi có nhiều hơn một trong các điều sau là đúng:

Nếu bạn là một nhóm nhỏ đang triển khai một sản phẩm duy nhất với thời gian gấp rút, một khối nguyên khối sạch thường là lựa chọn thông minh hơn. Kiến trúc có khả năng ghép nối thể hiện sự phức tạp của nó ở quy mô lớn.

Các câu hỏi thường gặp

Kiến trúc có khả năng ghép nối có giống như vi dịch vụ không?

Không, nhưng chúng có sự chồng chéo. Vi dịch vụ là một cách kỹ thuật để phân tách một hệ thống thành các dịch vụ nhỏ có thể triển khai được. Kiến trúc có khả năng ghép nối phân tách theo các khả năng nghiệp vụ (PBC) và thêm ý tưởng về các thành phần tốt nhất trong phân khúc, có thể hoán đổi được kết nối bằng API. Vi dịch vụ thường là cách bạn xây dựng phần phụ trợ của một hệ thống có khả năng ghép nối. Để hiểu rõ hơn về sự phân tách, hãy xem khối nguyên khối so với vi dịch vụ.

Sự khác biệt giữa có khả năng ghép nối và không đầu là gì?

Không đầu (Headless) có nghĩa là giao diện người dùng được tách rời khỏi phần phụ trợ, vì vậy bất kỳ client nào cũng có thể sử dụng cùng một API. Có khả năng ghép nối (Composable) là cách tiếp cận rộng hơn: lắp ráp toàn bộ hệ thống từ các khả năng độc lập, được kết nối bằng API. Không đầu là một nguyên tắc (chữ "H" trong MACH) mà các hệ thống có khả năng ghép nối thường tuân theo. Bạn có thể không đầu ở một khả năng mà không hoàn toàn có khả năng ghép nối trên toàn bộ kiến trúc.

Khả năng nghiệp vụ đóng gói (PBC) là gì?

PBC là một đơn vị tự chứa sở hữu một chức năng nghiệp vụ hoàn chỉnh, bao gồm dữ liệu, logic và API của nó. Gartner mô tả PBC là các khả năng có thể triển khai độc lập, tương tác với các ứng dụng khác thông qua API và kênh sự kiện. Một thành phần "tìm kiếm", "thanh toán" hoặc "kho hàng", mỗi thành phần cung cấp một API cấp nghiệp vụ, là một PBC điển hình.

Tôi có cần một nền tảng API để chuyển sang kiến trúc có khả năng ghép nối không?

Bạn cần một cách để thiết kế, kiểm thử và giữ cho các hợp đồng API của mình ổn định, vì những hợp đồng đó là thứ duy nhất giữ các thành phần độc lập lại với nhau. Đó có thể là một bộ công cụ riêng biệt hoặc một nền tảng duy nhất bao gồm thiết kế, mô phỏng, kiểm thử và tài liệu hóa ở một nơi. Vấn đề là kỷ luật hợp đồng, không phải bất kỳ sản phẩm nào.

Tóm tắt

Kiến trúc có khả năng ghép nối là khái niệm chung, còn headless, MACH và microservices là các loại cụ thể trong đó. Điểm chung đơn giản là: các khả năng độc lập, lựa chọn công cụ tốt nhất trong phân khúc, và API làm xương sống kết nối. Phần cuối cùng này là nơi tiềm ẩn nhiều rủi ro nhất, bởi vì hợp đồng chính là hệ thống. Thiết kế, mô phỏng, kiểm thử và tài liệu hóa API đúng cách với một công cụ như Apidog, và phần còn lại của lời hứa về kiến trúc có khả năng ghép nối (có thể hoán đổi, đa kênh, không bị khóa chặt) sẽ có một nền tảng vững chắc để đứng vững.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API