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?

Tùy chọn 1. Kiến trúc nguyên khối (nguyên khối)

Một kiến trúc nguyên khối giống như một quả cầu tuyết. Bạn bắt đầu một dự án và bạn có một quả bóng tuyết nhỏ. Nó nhỏ đến mức có thể được phát triển và lăn bánh bởi một nhóm nhỏ. Một vài năm đã trôi qua và giờ đây quả cầu tuyết của bạn đã trở nên quá lớn đến mức các nhà phát triển 20 đã đẩy nó. Trong một vài năm nữa, hàng trăm nhà phát triển sẽ lăn quả cầu tuyết của bạn với rất nhiều mã, nhưng việc ra mắt các tính năng mới sẽ trở nên rất chậm chạp.

Do đó, chủ sở hữu bắt đầu thay đổi giám đốc kỹ thuật, các thành viên trong nhóm, nhưng mọi việc chỉ trở nên tồi tệ hơn . Các thành viên mới trong nhóm không biết các chi tiết lịch sử, tại sao quả cầu tuyết lại như vậy mà không phải là người khác. Tài liệu về sản phẩm nhanh chóng trở nên lỗi thời.

Tại sao không làm ngay từ đầu? Thứ nhất, khi bắt đầu kinh doanh, luôn có những nguồn lực có hạn, không có đủ nhà phát triển, chuyên môn và thời gian. Sách hướng dẫn đang hối thúc và các lập trình viên đang gấp rút thực hiện nó theo cách nhanh nhất có thể.

Thứ hai, các kỹ sư kỹ thuật nghĩ: "Thôi thì cứ để kiến trúc nguyên khối bây giờ, nhưng khi doanh nghiệp phát triển thì chúng ta sẽ làm lại mọi thứ". Thật không may, trên thực tế, việc chuyển một dự án nguyên khối hiện có sang kiến trúc microservice sẽ khó hơn gấp hàng chục lần so với việc viết mọi thứ từ đầu.

Tùy chọn 2. Kiến trúc microservice

Chúng tôi sẽ tạo ngay nền tảng tài chính của bạn dựa trên kiến trúc microservice.

Kiến trúc microservice có thể được so sánh với tấm lát nền trên lối đi bộ. Khi dự án của bạn phát triển, nhiều ô gạch được thêm vào lối đi của bạn. Nếu một thành phần nào đó đã lỗi thời, bạn chỉ cần thay thế ô này bằng một thành phần mới.

Kiến trúc này có nhiều ưu điểm, nhưng tôi sẽ nêu tên những ưu điểm quan trọng nhất:

  • cá nhân nhân viên chịu trách nhiệm về hoạt động của từng dịch vụ nhỏ
  • hành vi trộm cắp mã dự án bị ngăn chặn vì các nhà phát triển chỉ có quyền truy cập vào một phần của mã
  • khi có bản cập nhật ngôn ngữ lập trình, bạn có thể sửa mã chương trình của từng dịch vụ một

Ví dụ thực tế

Ví dụ đầu tiên. Việc quản lý nền tảng cho vay P2P với số lượng lớn người dùng đã quyết định thâm nhập thị trường các quốc gia bằng một loại tiền tệ khác. Nền tảng này có kiến trúc nguyên khối và chỉ bao gồm một loại tiền tệ - đồng euro, và để thâm nhập vào các thị trường Thụy Điển (đồng kroner Thụy Điển), Ba Lan (đồng zloty Ba Lan), Cộng hòa Séc (vương miện Séc), cần phải giới thiệu đa tiền tệ.

Cả nhóm đã mất hàng tháng để triển khai chức năng này và việc phát triển chức năng mới còn chậm lại hơn nữa. Trong trường hợp của kiến trúc microservice, mọi thứ sẽ dễ dàng và nhanh chóng hơn nhiều.

Ví dụ thứ hai. Ban đầu, trình tạo trang web được khởi chạy bằng ngôn ngữ mẹ đẻ và ban quản lý sẽ không mở rộng sang các thị trường khác. Dự án có kiến trúc nguyên khối và chức năng phát triển nhanh chóng. Sơ đồ của nền tảng này là một trang web phức tạp, trong đó mọi thứ đều được kết nối với mọi thứ. Một ngày nọ, doanh nghiệp quyết định phát hành một phiên bản của nền tảng này bằng các ngôn ngữ khác. Lúc đầu, có vẻ như chỉ cần thêm các tệp ngôn ngữ là đủ và bây giờ chúng tôi sẽ dịch toàn bộ giao diện.

Trong thực tế, toàn bộ dự án phải được làm lại. Ví dụ, tên của các công ty và sản phẩm trong cơ sở dữ liệu bây giờ không chỉ được lưu trữ bằng một ngôn ngữ mà còn ở mỗi ngôn ngữ. Không thể trùng lặp thông tin vì logic kinh doanh, cần phải lưu trữ các tên cho tất cả các ngôn ngữ cùng một lúc. Theo đó, điều này dẫn đến những thay đổi trong giao diện của tủ và văn phòng phía sau. Thay đổi giao diện bắt buộc phải thay đổi các quy tắc xác thực dữ liệu đến, các mẫu thư do các nguyên tắc khác nhau của phần kết thúc bằng các ngôn ngữ khác nhau, thay đổi kiểm tra, v.v.

Vì mọi thứ đều được kết nối với mọi thứ, nên quyết định được đưa ra là chuyển sang kiến trúc microservice cùng với sự ra mắt của các ngôn ngữ mới. Quá trình chuyển đổi từ kiến trúc nguyên khối sang microservice mất hơn một năm.

Ví dụ thứ ba. Nền tảng fintech được tạo trên phiên bản cũ của PHP và Laravel. Việc nâng cấp lên các phiên bản mới hơn, cũng như thay đổi cơ sở dữ liệu từ MariaDB sang PostgreSQL, hầu như không thể thực hiện được vì toàn bộ nhóm chỉ phải giải quyết quá trình di chuyển trong vài tháng.

Phiên bản mới của PHP và Laravel tại thời điểm đó có thể tăng tốc dự án và phát triển hơn nữa, nhưng kiến trúc nguyên khối không cho phép cập nhật công nghệ chồng

.