So sánh các mô hình kiến trúc

So sánh các mô hình kiến trúc

nổ hũ mạt chược

Nền tảng trung tâm, dịch vụ vi mô hay dịch vụ chia sẻ?

Cập nhật: 04/09/2019
Lượt đọc: 8.955
Độ dài: 364 từ
Chuyên mục: Vận hành

Từ khóa “nền tảng trung tâm” (trung đài) lần đầu tiên tôi gặp phải trong cuốn sách “Chuyển đổi kiến trúc CNTT doanh nghiệp: Triết lý và thực tiễn chiến lược trung đài Alibaba”. Mặc dù thuật ngữ nghe có vẻ mới mẻ, nhưng nhiều dự án tôi từng tham gia đều áp dụng ý tưởng tương tự.

Câu chuyện kể rằng khái niệm này bắt nguồn từ công ty game Phần Lan Supercell.

Tại Supercell, trung đài là nơi tập trung các tài nguyên chung như hình ảnh, thuật toán tái sử dụng được trong quá trình phát triển game, kết hợp với hệ thống công cụ và framework tối ưu. Nhờ đó, mỗi nhóm nhỏ chỉ cần tập trung vào sáng tạo cốt lõi của game mà vẫn có thể ra mắt sản phẩm trong thời gian ngắn.

Dù “trung đài” hay “dịch vụ vi mô” (microservices) đều là những khái niệm thú vị, tôi cho rằng chúng chưa phản ánh rõ bản chất bằng thuật ngữ “dịch vụ chia sẻ”. Tên gọi này trực quan hơn, dễ hiểu cho cả đội nhóm kỹ thuật và không kỹ thuật.

Các ví dụ điển hình về dịch vụ chia sẻ:

  • Gửi tin nhắn SMS/Zalo/Telegram đa kênh
  • Hệ thống email marketing tự động
  • Báo cáo phân tích dữ liệu theo thời gian thực
  • Tra cứu vị trí địa lý qua IP
  • Lọc bình luận spam bằng AI
  • Xác thực người dùng đa yếu tố (2FA)
  • Cổng thanh toán tích hợp đa ngân hàng

Trường hợp thực tế áp dụng

Bối cảnh

Một website cũ kỹ đang sử dụng PHP 5.3 và framework ThinkPHP (phiên bản lỗi nhiều hơn tính năng). Codebase hỗn loạn khiến không ai muốn đụng đến. Yêu cầu phát sinh: Hiển thị số điện thoại 400 vào giờ hành chính, chuyển sang số di động ngoài giờ làm việc.

Giải pháp cân nhắc

  • Phương án 1: Viết script Python/Golang trực tiếp thay đổi CSDL
    ➤ Nhược điểm: Thêm ngôn ngữ lập trình mới, tăng chi phí bảo trì khi chuyển đổi hệ thống
  • Phương án 2: Tạo API đơn giản bằng ThinkPHP hiện tại và gọi định kỳ qua curl trong crontab
    ➤ Ưu điểm:
    ✅ Sử dụng hạ tầng sẵn có
    ✅ Dễ tích hợp với hệ thống khác
    ✅ Giảm thiểu rủi ro tương thích ngược

Kết quả đạt được

Chỉ với 2 file code (1 controller + 1 model), hệ thống tự động chuyển đổi số điện thoại chính xác từng phút. Giải pháp này sau đó được tái sử dụng trong các dự án khác, tiết kiệm 40 giờ phát triển tính năng tương tự.

Bài học kinh nghiệm

Dịch vụ chia sẻ không cần phải phức tạp. Đôi khi một API nhỏ, một công cụ đơn giản cũng đủ giải quyết vấn đề, miễn nó được thiết kế với tư duy “tái sử dụng” ngay từ đầu.

comments powered by Disqus
Built with Hugo
Theme Stack thiết kế bởi Jimmy