vi

Làm thế nào nó hoạt động?

Cần giúp đỡ cho doanh nghiệp?

Liên hệ với chúng tôi để nhận báo giá FinMV được cá nhân hóa phù hợp với nhu cầu của bạn.

Nguyên khối hay microservice?

Giám đốc kỹ thuật của công ty bạn, khi lập kế hoạch ra mắt nền tảng tài chính, sẽ phải chọn một tùy chọn kiến trúc dự án. Anh ấy có những phương án kiến trúc nào và chọn cái nào tốt hơn?

Hãy bắt đầu với kiến trúc đơn giản nhất giữ cho ranh giới rõ ràng

Một nền tảng đầu tư mới có một đội ngũ, một lần triển khai và một cơ sở dữ liệu. Ở giai đoạn này, chi phí của một hệ thống phân tán hoàn toàn đổ vào chi phí phụ trội: các lệnh gọi mạng ở nơi mà một lệnh gọi hàm là đủ, tính nhất quán cuối cùng ở nơi mà một giao dịch là đủ, và gánh nặng vận hành mà không ai được bố trí nhân sự để xử lý.

Vì vậy mặc định là một triển khai theo module: onboarding, các gói ưu đãi, các khoản đầu tư, thanh toán, tài liệu, dịch vụ và báo cáo tồn tại đằng sau các ranh giới rõ ràng trong một hệ thống có thể triển khai duy nhất. Điều làm cho nó theo module không phải là cấu trúc thư mục, mà là việc mỗi module có một hợp đồng, sở hữu dữ liệu của riêng mình và được bao phủ bởi các bài kiểm thử của riêng mình.

Tách một dịch vụ ra khi có lý do chính đáng

Một module trở thành một dịch vụ riêng biệt khi có một lý do cụ thể, và những lý do đó là lý do kinh doanh chứ không phải xu hướng kiến trúc:

  • quy mô — một phần của hệ thống cần phát triển hoặc gặp sự cố độc lập với phần còn lại
  • bảo mật — một ranh giới cần sự cách ly mạnh hơn những gì một module trong cùng một tiến trình có thể cung cấp
  • tuân thủ — một cơ quan quản lý hoặc yêu cầu kiểm toán đòi hỏi sự tách biệt về trách nhiệm hoặc dữ liệu
  • triển khai — một phần phải được phát hành theo một nhịp độ khác hoặc bởi một đội ngũ khác
  • tích hợp — một hệ thống bên ngoài áp đặt hồ sơ khả dụng và thông lượng riêng của nó
  • tổ chức — các đội ngũ riêng biệt cần sở hữu những thứ riêng biệt mà không phải phối hợp cho từng bản phát hành

Vì ranh giới và hợp đồng đã tồn tại sẵn, việc tách dịch vụ là một hoạt động có kế hoạch chứ không phải viết lại. Đó chính là mục đích của cách xây dựng này: tùy chọn vẫn luôn mở và vẫn rẻ.

Bất đồng bộ ở nơi nó xứng đáng

Công việc không cần chặn người dùng — đối soát thanh toán, tạo tài liệu, các callback từ nhà cung cấp, báo cáo — chạy qua các hàng đợi. Các broker tin nhắn như RabbitMQ hoặc Kafka xuất hiện khi thông lượng hoặc cấu trúc tích hợp biện minh cho chúng, chứ không phải là mặc định. PostgreSQL vẫn là hệ thống ghi chép chính thức; Redis được sử dụng ở nơi thực sự cần bộ nhớ đệm độ trễ thấp hoặc điều phối.

Những gì chúng tôi không làm

Chúng tôi không bán một hệ thống nguyên khối, và chúng tôi cũng không bán microservices. Cả hai đều là câu trả lời cho những câu hỏi chưa ai đặt ra. Chúng tôi cũng không xây dựng một hệ thống phân tán chỉ để làm cho nền tảng trông có vẻ nghiêm túc — sân khấu kiến trúc rất tốn kém để vận hành và khó bàn giao.

Kiến trúc của bạn được lựa chọn dựa trên quy mô, các nghĩa vụ pháp lý, các tích hợp và quy mô đội ngũ sẽ vận hành nó — và nó được thiết kế để có thể thay đổi khi những yếu tố đó thay đổi.