Lợi thế cạnh tranh cốt lõi của một sàn giao dịch tập trung có thể được tóm gọn trong ba từ: độ sâu, tốc độ và tính chắc chắn. Độ sâu đến từ mật độ báo giá của các nhà tạo lập thị trường và người dùng thực; tốc độ đến từ cơ chế khớp lệnh và đường truyền mạng; tính chắc chắn đến từ các quy tắc khớp lệnh minh bạch và cơ chế chuyển đổi dự phòng có thể kiểm chứng. Một sàn giao dịch bị sập trong đợt tăng giá, làm rối loạn sổ lệnh trong đợt sụt giá chớp nhoáng hoặc tạo ra các lệnh trùng lặp sau khi niêm yết mới sẽ không thể giữ chân người dùng chuyên nghiệp, bất kể chi phí tiếp thị là bao nhiêu. Hệ thống khớp lệnh và hệ thống con sổ lệnh của sàn giao dịch tập trung nhãn trắng (white-label CEX) của SoonTech biến ba đặc tính này thành các chỉ số kỹ thuật có thể đo lường được: độ trễ khớp lệnh trạng thái ổn định theo từng cặp ở mức microgiây, thời gian khứ hồi đầu cuối ở mức vài mili giây, và chuyển đổi dự phòng giữa chế độ hoạt động và dự phòng trong vài giây mà không mất hoặc trùng lặp lệnh. Bài viết này cung cấp một hướng dẫn toàn diện về các nguyên tắc khớp lệnh, các loại lệnh, cấu trúc sổ lệnh, khớp lệnh trong bộ nhớ, tính bền vững và phục hồi, truyền dữ liệu thị trường, ngăn chặn giao dịch tự động, các tiêu chuẩn hiệu suất, khắc phục thảm họa, quyền truy cập tổ chức và các khuyến nghị vận hành.

Nếu so sánh sàn giao dịch với một tòa nhà, thì hệ thống khớp lệnh chính là sàn giao dịch trung tâm của nó. Mọi lệnh mua và bán đều được đưa vào đó để khớp; mọi mức giá, khối lượng và độ sâu thị trường đều được tạo ra tại đó; mọi quyết định về thanh toán bù trừ, thanh toán và quản lý rủi ro đều phụ thuộc vào các báo cáo thực hiện mà nó phát ra. Khi hệ thống khớp lệnh ngừng hoạt động, toàn bộ sàn giao dịch cũng ngừng hoạt động. Khi nó tạo ra kết quả sai, các quy trình thanh toán bù trừ, thanh toán, kiểm soát rủi ro và hiển thị dữ liệu thị trường ở các giai đoạn sau đều bị ảnh hưởng.
Sự khác biệt cơ bản nhất giữa sàn giao dịch tập trung (CEX) và sàn giao dịch phi tập trung (DEX) nằm chính xác ở đây. DEX mã hóa các quy tắc khớp lệnh trong các hợp đồng thông minh được thực thi bởi các thợ đào hoặc người xác thực theo thứ tự đồng thuận, điều này giúp các quy tắc có thể được kiểm toán nhưng lại gây ra độ trễ cao, chi phí cao và các loại lệnh bị hạn chế. Một sàn giao dịch tập trung (CEX) thực hiện khớp lệnh trên các máy chủ hiệu suất cao do sàn vận hành, mang lại độ trễ thấp và đa dạng loại lệnh nhưng buộc nhà điều hành phải bù đắp cho sự tin cậy tập trung bằng sự nghiêm ngặt về kỹ thuật và các cuộc kiểm toán độc lập.
Đối với nhà điều hành sàn giao dịch tập trung nhãn trắng (white-label CEX), cơ chế khớp lệnh cũng quyết định phân khúc khách hàng nào họ có thể phục vụ. Người dùng bán lẻ không nhạy cảm với độ trễ hàng chục hoặc thậm chí hàng trăm mili giây. Các nhà tạo lập thị trường, bộ phận giao dịch tần suất cao và các công ty chênh lệch giá lại cực kỳ nhạy cảm. Họ chạy các công cụ kiểm tra độ trễ riêng để đo thời gian đi và về, khoảng thời gian cập nhật dữ liệu thị trường và độ trễ xác nhận hủy lệnh, từ đó quyết định có kết nối hay không và mức khối lượng báo giá dựa trên các con số đó. Một công cụ khớp lệnh chưa được tối ưu hóa về hiệu suất sẽ không thể thu hút các nhà cung cấp thanh khoản nghiêm túc, và sàn giao dịch sẽ rơi vào vòng luẩn quẩn của độ sâu thị trường mỏng, tỷ lệ rời bỏ của người dùng và độ sâu thị trường ngày càng mỏng hơn.
Các thị trường sổ lệnh hiện đại đều áp dụng nguyên tắc ưu tiên giá-thời gian. Quy tắc này có hai cấp độ. Thứ nhất, giá mua cao hơn sẽ được ưu tiên hơn giá mua thấp hơn, và giá bán thấp hơn sẽ được ưu tiên hơn giá bán cao hơn, vì giá tốt nhất là giá có lợi nhất cho đối tác giao dịch. Thứ hai, khi nhiều lệnh nằm ở cùng một mức giá, lệnh đến sớm nhất sẽ được khớp trước.
Ưu tiên giá đảm bảo quá trình xác định giá hiệu quả. Ưu tiên thời gian đảm bảo tính công bằng theo nguyên tắc “ai đến trước được phục vụ trước”. Kết hợp lại, chúng tạo ra một trình tự khớp lệnh xác định: việc một lệnh có được khớp hay không, ở mức giá nào và với ai có thể được xác định chính xác ngay khi trạng thái sổ lệnh được biết. Tính xác định này rất quan trọng đối với người dùng chuyên nghiệp vì các chiến lược của họ được xây dựng dựa trên kỳ vọng về thời điểm các lệnh đang chờ của họ sẽ được khớp. Nếu quá trình khớp lệnh không minh bạch, họ không thể kiểm tra lại (back-test) và sẽ không cung cấp thanh khoản bền vững.
Hệ thống khớp lệnh của SoonTech thực thi nghiêm ngặt nguyên tắc ưu tiên giá-thời gian. Khi một lệnh vào lõi khớp lệnh, hai dấu thời gian được gắn vào: một được ghi lại khi cổng kết nối nhận lệnh, dùng cho kiểm soát rủi ro và kiểm toán; và một được ghi lại khi lệnh thực sự vào hàng đợi khớp lệnh, dùng để xếp hạng sổ lệnh. Cả hai dấu thời gian đều có độ phân giải vi giây và được lưu trữ trong nhật ký giao dịch. Trong bất kỳ tranh chấp nào, nhà điều hành có thể tái hiện toàn bộ chu trình từ khi nhận lệnh đến khi thực hiện thay vì phải phỏng đoán từ các bản ghi rời rạc.
Một số sàn giao dịch âm thầm cấp ưu tiên ẩn cho các lệnh của nhà tạo lập thị trường hoặc khách hàng VIP. Điều này làm hài lòng một số khách hàng cụ thể trong ngắn hạn nhưng làm xói mòn nhận thức về sự công bằng của thị trường và gây ra khủng hoảng niềm tin trong các giai đoạn biến động. SoonTech không áp dụng ưu tiên ẩn cho bất kỳ tài khoản nào theo mặc định. Các nhà tạo lập thị trường giành được lợi thế nhờ báo giá chặt chẽ hơn và hủy lệnh nhanh hơn, chứ không phải nhờ sự thiên vị ở cấp độ quy tắc.
Khả năng biểu đạt của một hệ thống khớp lệnh được thể hiện qua các loại lệnh mà nó hỗ trợ. Hai loại cơ bản là lệnh giới hạn và lệnh thị trường. Lệnh giới hạn phải được khớp ở mức giá đã chỉ định hoặc tốt hơn, phần còn lại chưa khớp sẽ được giữ lại trên sổ lệnh. Lệnh thị trường yêu cầu thực hiện ngay lập tức ở bất kỳ mức giá nào có sẵn, quét sổ lệnh từ mức giá tốt nhất xuống dưới.
Ngoài hai loại này, giao dịch chuyên nghiệp cần một loạt các loại lệnh nâng cao để kiểm soát chi phí thực hiện và rủi ro. SoonTech hỗ trợ các loại lệnh phổ biến sau đây.
Thứ nhất, Lệnh Thực hiện Ngay hoặc Hủy (IOC). Lệnh này cố gắng khớp ngay khi được gửi đi, và bất kỳ phần nào chưa được khớp sẽ bị hủy ngay lập tức thay vì nằm trên sổ lệnh. IOC phù hợp với các nhà giao dịch muốn khớp lệnh nhanh nhưng không muốn các lệnh nằm trên sổ lệnh tiết lộ ý định.
Thứ hai, Lệnh Thực hiện Hoặc Hủy (FOK). Lệnh này hoặc được thực hiện hoàn toàn và ngay lập tức, hoặc bị hủy hoàn toàn; không cho phép thực hiện một phần. FOK hữu ích cho các khối lệnh lớn, nơi việc thực hiện một phần có thể tiết lộ ý định chiến lược.
Thứ ba, Post-Only. Nếu lệnh mới đến có thể khớp ngay lập tức với một lệnh đang chờ, nó sẽ tự động bị hủy. Post-Only đảm bảo trạng thái người tạo thị trường (maker) và khoản hoàn trả dành cho người tạo thị trường, và được các nhà tạo lập thị trường sử dụng rộng rãi.
Thứ tư, Lệnh Stop. Người dùng đặt mức giá kích hoạt. Khi thị trường chạm mức giá đó, hệ thống sẽ chuyển lệnh Stop thành lệnh thị trường hoặc lệnh giới hạn và đưa vào khớp lệnh. Lệnh Stop không nằm trên sổ lệnh mà nằm trong một hàng đợi kích hoạt riêng biệt.
Thứ năm, Lệnh Iceberg. Một lệnh lớn chỉ hiển thị một lượng nhỏ trên sổ lệnh trong khi ẩn phần còn lại. Khi phần hiển thị được khớp, một phần khác có kích thước tương đương sẽ được giải phóng từ phần ẩn. Lệnh Iceberg cho phép các nhà giao dịch lớn xây dựng hoặc giảm vị thế mà không gây xáo trộn sổ lệnh.
Thứ sáu, lệnh thuật toán TWAP và VWAP. Các lệnh này được xử lý bởi mô-đun thực thi thuật toán, chia lệnh gốc thành các lệnh con trong một khoảng thời gian hoặc theo lịch trình tham gia khối lượng, từ đó giảm thiểu tác động thị trường hơn nữa.
Tất cả các loại lệnh đều chạy qua cùng một vòng lặp khớp lệnh nhưng kết nối với các sự kiện vòng đời khác nhau: trước khi nhập lệnh, trong quá trình khớp lệnh và sau khi khớp lệnh. Việc thiết kế các loại lệnh nâng cao theo kiểu có thể cắm thêm thay vì mã hóa cứng chúng vào vòng lặp khớp lệnh là cách mà công cụ này không ngừng phát triển.
Sổ lệnh là tập hợp tất cả các lệnh giới hạn chưa khớp, được sắp xếp theo mức giá. Mỗi mức giá chứa các lệnh đang chờ tại mức giá đó, được xếp hàng theo thứ tự đến. Khi một lệnh thị trường hoặc lệnh giới hạn có thể thực hiện được đến, hệ thống sẽ quét từ mức giá tốt nhất trở đi cho đến khi khối lượng được đáp ứng hoặc sổ lệnh cạn kiệt.
Hiệu suất sổ lệnh phụ thuộc vào ba thao tác: chèn lệnh, hủy lệnh và xóa lệnh trong quá trình khớp lệnh. Một triển khai mảng đơn giản có thể hoạt động về mặt chức năng nhưng sẽ trở thành điểm nghẽn khi có hàng chục hoặc hàng trăm nghìn thao tác mỗi giây. SoonTech áp dụng một số tối ưu hóa cấu trúc.
Thứ nhất, các mức giá mua và bán được tổ chức bằng danh sách bỏ qua không khóa (lock-free skip lists) hoặc các nhóm giá được chỉ mục bằng mảng. Đối với các công cụ có kích thước tick cố định, chỉ mục mảng là nhanh nhất; đối với tick biến đổi, danh sách bỏ qua hoặc cây đỏ-đen xác định một mức trong O(log n). Trong mỗi mức, các lệnh nằm trong một danh sách liên kết kép giúp duy trì thứ tự thời gian và cho phép xóa O(1) khi hủy.
Thứ hai, mỗi lệnh đều có một ID lệnh duy nhất trên toàn hệ thống và một bảng băm ánh xạ ID đó trực tiếp đến đối tượng lệnh trong bộ nhớ. Việc hủy lệnh xác định lệnh theo ID trong thời gian O(1), và đối tượng lệnh chứa các con trỏ ngược đến mức giá và nút danh sách liên kết của nó, do đó việc xóa cũng có độ phức tạp O(1). Nếu không có cơ chế này, các lệnh hủy tần suất cao sẽ dẫn đến việc quét toàn bộ sổ lệnh.
Thứ ba, hệ thống duy trì một bản chụp nhanh trong bộ nhớ được cập nhật dần dần sau mỗi lần khớp lệnh. Các mô-đun dữ liệu thị trường tạo ra độ sâu sổ lệnh, mức giá cao nhất và giá trung bình từ bản chụp nhanh này thay vì quét lại sổ lệnh mỗi lần. Bản chụp nhanh này hoàn toàn nhất quán với trạng thái khớp lệnh, do đó sàn giao dịch không bao giờ có “hai nguồn thông tin chính xác”.
Hiệu suất vượt trội của một động cơ khớp lệnh dựa trên một sự thật đơn giản: các thao tác bộ nhớ nhanh hơn các thao tác đĩa hàng chục lần. Nếu sổ lệnh được lưu trữ trong cơ sở dữ liệu đĩa, mỗi lần khớp lệnh sẽ gây ra I/O ở mức mili giây mà không có phần cứng nào có thể khắc phục được. Do đó, mọi động cơ khớp lệnh chuyên nghiệp đều sử dụng khớp lệnh trong bộ nhớ với nhật ký ghi trước (write-ahead log) và các bản chụp nhanh định kỳ.
Khớp lệnh trong bộ nhớ có nghĩa là sổ lệnh, các đối tượng lệnh và các lệnh đã khớp đều tồn tại trong bộ nhớ của quá trình. Vòng lặp khớp lệnh là một hoạt động thuần túy trên CPU, không liên quan đến đĩa hay mạng, và một lệnh thường hoàn thành hành trình của mình qua sổ lệnh trong vòng dưới mười microgiây.
Tuy nhiên, bộ nhớ là dễ bay hơi. Nếu không có cơ chế lưu trữ bền vững, một sự cố hệ thống hoặc mất điện sẽ làm mất trạng thái. Do đó, bộ xử lý sẽ ghi thêm một bản ghi vào nhật ký ghi trước mỗi khi trạng thái thay đổi. Việc ghi thêm theo thứ tự là một trong những mẫu I/O đĩa nhanh nhất vì không cần tìm kiếm vị trí, và hệ điều hành cùng đĩa có thể gộp các thao tác ghi lớn liên tục thành một lô. Kết hợp với cơ chế cam kết theo nhóm (group commit) – gom nhiều thay đổi trạng thái thành một lần xả duy nhất – chi phí lưu trữ giảm xuống chỉ còn một phần nhỏ của một microgiây cho mỗi lệnh.
Chỉ riêng nhật ký là chưa đủ. Nó sẽ tăng kích thước không giới hạn, và việc khởi động lại bằng cách phát lại nhật ký từ đầu rất chậm. Hệ thống định kỳ tạo bản sao lưu toàn bộ sổ lệnh lên đĩa. Khi khởi động lại, bản sao lưu mới nhất được tải vào và nhật ký sau bản sao lưu đó được phát lại, khôi phục trạng thái đến thao tác cuối cùng đã được xác nhận. SoonTech kích hoạt việc chụp ảnh nhanh mỗi giây hoặc sau mỗi vài chục nghìn lệnh khớp, và lưu trữ các bản chụp nhanh và nhật ký trên các đĩa vật lý hoặc vùng sẵn sàng riêng biệt để tránh mất mát có liên quan.
Tính bền vững cũng liên quan đến sự cân bằng kỹ thuật. Buộc thực hiện fsync sau mỗi lần khớp lệnh sẽ làm giảm thông lượng; bỏ qua fsync có nguy cơ mất vài bản ghi cuối cùng khi mất điện. SoonTech sử dụng cơ chế cam kết theo nhóm (group commit) kết hợp với việc xả dữ liệu có giới hạn thời gian: các bản ghi nhật ký được đưa vào bộ đệm trang và một luồng nền thực hiện fsync mỗi 50 mili giây hoặc khi vượt qua ngưỡng byte nhất định. Sự cố trong khoảng thời gian đó có thể làm mất các bản ghi mới nhất chưa được xả, nhưng các lệnh đó vẫn tồn tại tại cổng và có thể được phát lại sau khi khôi phục, do đó số dư của người dùng không bao giờ bị sai lệch.
Cơ chế khớp lệnh không chỉ tạo ra các lệnh khớp. Nó còn phát ra một bộ dữ liệu thị trường hoàn chỉnh: giá giao dịch cuối cùng, mức cao và thấp trong ngày, khối lượng giao dịch trong 24 giờ, mức giá cao nhất trên sổ lệnh, độ sâu sổ lệnh nhiều cấp và biểu đồ nến. Những dữ liệu này cung cấp cho các giao diện giao dịch, báo giá của nhà tạo lập thị trường và các chiến lược định lượng, và phải đảm bảo cả tốc độ lẫn tính ổn định.
Việc tạo dữ liệu thị trường được điều khiển bởi sự kiện. Mỗi thay đổi trạng thái hoặc lệnh khớp trên sổ lệnh đều kích hoạt một sự kiện nội bộ mà mô-đun dữ liệu thị trường sử dụng để cập nhật dần dần dữ liệu của mình. Việc cập nhật dần dần thay vì tính toán lại toàn bộ giúp mô-đun duy trì khả năng phản hồi ngay cả khi xử lý hàng chục nghìn giao dịch mỗi giây.
Có ba đối tượng nhận các luồng dữ liệu này. Dữ liệu thị trường công khai như giá cuối cùng và biểu đồ nến được gửi đến mọi người đăng ký. Dữ liệu riêng tư như trạng thái lệnh, lệnh được khớp và số dư chỉ được gửi đến tài khoản có liên quan. Các luồng cấp độ độ sâu khác nhau tùy theo quyền truy cập: người dùng miễn phí có thể xem mức giá cao nhất trên sổ lệnh, trong khi người dùng trả phí hoặc tổ chức có thể xem 20 cấp độ hoặc độ sâu đầy đủ.
Việc truyền tải sử dụng các kết nối WebSocket dài hạn với mã hóa Protobuf hoặc MessagePack để giảm băng thông và chi phí phân tích cú pháp. Các cổng dữ liệu thị trường của SoonTech áp dụng nhiều tối ưu hóa giao thức: ghép kênh kết nối để nhiều đăng ký chia sẻ một socket, nén delta để các trường không thay đổi không bị truyền lại, tín hiệu kiểm tra kết nối để phát hiện kết nối bị ngắt, và cơ chế áp lực ngược để ngắt kết nối người dùng chậm thay vì làm chậm toàn bộ cụm máy chủ.
Sự cố phổ biến nhất trong truyền dữ liệu không phải là độ trễ mà là sự xáo trộn thứ tự. Một báo cáo xác nhận giao dịch có thể được tạo ra trước khi cập nhật trạng thái lệnh nhưng lại đến sau do độ dao động mạng, khiến client rơi vào trạng thái không nhất quán. SoonTech gắn nhãn mỗi tin nhắn bằng hai số thứ tự: một dãy số tăng đơn điệu theo từng kết nối và một dãy sự kiện toàn cục từ nhật ký tương ứng. Các máy khách sử dụng số thứ tự toàn cục để phát hiện các khoảng trống và số thứ tự cho từng kết nối để phát hiện sự sắp xếp lại thứ tự, và khi phát hiện bất kỳ sự bất thường nào, chúng sẽ lấy một bản chụp REST đầy đủ để đồng bộ hóa lại.
Giao dịch tự động xảy ra khi một lệnh mua và một lệnh bán từ cùng một tài khoản hoặc các tài khoản có liên quan khớp với nhau. Giao dịch tự động có thể là sự trùng hợp chiến lược ngẫu nhiên, chẳng hạn như hai phần của một chương trình chênh lệch giá gặp nhau ở cùng một mức giá, hoặc hành vi cố ý nhằm thổi phồng khối lượng, định giá giá đóng cửa hoặc đánh lừa thị trường. Các sàn giao dịch chuyên nghiệp giải quyết vấn đề này tại lõi khớp lệnh thông qua cơ chế Ngăn chặn Giao dịch Tự động (STP).
SoonTech hỗ trợ một số chính sách STP. Chính sách nghiêm ngặt nhất là “Hủy lệnh mới nhất”: nếu lệnh mới đến khớp với một lệnh đang chờ trong cùng nhóm STP, lệnh mới sẽ bị hủy. Chính sách "Hủy lệnh cũ nhất" (Cancel Oldest) sẽ hủy lệnh đối ứng đang chờ khớp và cho phép lệnh mới tiếp tục khớp với các nguồn thanh khoản khác. Chính sách "Hủy cả hai" (Cancel Both) sẽ hủy cả hai bên. Chính sách "Giảm khối lượng" (Decrement) chỉ hủy khối lượng trùng lặp và cho phép phần còn lại tiếp tục chờ khớp hoặc thực hiện.
Các nhóm STP có tính linh hoạt ở cấp tài khoản. Theo mặc định, tài khoản chính và các tài khoản con của nó thuộc cùng một nhóm, nhưng khách hàng tổ chức có thể yêu cầu các nhóm độc lập cho các tài khoản con chiến lược khác nhau để các chiến lược không liên quan không hủy lẫn nhau. Mọi hành động STP đều được ghi vào sổ nhật ký để kiểm tra rủi ro và tuân thủ.
Ngoài STP, hệ thống phải xử lý các vấn đề công bằng khác. "Spoofing" là việc đặt các lệnh lớn rồi hủy nhanh chóng để tạo độ sâu thị trường giả. "Layering" là việc đặt lệnh trên nhiều mức giá khác nhau để kích thích biến động giá. Giao dịch "Momentum ignition" thực hiện các giao dịch một cách tích cực để kích hoạt các thuật toán khác. Những hành vi này không thể ngăn chặn chỉ bằng các quy tắc khớp lệnh; chúng yêu cầu sổ nhật ký cung cấp dữ liệu cho các mô hình rủi ro và giám sát để phát hiện các tỷ lệ hủy lệnh so với số lượng lệnh bất thường, tác động giá ngắn hạn và các mẫu liên quan, từ đó báo cáo cho đội ngũ tuân thủ.
Việc thảo luận về hiệu suất khớp lệnh chỉ dựa trên TPS đỉnh là sai lầm vì TPS phụ thuộc vào cơ cấu lệnh, độ sâu sổ lệnh và tỷ lệ hủy lệnh. Một bản demo chỉ thực hiện khớp lệnh mà không có dữ liệu thị trường thời gian thực hoặc kiểm tra rủi ro có thể đạt một triệu TPS, nhưng một hệ thống sản xuất hoạt động đầy tải duy trì hàng chục nghìn TPS mới là hàng đầu trong ngành. SoonTech đo lường bốn chỉ số có ý nghĩa hơn.
Thứ nhất, độ trễ khớp lệnh, tức là thời gian CPU thuần túy từ khi nhập lệnh đến khi nhận báo cáo khớp lệnh bên trong lõi khớp lệnh. Đây là độ trễ nội tại của hệ thống, thường dao động từ năm đến hai mươi microgiây.
Thứ hai, thời gian khứ hồi, từ khi người dùng gửi lệnh đến khi nhận được báo cáo khớp lệnh, bao gồm truy cập mạng, xác thực, kiểm tra rủi ro, tuần tự hóa, khớp lệnh, lưu trữ và truyền dữ liệu. Đối với người dùng cùng vị trí, thời gian này là từ 1 đến 5 mili giây; người dùng từ xa bị giới hạn bởi các yếu tố vật lý.
Thứ ba, thông lượng bền vững, tức là số lệnh mỗi giây mà hệ thống có thể xử lý liên tục mà không bị ùn tắc, hết thời gian chờ hoặc suy giảm độ trễ. Một cặp máy chủ duy nhất có thể duy trì hàng chục nghìn lệnh mỗi giây, và việc mở rộng theo chiều ngang của cụm máy chủ sẽ tăng tổng thông lượng theo số lượng cặp máy chủ.
Thứ tư, độ trễ đuôi. Điều quan trọng đối với các chiến lược tạo lập thị trường không phải là giá trị trung bình mà là P99 và P999. Một hệ thống hoạt động tốt duy trì P99 ở mức hàng chục microgiây; một đợt tăng đột biến thường cho thấy các sự cố như tạm dừng thu gom rác (GC), cơn bão ngắt quãng (IRQ), truy cập giữa các nút NUMA hoặc chặn do xả nhật ký, và cần được điều tra ngay lập tức.
Độ trễ phải được đo lường liên tục trong môi trường sản xuất, không chỉ khi khởi chạy. Mỗi triển khai của SoonTech đều tích hợp một tài khoản thăm dò, tài khoản này sẽ gửi các lệnh tổng hợp có khối lượng rất nhỏ trên các cặp giao dịch thực tế với tần suất cố định và ghi lại độ trễ từ đầu đến cuối. Kết quả thăm dò được hiển thị trên bảng điều khiển và sẽ phát cảnh báo khi P99 vượt quá ngưỡng. Cơ chế tự kiểm tra tình trạng này giúp phát hiện sự suy giảm hiệu suất trước khi các hệ thống giám sát bên ngoài phát hiện ra.
Cơ chế khớp lệnh là thành phần cuối cùng có thể ngừng hoạt động, nhưng mọi máy chủ đều có thể gặp sự cố. Thiết kế phục hồi thảm họa đặt ra một câu hỏi cốt lõi: khi một máy chủ, giá máy chủ, vùng sẵn sàng hoặc toàn bộ khu vực gặp sự cố, làm thế nào để quá trình khớp lệnh có thể tiếp tục trong vòng vài giây mà không mất lệnh, không trùng lặp và không xảy ra hiện tượng “split brain”?
Kiến trúc cơ bản là mô hình chủ-phụ (active-standby). Máy chủ chính thực hiện ghép đôi bình thường và truyền nhật ký hoạt động của mình đến máy chủ dự phòng, nơi liên tục tái phát nhật ký và duy trì trạng thái gần như đồng bộ. Khi máy chủ chính gặp sự cố, hệ thống giám sát sẽ phát hiện sự mất tín hiệu heartbeat trong vài giây, nâng cấp máy chủ dự phòng lên làm máy chủ chính và chuyển hướng lưu lượng truy cập cổng. Chìa khóa của kiến trúc chủ-phụ là tính nhất quán khi chuyển đổi dự phòng: máy chủ chính cũ phải bị cách ly để không thể tham gia lại sau khi phục hồi và tạo ra hai máy chủ chính, đồng thời máy chủ chính mới không được chậm hơn trạng thái cuối cùng đã được xác nhận.
Một kiến trúc nâng cao hơn là active-active hoặc multi-active. Quá trình xử lý cho cùng một cặp được thực hiện dự phòng trên nhiều nút, các nút này thống nhất về thứ tự và kết quả thông qua giao thức đồng thuận như Raft hoặc Paxos, và khách hàng có thể kết nối với bất kỳ nút nào. Về nguyên tắc, kiến trúc đa chủ (multi-active) mang lại khả năng chuyển đổi dự phòng không gián đoạn, nhưng lại thêm độ trễ đồng thuận từ vài trăm microgiây đến một mili giây và độ phức tạp kỹ thuật đáng kể. Các cặp yêu cầu độ trễ thấp vẫn thường sử dụng chế độ chủ-phụ; các cặp có thể chấp nhận độ trễ thêm sẽ sử dụng kiến trúc đa chủ để đạt độ sẵn sàng cao hơn.
SoonTech mặc định sử dụng mô hình active-standby đồng bộ mạnh mẽ xuyên suốt các vùng sẵn sàng. Nút chính và ít nhất một nút dự phòng được đặt trong các giá máy khác nhau của cùng một trung tâm dữ liệu để đảm bảo sao chép ở mức độ mili giây, đồng thời một nút phục hồi thảm họa bổ sung được đặt tại một khu vực từ xa với cơ chế sao chép không đồng bộ nhằm đảm bảo khả năng sống sót trước sự cố cấp độ trung tâm dữ liệu. Một bộ chọn lãnh đạo độc lập điều phối việc chuyển đổi dự phòng để ngăn chặn hiện tượng “split brain”. Các ngày thử nghiệm định kỳ hàng quý sẽ cố ý ngắt kết nối máy chủ chính, ngắt kết nối các cổng và tạo ra các phân vùng mạng để xác minh rằng các mục tiêu RTO vẫn được duy trì trong thực tế.
Các tổ chức chuyên nghiệp không giao dịch qua giao diện người dùng web. Họ vận hành các hệ thống giao dịch, OMS/EMS và cổng rủi ro riêng và cần kết nối tiêu chuẩn hóa. Tiêu chuẩn chủ đạo trên thị trường tài chính là giao thức FIX (Financial Information eXchange) – một giao thức dựa trên phiên, mã hóa dưới dạng văn bản hoặc nhị phân, bao gồm các chức năng nhập lệnh, hủy lệnh, báo cáo thực hiện, tra cứu vị thế và kiểm soát rủi ro.
SoonTech cung cấp cổng FIX chuyên dụng cho các tổ chức, tương thích với các quy ước trường dữ liệu FIX 4.4 và hỗ trợ khôi phục phiên, đồng bộ hóa lại thứ tự, mã hóa đối xứng và bất đối xứng, danh sách cho phép địa chỉ IP nguồn, cùng chứng chỉ khách hàng. Cổng FIX không tự thực hiện khớp lệnh; nó chuyển đổi tin nhắn FIX thành các sự kiện lệnh nội bộ và chuyển đổi báo cáo thực hiện trở lại thành định dạng FIX.
Các tổ chức thường cần kết nối môi giới chính (prime brokerage) xuyên thị trường thông qua FIX hoặc các giao thức độc quyền, dịch vụ colocation đặt các thiết bị của họ ngay cạnh hệ thống khớp lệnh để giảm thiểu độ trễ vật lý, giới hạn tốc độ API chuyên dụng khác biệt so với khách hàng bán lẻ, và luồng dữ liệu độ sâu thị trường chuyên dụng với độ chi tiết cao hơn. SoonTech gói gọn các tính năng này vào một gói dịch vụ dành cho tổ chức mà các nhà điều hành có thể kích hoạt cho từng khách hàng.
Một chi tiết thường bị bỏ qua là môi trường thử nghiệm (sandbox) và môi trường sản xuất phải giống hệt nhau về mặt cấu trúc. Sau khi phát triển trong môi trường thử nghiệm, các tổ chức thường gặp khó khăn không phải do sự không khớp của API mà do gặp phải các mã lỗi, giới hạn tốc độ hoặc quy tắc rủi ro chỉ tồn tại trong môi trường sản xuất. Môi trường thử nghiệm của SoonTech chạy cùng mã khớp lệnh và mô hình cấu hình như môi trường sản xuất, chỉ được cách ly ở lớp dữ liệu, do đó việc chuyển đổi từ môi trường thử nghiệm sang môi trường sản xuất diễn ra suôn sẻ nhất có thể.
Thử thách thực sự của một công cụ khớp lệnh bắt đầu sau khi ra mắt. Dựa trên kinh nghiệm triển khai cho nhiều khách hàng nhãn trắng, chúng tôi đưa ra một số khuyến nghị thiết thực.
Thứ nhất, triển khai các cặp giao dịch theo từng giai đoạn. Việc mở hàng chục cặp ngay khi ra mắt sẽ khiến các nhà tạo lập thị trường bị phân tán và dẫn đến thanh khoản mỏng ở mọi nơi. Hãy bắt đầu với một vài cặp có độ tin cậy cao, nơi đã có cam kết về thanh khoản, sau đó mở rộng khi độ sâu thị trường và trải nghiệm người dùng đã ổn định.
Thứ hai, thu hút các nhà tạo lập thị trường trước khi chính thức đi vào hoạt động. Trước khi ra mắt công khai, hãy mời ít nhất hai hoặc ba nhà tạo lập thị trường để đảm bảo độ sâu sổ lệnh cơ bản và tránh chênh lệch giá quá rộng khi mở cửa. Các nghĩa vụ báo giá, mức chênh lệch tối đa và khối lượng tối thiểu phải được ghi rõ trong hợp đồng và liên tục đối chiếu với sổ lệnh.
Thứ ba, dự trù dung lượng cho khả năng mở rộng. Các máy chủ khớp lệnh nên hoạt động dưới 30% CPU và 50% bộ nhớ trong điều kiện bình thường để có thể xử lý các đợt tăng đột biến lưu lượng gấp ba đến năm lần khi thị trường biến động. Kế hoạch năng lực nên nhắm đến mức gấp ba đến năm lần đỉnh lưu lượng của ngày hôm trước thay vì mức trung bình.
Thứ tư, xây dựng khả năng quan sát toàn diện. Độ trễ khớp lệnh, độ trễ nhật ký, độ trễ phân phối dữ liệu thị trường, độ trễ sao chép dự phòng, độ sâu hàng đợi nhật ký, số lượng kết nối, tỷ lệ hủy lệnh và các tín hiệu kích hoạt STP đều phải được hiển thị trên các bảng điều khiển thời gian thực kèm cảnh báo. Giám sát chính là đôi mắt của hệ thống; thiếu nó, hệ thống sẽ hoạt động mù quáng.
Thứ năm, luyện tập, luyện tập và luyện tập. Mỗi lần chuyển đổi dự phòng, mỗi lần nâng cấp và mỗi lần thay đổi tham số đều phải được diễn tập từ đầu đến cuối trong môi trường thử nghiệm và môi trường chuẩn bị, kèm theo kế hoạch khôi phục. Sự bình tĩnh trong môi trường sản xuất được tạo nên nhờ những lần đối phó với tình huống hỗn loạn lặp đi lặp lại ngoài môi trường sản xuất.
Một hệ thống khớp lệnh không phải là mô-đun mà bạn chỉ cần mua; nó là nền tảng lâu dài cho sức cạnh tranh cốt lõi của sàn giao dịch. Hiệu suất, tính ổn định và tính công bằng của nó cùng quyết định liệu người dùng có tin tưởng giao phó tài sản và chiến lược cho nền tảng hay không. Hệ thống khớp lệnh và sổ lệnh CEX nhãn trắng của SoonTech thực hiện các đầu tư hệ thống trên các khía cạnh như ưu tiên giá-thời gian, kiến trúc trong bộ nhớ, khả năng biểu đạt loại lệnh, truyền dữ liệu thị trường, ngăn chặn giao dịch tự động, phục hồi thảm họa và quyền truy cập tổ chức, giúp các nhà điều hành có thể bắt đầu ngay từ ngày đầu tiên với hạ tầng đã được kiểm chứng trong môi trường sản xuất và tập trung nguồn lực vào việc xây dựng mối quan hệ với nhà tạo lập thị trường, phát triển người dùng và cấp phép. Độ sâu kỹ thuật cuối cùng sẽ tích lũy thành độ sâu kinh doanh.
A: Trên máy chủ vật lý hoặc máy ảo có độ trễ thấp trong cùng một trung tâm dữ liệu, độ trễ khớp lệnh thuần túy từ khi nhập lệnh đến khi báo cáo khớp lệnh thường là từ năm đến hai mươi microgiây. Thời gian truyền đi và về mà người dùng có thể thấy bao gồm mạng, xác thực, kiểm tra rủi ro, tuần tự hóa, tính bền bỉ và phân tán, dao động từ 1 đến 5 mili giây khi đặt cùng vị trí và cao hơn khi đặt ở các khu vực khác nhau tùy thuộc vào khoảng cách vật lý.
A: Ưu tiên giá-thời gian chỉ xác định thứ tự khớp lệnh và không thể tự nó ngăn chặn hành vi giả mạo hoặc xếp lớp lệnh. SoonTech tích hợp các lớp phòng ngừa giao dịch tự động, giám sát hủy lệnh bất thường dẫn đến giao dịch và phát hiện tác động giá ngắn hạn, đồng thời báo cáo các mẫu nhật ký đáng ngờ cho đội ngũ tuân thủ. Hành vi thao túng thị trường chủ yếu là vi phạm quy định và được xử lý thông qua giám sát và kiểm toán.
A: Mọi thay đổi trạng thái đều được ghi vào nhật ký ghi trước (write-ahead log) với tính năng cam kết theo nhóm (group commit) và xóa dữ liệu theo thời gian (time-bounded flush). Trong trường hợp cực đoan khi các bản ghi mới nhất chưa được xóa bị mất, các lệnh đó vẫn tồn tại tại cổng kết nối và sẽ được phát lại khi khôi phục, do đó số dư không bao giờ bị sai lệch. Với các bản chụp nhanh định kỳ, quá trình khôi phục sau khi khởi động lại chỉ mất vài chục giây.
Đáp: Trong các triển khai đồng bộ mạnh tiêu chuẩn, độ trễ sao chép là dưới một mili giây đến vài mili giây, và việc phát hiện lỗi cùng với việc nâng cấp hoàn tất trong vòng vài giây. Vì máy dự phòng phản chiếu trạng thái của máy chủ chính, các lệnh điền đã được xác nhận sẽ không bị mất; các lệnh đến trong quá trình chuyển đổi sẽ được xếp hàng hoặc thử lại tại cổng mà không tạo ra các lệnh điền trùng lặp.
A: Có. Iceberg được triển khai trong lõi khớp lệnh và chỉ số lượng hiển thị xuất hiện trên sổ lệnh, phần ẩn sẽ được giải phóng khi phần hiển thị được khớp. TWAP và VWAP được xử lý bởi mô-đun thực thi thuật toán độc lập, mô-đun này chia lệnh cha thành các lệnh con, sau đó các lệnh con này được khớp theo cùng các quy tắc ưu tiên giá-thời gian.
A: SoonTech cung cấp cổng FIX 4.4 với quản lý phiên tiêu chuẩn, đồng bộ hóa lại chuỗi, xác thực chứng chỉ và danh sách cho phép IP. Các nhà tạo lập thị trường nhạy cảm với độ trễ có thể yêu cầu thêm dịch vụ lưu trữ đồng vị trí và các kênh dữ liệu thị trường chuyên dụng, đặt các thiết bị của họ trong cùng trung tâm dữ liệu với bộ xử lý khớp lệnh để giảm thiểu độ trễ vật lý.
🌐 Xây dựng các nền tảng Web3 an toàn và có khả năng mở rộng cùng SoonTech.
Khám phá các giải pháp của chúng tôi dành cho Sàn giao dịch tiền điện tử nhãn trắng, Thị trường dự đoán, Ví MPC, Hệ thống khớp lệnh, Tích hợp thanh khoản và Tuân thủ.