SlideShare ist ein Scribd-Unternehmen logo
1 von 90
Kiến trúc Hệ thống Core chứng khoán &
một số giải pháp về non-functional
Trình bày:
Nguyễn Nhật Quang
Vũ Việt Anh
Hà Nội, 05/2015
Hội thảo
Slides được soạn thảo dựa trên các tư liệu của đồng nghiệp, các
nhà cung cấp phần mềm core chứng khoán và các nhà cung cấp
phần mềm khác.
Các tài liệu khi công bố đã được chỉnh sửa khác với nguyên bản để
tránh tiết lộ bí mật thông tin, nhưng qua người trình bày vẫn truyền
tải được các ý tưởng cơ bản.
Mục đích công bố tài liệu là để giao lưu, học hỏi cộng đồng người
làm nghề CNTT, thu nhận những ý kiến phản biện để khi quay lại hệ
thống có thể làm cho nó tốt lên.
Tài liệu và trình bày cũng là dịp để cộng đồng CNTT có được khái
niệm và hiểu hơn về hệ thống chứng khoán, giao dịch trên thị trường
chứng khoán, từ đó có được sự tương tác tốt hơn đối với anh em
đang làm trong lĩnh vực này.
Lời ngỏ
Giới thiệu
Vũ Việt Anh
Tốt nghiệp đại học Bách khoa Paris, đại học viễn thông quốc gia Pháp
Thạc sỹ đại học Columbia (New York city)
Kinh nghiệm:
Làm việc tại Tervela Inc (NYC). Tervela là một trong những nhà tiên
phong về middleware tại Wallstreet, là công ty đầu tiên đưa giải
pháp messaging dựa trên hardware
Sáng lập OCTech
Stock Exchange Gateway, Order Routing System – C, C++,
ZeroMQ, Oracle, PostgresDB
Nguyễn Nhật Quang
Bách khoa Hà Nội, Điện tử Viễn thông + Đại học Quốc gia HN, CNTT
Các công ty đã làm việc: CDiT, VTN, Hanoi Telecom, CBOSS, SHS,
FPT
Kinh nghiệm:
Hệ thống Telecom Billing (VNPT, VTN) – C, C++, STL, Lua, Delphi,
Oracle
Hệ thống Mobile Tracking System (BCA) – C, C++, Oracle
Hệ thống Core chứng khoán (iBroker, eSMS, Miroku) – C#, C++,
Java, Oracle, MSSQL, MySQL, ProC, WildFly, Spring, ActiveMQ,
Infinispan, Nginx, Crystal Report, iReport.
Stock Exchange Gateway (C++, C#, MSSQL, MSMQ)
AGENDA
1. Overview về kiến trúc
2. Overview về TTCK
3. Lịch sử phát triển Core CK tại VN & các vấn đề
4. Kiến trúc hệ thống Core chứng khoán
5. Các giải pháp kỹ thuật & case study
KIẾN TRÚC LÀ GÌ?
AGENDA
1.Overview về kiến trúc
2.Overview về TTCK
3.Lịch sử phát triển Core CK tại VN & các vấn đề
4.Kiến trúc hệ thống Core chứng khoán
5.Các giải pháp kỹ thuật & case study
Không có kiến trúc
Kiến trúc công trình lớn, đặc chế, sáng chế
Tại sao cần kiến trúc?
Sáng tạo và tái sử dụng
DO NOT
REINVENT
THE
WHEELS
Kết luận phần 1
1. Khái niệm về kiến trúc
2. Vai trò thiết yếu của nó trong việc xây dựng bất cứ 1
thứ gì – bao gồm phần mềm, đặc biệt là các phần
mềm lớn, phức tạp, nhiều yêu cầu khắt khe
OVERVIEW VỀ THỊ
TRƯỜNG CHỨNG KHOÁN
AGENDA
1.Overview về kiến trúc
2.Overview về TTCK
3.Lịch sử phát triển Core CK tại VN & các vấn đề
4.Kiến trúc hệ thống Core chứng khoán
5.Các giải pháp kỹ thuật & case study
Thị trường Chứng khoán
Sở GDCK – Stock Exchange
Sở GDCK – Nơi trao đổi mua bán CK
Bảng giá / bảng điện chứng khoán
Khớp lệnh thông qua Sở GDCK
Core chứng khoán trong các mối tương quan
Front Office
Back Office
Khách
hàng
Ngân hàng
Ngân hàng Thanh toán
Trung tâm
Lưu ký CK
Sở GDCKSở GDCK
Nội dung trao đổi dữ liệu
Công ty Chứng khoán
Kênh khác
Sở GDCK
Ngân hàng
Thanh toán
(BIDV)
Trung tâm Lưu
ký
Ngân hàng
Web ,
Mobile
KH
Lệnh
Lệnh
Lệnh
Lệnh
Xác nhận số dư và giao dịch CK
Xác nhận
thanh toán
KQ Lệnh
Chuyển tiền
Chuyển
tiền
Lệnh thanh
toán
KQ Lệnh
So khớp, đối
soát
Mở TK, thay đổi thông tin, yêu cầu GD
Thời gian trao đổi dữ liệu
Công ty Chứng khoán
Kênh khác
Sở GDCK
Ngân hàng
Thanh toán
(BIDV)
Trung tâm Lưu
ký CK
Ngân hàng
9:00-14:45
Web ,
Mobile
Mọi lúc
9:00-14:45
9:00-14:45
Ngày 1 lần
Ngày 1 lần
15:30
Ngày 1 lần
Ngày 1 lần
9:00-14:45
Ngày 1 lần
Ngày 1 lần
Ngày 1 lần
KH
LỊCH SỬ PHÁT TRIỂN
CORE CK TẠI VN
& CÁC VẤN ĐỀ
AGENDA
1.Overview về kiến trúc
2.Overview về TTCK
3.Lịch sử phát triển Core CK tại VN & các vấn đề
4.Kiến trúc hệ thống Core chứng khoán
5.Các giải pháp kỹ thuật & case study
Các NCC Core chứng khoán tại VN
CORE NỘI
FPT.BOSC (FPT) – chiếm lĩnh thị trường trong giai đoạn đầu
FPT.Index
FPT.UTS: từ 2009, thay thế cho Index
@Direct (FSS)
VSSD.SBS – 15 CTCK, từ 2007, triển khai cho SHS,BSC,
Thống Nhất
MegaStock (RPSoft) – VTS, Click & Phone, WSS
Stock24 (TLS/MBS)
KLS
Navisoft – eBroker, eTrading (ABS, Tân Việt)
GoLine
HT2D – SMS, iTrading, Rabbit Trade
FSS - Flex
Core chứng khoán tại VN
CORE NGOẠI
FreeWill
Lotte – HPT (Tong Yang – HPT)
AFE (Hongkong)
TTL (Hongkong)
Syscom (Taiwan): PNS
CMS-Nova/TAW (Australia + India)
3i-Infotech (India)
Okasan & Goline V-GAIA (hợp tác Nhật Việt): MHBS
Formis BASS EBOS/EBETS (Malysia): ABS
Miroku (NRI – FPT, phái sinh)
Thị trường Chứng khoán Việt Nam
CÁC PHẦN MỀM khác CORE
Gateway:
OCTech (Gateway, ORS)
Stockbiz
Kế toán:
Bravo
Oracle
Web, datafeed, dịch vụ dữ liệu
Vietstock (web, datafeed)
Stox/StoxPlus
CafeF, Cophieu68, iStock.vn...
BANK Connection
CÁC HỆ THỐNG PHẦN MỀM CỦA CÁC CƠ QUAN QUẢN LÝ
Hệ thống của Sở HNX
Hệ thống của Sở HOSE
Hệ thống VSD
FIS, FSS, Navisoft
Kiến trúc ứng dụng 1 phần mềm Core hiện tại
Một số giao diện Trading
Một số giao diện Trading
Một số giao diện Trading
Thị trường chứng khoán VN
PHƯƠNG THỨC ĐẶT LỆNH và QUẢN LÝ DANH MỤC
Thời gian đầu: Quản lý lệnh = Excel, Đại diện sàn, đặt lệnh
bằng gọi điện...
“Thông sàn”, kết nối CTCK – Sở bằng phần mềm, bỏ đại diện
sàn. Tự động cập nhật kết quả GD.
Nhận lệnh tự động, giao dịch online qua Internet, mobile
SẢN PHẨM, DỊCH VỤ:
Lệnh thông thường, chuyển tiền thủ công
Giao dịch ký quỹ, chuyển tiền online, thanh toán T+3
Giao dịch phái sinh
Bán khống, giao dịch trong ngày, thanh toán T+2, T+0
Thực trạng & Các vấn đề
Kiến trúc chắp vá, dị dạng, hoặc không có KT
Thực trạng
Số lượng các CTCK: gần 100 CTCK, giờ rút xuống còn 71
CTCK đang hoạt động (theo danh sách thành viên hnx.vn ngày
3/5/2016)  quá đông, quá nguy hiểm
Thị trường còn tồn tại nhiều đặc điểm cũ: T+3, nhiều khâu giao
dịch chưa tự động, giấy tờ thủ tục rườm rà, chưa có nhiều sản
phẩm tài chính tốt, KHÔNG MINH BẠCH, bị thao túng, làm giá
(đội lái, tay to).
Chất lượng hàng hóa chưa cao, vốn hóa thị trường thấp, thanh
khoản thấp (ngày 3/5/2016, nguồn cafef.vn)
Các vấn đề hiện tại
Năng lực thấp (Capacity): số lượng khách hàng cùng lúc cao nhất là
vài nghìn, thực tế < 1000.
Thời gian để đặt 1 lệnh là chậm (tốc độ thấp): chục lệnh / s
Lỗi: đúp lệnh, sai lệnh, bán khống...
Nếu thị trường phát triển, volume tăng, dịch vụ mới triển khai 
không đáp ứng được.
Một số trường hợp sự cố phần mềm Core
(2012) HSC (AFE) bị lỗi hệ thống GD do nâng cấp HT,
thay đổi các tham số hoạt động của HT.
(2014) SHS (LotteHPT) nghẽn cổ chai khi giao dịch,
hệ thống đặt lệnh “đơ”, khách hàng phàn nàn, bức xúc.
Bị nhiều lần, trong thời gian dài, mà không khắc phục
được triệt để.
(2014) VNDirect (FSS) bị lỗi đẩy nhầm lệnh lên Sở
HNX, hơn 20k lệnh trong 1 phút. Phải khắc phục hậu
quả rất nặng nề, thiệt hại hàng chục tỷ đồng.
KIẾN TRÚC HỆ THỐNG
CORE CHỨNG KHOÁN
AGENDA
1.Overview về kiến trúc
2.Overview về TTCK
3.Lịch sử phát triển Core CK tại VN & các vấn đề
4.Kiến trúc hệ thống Core chứng khoán
5.Các giải pháp kỹ thuật & case study
Kiến trúc tổng thể Core chứng khoán
5 hướng tiếp cận:
BA – Business
PA – Performance or Non-Function requirements
DA - Data
AA - Application
TA - Technology
Kiến trúc tổng thể Core chứng khoán
SA
Non-functional requirements
Phân tích thị trường CK
Cấu trúc nghiệp vụ
Yêu cầu nghiệp vụ
Kiến trúc, định nghĩa dữ liệu
Cấu trúc chức năng, ứng dụng
Công nghệ, Software Stack,
Lược đồ Software, Network & Hardware
PA
Kiến trúc năng lực
BA
Kiến trúc nghiệp vụ
DA
Kiến trúc dữ liệu
AA
Kiến trúc ứng dụng
TA
Kiến trúc công nghệ
Kiến trúc nghiệp vụ
Application (window form)
Web (thick/thin)
Stock info Mng.
Securities Deposit &
Withdraw
Rights basic Info Mng.
Rights
execution/Correction
Inquiries/Reports
Market Data
Stock Price Data
Tick Data
Other data
Buying/Selling Order
Order Correction/Cancel
Odd lot Order
PT Order
Conditional Order
Deals Correction
Order & Match List Inquiry
Inquiries/Reports
Buying/Selling Settlement
Put-thru/Bond Settlement
Date Mng.
Settlement Cash Transfer to
Bank
Commission Grade /ratio
Mng.
Inquiries/Reports
Open/Close Account
Customer/Account info.
Signature/Password Mng.
Fault Mng.
Variable List Check
Account History
Account Balance
Cash deposit/withdrawal
Bank information Mng.
Transfer
Interest on deposit
Bank Connection
Stock basket, limit policy
Stock evaluation
Interest/Fee Mng.
Pay in advance/Repayment
Loan/Repayment
Margin/Loan info Mng.
Inquiries/Reports
Basic Information Mng.
Common policy
Authentication
Authorisation
Inquiries/Reports
Person in Charge
Registration
Account activities/status
Broker performance report
Branch performance report
Agency performance report
FRONTAccount Cash Data
OrderSettlement Finance Service
Securities and Custody Remiser Common
BACK
Gateway to Exchanges
SMS Gateway
Call center
Bank
External Institutions
(Securities Depository)
VSD Gateway
Accounting
Mobile (web /app)
Front và Back office
Front
Office
Back
OfficeThời gian thực
Số dư tài khoản Tiền, Giao dịch Tiền
Dữ liệu thị trường, giá CK
Thời gian thực
Thông tin KH, hợp đồng, ủy quyền
Số dư CK, GDCK
Số dư Tiền, GD Tiền (Thanh toán, biên nhận, nộp, rút, chuyển khoản, cổ tức...)
Chính sách dịch vụ (Ký quỹ, Hạn mức, Giao dịch)
BOD (Ngày 1 lần, đầu ngày)
TT Khách hàng, tài khoản, ủy quyền
Thông tin CTCK, môi giới
Số dư tài khoản CK của KH
Số dư tài khoản Tiền của KH
Chính sách dịch vụ (Ký quỹ, Hạn mức, Giao dịch)
EOD (Ngày 1 lần, cuối ngày)
Lệnh, KQGD
Dữ liệu thị trường, giá CK
Kiến trúc tổng thể Core chứng khoán
SA
Non-functional requirements
Phân tích thị trường CK
Cấu trúc nghiệp vụ
Yêu cầu nghiệp vụ
Kiến trúc, định nghĩa dữ liệu
Cấu trúc chức năng, ứng dụng
Công nghệ, Software Stack,
Lược đồ Software, Network & Hardware
PA
Kiến trúc năng lực
BA
Kiến trúc nghiệp vụ
DA
Kiến trúc dữ liệu
AA
Kiến trúc ứng dụng
TA
Kiến trúc công nghệ
Performance Architecture – Market Analysis
43
Year4 GDP ($bil) % Market Cap/GDP Market Cap ($bil)
2014 171.22 32% 54.79
2022 468.04 (based on
GRavg)
70% (government’s report) 327.6
 Market Cap increases 5.97 times (327.6/ 54.79) ~ 6 times
Giả sử mức tăng GPD trung bình = GRavg đạt được 14.07% (rất cao)
Performance Architecture - Account Number Analysis
44
Account number analysis
Current 1.5 mil accounts in VN.
10 top BRs take 65% market share --> let assume
take 65% account number ~ 1mil
Each BR in top10 take 100k accounts on average
Average (top 10 market share) - both retail &
institutional customers
Order number per day 2-10k, peak may be 30k
No of transactions per day 100k – 500k altogether
No of order transactions per day 10-50k, peak may be 100k
Nếu thị trường phái sinh hoạt động mạnh
45
• Tỷ lệ giao dịch phái sinh chiếm 1 tỷ trọng cao trong tổng khối lượng
giao dịch
• Tỷ lệ thanh khoản của derivatives / cash tùy thuộc thị trường CK mỗi
nước, có những nước tính bằng lần
• Đặc biệt tại TTCK Mỹ, khối lượng giao dịch phái sinh chiếm ~ 95%,
khối lượng giao dịch “thực” chiếm ~5%
• Thực tế trên 1 số thị trường khác VD Vàng, FX, tỷ lệ trading của
phái sinh rất cao
Performance Architecture - System targets
46
Loại hình Mục Hiện tại (1CTCK) Mục tiêu 2022 (1CTCK, 6 lần)
Reliability / MTBF 45,000 hours (5
years)
100,000 hours (12 years)
Availability Operating ratio 99.999% (five nine)
Serviceability MTTR ~ 1 hour
(100,000/99,999)
RTO N/A None (auto fail-over & fallback)
RPO N/A None (auto fail-over & fallback)
Integrity Data Collision Yes No
Market Cap tăng ~ 6 lần đến 2022, nếu tính cả thị trường phái sinh có thể sẽ nhiều
hơn (~ vài chục lần). Sẽ thảo luận thêm trong phần giải pháp kỹ thuật.
Performance Architecture - System targets – Additional Explanation
47
Performance Architecture - System targets
48
Phân loại Mục Chỉ tiêu Hiện tại
(1CTCK)
Mục tiêu (1CTCK) 2022 (6
times)
Mục tiêu (tính cả Phái
sinh, 1CTCK) 2022 (60
times)
Hiệu năng Khối lượng
giao dịch
Chỉ giao dịch Trading 10,000 60,000 order requests 600,000 order requests
Tất cả giao dịch (trading +
truy vấn + nộp rút tiền...)
1 triệu 6 triệu 60 triệu
Số giao dịch
đồng thời
Chỉ giao dịch trading 1,000 6,000 60,000
Tất cả giao dịch (trading +
truy vấn + nộp rút tiền...)
10,000 60,000 600,000
Dữ liệu thị
trường
Số lượng Mã chứng khoán 660 1,000 1,000
Số lượng tài khoản 100,000 600,000 6,000,000 (scaled)
Độ trễ Order response time (tính cả
độ trễ đường truyền)
100ms-1s 50-100 millisecond 50-100 millisecond
Order response time (Chỉ
Gateway)
30ms-500ms 10-20 millisecond 10-20 millisecond
Data distribution time 100ms-1s 10-100 millisecond 10-100 millisecond
Băng thông Số lệnh / giây 100 600 6,000 (scaled)
Số giao dịch / giây 1,000 6,000 60,000 (scaled)
Kiến trúc tổng thể Core chứng khoán
PA
Kiến trúc năng lực
BA
Kiến trúc nghiệp vụ
DA
Kiến trúc dữ liệu
AA
Kiến trúc ứng dụng
TA
Kiến trúc công nghệ
S
A
Non-functional requirements
Phân tích thị trường CK
Cấu trúc nghiệp vụ
Yêu cầu nghiệp vụ
Kiến trúc, định nghĩa dữ liệu
Cấu trúc chức năng, ứng dụng
Công nghệ, Software Stack,
Lược đồ Software, Network & Hardware
DA: Kiến trúc dữ liệu
Quản lý giao dịch và số dư tiền
-Số dư tiền
-Giao dịch tiền
Quản lý Khách
hàng
Kênh giao dịch
- Tại sàn
- Web
- Mobile
- Desktop
- Call center, SMS
Quản lý giao dịch đặt lệnh
- Lệnh thường
- Lệnh margin
- Quản lý DM
- Lệnh nâng cao
Tham số chung
-Chính sách margin
-Chính sách hạn mức
-Chính sách GD
.......
Core Back
- Thanh toán bù trừ
- Thực hiện quyền
- QL CK
- QL Tiền
- Báo cáo
Kết nối HT khác
-Gateway
-Interface
Quản lý TT Thị trường
- Thị trường
- Giá CK
Common
Market DBCust DB
CRM
-CRM
-Sales force mngt
Báo cáo
-Báo cáo
-Hỗ trợ ra quyết định
Quản lý CTCK và
Môi giới
-CTCK
-Môi giới
Cash DB
BF DB
Trade DB
Kế toán
- GL
- Management
Quản lý giao dịch và số dư CK
-Số dư CK
-GD CK
Securities
DB
Back DB
Kiến trúc tổng thể Core chứng khoán
PA
Kiến trúc năng lực
BA
Kiến trúc nghiệp vụ
DA
Kiến trúc dữ liệu
AA
Kiến trúc ứng dụng
TA
Kiến trúc công nghệ
S
A
Non-functional requirements
Phân tích thị trường CK
Cấu trúc nghiệp vụ
Yêu cầu nghiệp vụ
Kiến trúc, định nghĩa dữ liệu
Cấu trúc chức năng, ứng dụng
Công nghệ, Software Stack,
Lược đồ Software, Network & Hardware
Kiến trúc ứng dụng – mô hình logic
Data Feed Gateway
Exchange Gateway
Back Office System
View (HTML5)
Controller (JS framework)
Front End Services Layer (JS
framework)
Restful + Websocket Resource
Layer
Business Layer
Main
Databases
Browser/Mobile
Browser
Rest Services call
JSON compressed
Data
JDBC
Exchange System
Trading Module
Trading Gateway
Receiving Module
BOD Data
Real-time Data
EOD Data
Client Presentation Business Data Access Database
Data Access
Real-time Data Gateway
(TCP/IP, FIX, REST, SOAP)
Data Feed System
Bloombergs
Broadcast gateway (UDP) UDP
Data Sync
JPA
Common Services ( Configuration, Logging, Security, Audit, Email, SMS, Scheduling)
Broadcast Module
Reuters
Domestic Data Vendors
Periodical Data Gateway
(REST, SOAP)
File Gateway (Secured
FTP)
JPA
Cache
Cache for Biz Layer
Cache for DataFeed
Cache Client protocol
BO Gateway
MQ gateway
SFTP/SCP gateway
Cache Replicate protocol
Cache Client protocol
Data Feed
Databases
File Server
For Data
Feed
SCP / SFTP
Gateway & IF External Systems
JDBC
File Server
For BO
SCP/SFTP
Cache Replicate protocol
Cache Client protocol
VM or TCP
MQ
OMS/EMS
(Active/Standby)
Execution
Receiv
eMQ
Sendin
gMQ
TCP
Order Processing TCP VM
VM Trading Gateway
Sending Module
TCP/IP
TCP/IP
2.1
2.2
2.32.4
2.5
2.6
3.13.2
3.3b
3.3a
3.4a
3.4b
3.5b
1.1
1.2
1.3
1.4 1.5 1.6
1.7
MQ
VM or TCP
4.1
4.24.3
4.5
SCP/SFTPSCP/SFTP
File Server
FO-BO IF
5.1
5.2
5.4
5.5
5.6
Variable Protocols
(TCP/IP, FIX, REST,
SOAP or SFTP)
Kiến trúc tổng thể Core chứng khoán
PA
Kiến trúc năng lực
BA
Kiến trúc nghiệp vụ
DA
Kiến trúc dữ liệu
AA
Kiến trúc ứng dụng
TA
Kiến trúc công nghệ
S
A
Non-functional requirements
Phân tích thị trường CK
Cấu trúc nghiệp vụ
Yêu cầu nghiệp vụ
Kiến trúc, định nghĩa dữ liệu
Cấu trúc chức năng, ứng dụng
Công nghệ, Software Stack,
Lược đồ Software, Network & Hardware
TA – Mô hình triển khai cài đặt
Application Server
Red Hat Enterprise Linux 7.1
VM or Physical Machine
Oracle JDK 8
Hibernate 4EJB 3.2
Angular JS
WildflyApplication Server 9.0.1.Final
Twitter
bootstrap, CSS 3
JQuery
DRBD
Internal Load Balancing Server
Red Hat Enterprise Linux 7.1
VM or Physical Machine
nginx 1.9.3
Cache
Red Hat Enterprise Linux 7.1
VM or Physical Machine
Infinispan
DRBD
Oracle JDK 8
log4J
Database Server
Red Hat Enterprise Linux 7.1
VM or Physical Machine
MySQL 5.7.7
DRBD
Internal Gateway
Red Hat Enterprise Linux 7.1
VM or Physical Machine
ActiveMQ/ ZeroMQ
DRBD
Oracle JDK 8
log4J
Datafeed
Red Hat Enterprise Linux 7.1
VM or Physical Machine
ActiveMQ/ ZeroMQ
DRBD
Oracle JDK 8
log4J
Hibernate 4EJB 3.2
Infinispan SFTP(OpenSSH)
Exchange Gateway
Red Hat Enterprise Linux 7.1
VM or Physical Machine
ActiveMQ/ ZeroMQ
DRBD
Oracle JDK 8
log4J
FIXEngine
RESTeasyWebSocket (JavaEE)
TA – Sơ đồ máy chủ thực tế
Investors
HTTPS HTTP
VRRP HTTP
Back GW
Replication
ExternalGW
standby
ExternalGW
active
Synchronizer StandbySynchronizer Active
Back
Exchanges
Data Vendors
Datafeed standbyDatafeed active
jGroup
TCP
jGroup
TCP
SFTP
TCP(MQ)
Auto-t
FIX
HOSE
HNX
CORE SYSTEM HT BÊN NGOÀI
OMS active
DB master
Load Balancer active
Cache active
Load Balancer standby Cache active
OMS standby
App server active
DB slave
App server active
Data Vendors
TA – Load balancing
TA – Load balancing
Sử dụng 2 loại request từ client: RESTful, Websocket
HTTPS RESTful để lấy truy vấn thông tin tài khoản, giá chứng khoán ban
đầu, đặt lệnh...
Websocket để update giá chứng khoán, update trạng thái lệnh trong phiên
giao dịch...
HTTP/S là giao thức stateless nhưng Websocket là statefull, do
vậy phải chia việc quản lý connection ra làm 2 đối với load
balancing.
Cổng 80 cho websocket WS
Cổng 443 cho HTTPS
Load Balancer phân phối request đến các application server
dựa vào tên miền.
TA – Load balancing
Nginx: Load balancing + fault tolerance cho web server
Tốc độ và hiệu năng
Nhẹ
Ổn định, tin cậy
Dễ dàng cấu hình
Cộng đồng sử dụng
LVS – Linux Virtual Server
KeepAlived
Cấu hình
Quản lý connection theo domain
Đảm bảo performance cho websocket bằng việc nén dữ liệu
Multi-tenancy: nhiều công ty, nhiều chi nhánh. Dịch vụ theo tên miền. SSL
accelerator.
# Tên công ty Chức năng Tên miền Cổng LB Cổng ứng dụng
1 AAA RESTful AAA.tenmien.com 443 8080
2 BBB RESTful BBB.tenmien.com 443 8081
3 Common WebSocket Websocket.tenmien.com 80 9080
TA – Mô hình Load Balancing
KeepAlived
KeepAlived
NGINX
NGINX
Virtual IP Heart Beet
JBOSS
JBOSS
Request
Request
Status Check
Status Check
LB1 Active
LB2 Standby
App Server 1 Active
App Server 2 Active
Websocket
RESTful
TA – Load Balancing – kết nối
App Server 2
Websocket:1234Web: 8888
App Server 1
Websocket:1234Web: 8888
LoadBalancer
App - Mobile - Web
HTTPS:443
ctck.tenmien.com:443
To App Server 1 :8888
websocket.tenmien.com:80
To App Server 2 :8888
To Application Server#1 :1234
To Application Server#2 :1234
WS:80
TA – Database
TA – Database
MySQL là sự lựa
chọn tốt vì free, đủ
mạnh
Oracle đắt hơn, là
sự lựa chọn tối ưu
hơn về tốc độ, hiệu
năng, dành cho các
CTCK có tiền
Scale-out
HA
Clustering
Replication
TA – Mô hình Database
TA – MySQL Master-Slave Replication
TA – Database – đồng bộ dữ liệu
MySQL replicate dữ liệu từ master server sang slave server. Có 2 phương thức:
PT bán đồng bộ chậm hơn nhưng đảm bảo được dữ liệu được nhất quán
Việc copy dữ liệu được MySQL thực hiện bằng cách copy binary log file từ
master sang slave server.
# Phương thức Mô tả
1 Asynchronous – Bất
đồng bộ
Khi application update dữ liệu vào master
server, Mysql gửi phản hồi về Application mà
không cần đợi dữ liệu được “replicate” sang
slave server.
2 Semi-synchronous –
Bán đồng bộ
Khi application update dữ liệu vào master
server, Mysql gửi phản hồi về Application sau
khi đợi dữ liệu được “replicate” sang slave
server.
TA – Mô hình Database – bán đồng bộ
TA – Database – HA
Sử dụng LVS, KeepAlived, VIP
Các server thật sẽ sử dụng chung một IP ảo, sau đó
dùng KeepAlived để quản lý
Tại một thời điểm KeepAlived sẽ kiểm tra xem là cái
IP ảo đang trỏ tới máy vật lý nào. Nếu connection OK
thì giữ kết nối đó, nếu không thì release và trỏ sang
con khác.
TA – Mô hình Database – HA
TA – Mô hình Database – MHA
Master
Write
VIP
Read
LVS
Application
Slave Slave
TA – Mô hình Database – MHA
Old Master
Write
Replicate
VIP
Read
LVS
Application
New Master Slave
VIP
TA – Caching
TA – Caching
Các công nghệ khác:
Couchbase, MongoDB, Redis, Memcached, Ehcached...
Lựa chọn Redhat Infinispan, các chức năng
• Transactions
• Persistence
• Map/Reduce
• Querying
Infinispan – Core Architecture
•
Remote App 1 (C++) Remote App 2 (Java) Remote App 3 (.NET)
Network (TCP)
Node (JVM)
MemCached, HotRod, REST,
WebSocket (*)
Embedded App (Java)
Transport (JGroups)
Notification
Transactions / XA
Query
Map / Reduce
Monitoring
Storage Engine
(RAM +
Overflow)
Node (JVM)
MemCached, HotRod, REST,
WebSocket (*)
Embedded App (Java)
Transport (JGroups)
Notification
Transactions / XA
Query
Map / Reduce
Monitoring
Storage Engine
(RAM +
Overflow)
TCP/UDP
TA – Cache – Server Model
Architecture: Clustered Lib
Use as library
– More feature
– Richer APIs
– Programmatic/declarative
configuration
– Extendable/embeddable
– Faster (API call)
– App doesn’t know it’s on
cluster
Library Mode
Cluster
Infinispan
JVM
App
Infinispan
JVM
App
Infinispan
JVM
App
Architecture: Server
Use as server
– Remote
• Memcached,
REST, Hot Rod,
WebSocket
– Data tier shared by
multiple apps
– App doesn’t affect
cluster
– Non-java clients
• Java, C++,.NET,
Ruby, Python
Server Mode
Cluster
Infinispan
JVM
Infinispan
JVM
Infinispan
JVM
App
App
App
TA – Cache Listener / Notifications
TA – Cache - Mode đọc, ghi dữ liệu
Replicated mode: tất cả dữ liệu được replicated qua tất cả các
server. Đọc dữ liệu nhanh hơn, ghi lâu hơn Distributed mode.
Distributed mode: dữ liệu được không replicated qua tất cả
server. Đọc dữ liệu lâu hơn, ghi nhanh hơn.
Mô hình phân tán
Write (Key, Value)
Node 2Node 1 Node 4
Read (Key, Value)
Node 3
Mô hình nhân bản
Write (Key, Value)
Node 2Node 1 Node 4
Read (Key, Value)
Node 3
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
Value
Data Item
Key
TA – Cache Clustering
Tất cả các server liên quan đến việc trao đổi dữ liệu được đưa
vào trong 1 cluster. Sử dụng multicast network để đồng bộ dữ liệu
giữa các server trong cluster.
Các server gồm có:
Application servers
OMS servers
Cache servers
Datafeed Servers
Internal GW servers
External GW servers
Cache HA: Cluster đa node
CLUSTER
K1
K1
K2K2
K3
K3
K4
K4
K5
K5
CLUSTER
K1
K1
K2K2
K3
K3
K4
K4
K5
K5
TA – Cache Configuration
Multicast
Replication
DatafeedOMS
Cache
App servers
Gateways
Synchronizer
Cache server with only
cache function
jGroup jGroup jGroup
jGroup
jGroup
jGroup
jGroup
jGroup
Net Area 1 Net Area 2
Net Cluster (jGroup protocol)
Multicast
Routing
DatafeedOMS
Cache
App servers
Gateways
Synchronizer
TA – Cache Dataflow
Đường đi của dữ liệu “có vấn đề” ??!  Quá “loằng ngoằng”, không nhanh, không tin cậy
OMS Gateway
Application
Cache
App Server
Database
Desktop
Mobile
Web
Order
1.Write cache
Application
Cache
2.Replication
Cache Listener
3.Notification
Order Handler
4.Write Cache
Cache5.Replication
Application
Cache Listener
Message Handler
6.Notification
7.MQOrder API
Cache Listener
TA – Cache Dataflow
Trong lược đồ này, đường đi của dữ liệu ngắn, nhanh hơn, tin cậy hơn
OMS Gateway
Application
Cache
App Server
Database
Desktop
Mobile
Web
Order
1.Write cache
Application
Cache2.Replication
Cache Listener
3.Notification
Order Handler
4.Write Cache
Application
Message Handler 5.MQOrder API
Cache Listener
TA – Message
TA – Message
JMS, Message Queue
Truyền thông bất đồng bộ (Async Comm)
Đối tượng tham gia: GW của back và front, GW kết nối Sở GD
Failover Handler
Master GW
Slave GW
Failover Master-IP -> Slave-IP
Message Queue
Application
Cache
Message Queue
Application
Cache
Back GW
Message
Active OMS
Active OMS
Application
Cache
Application
Cache
Replicate
Replicate
TA – MQ HA
Failover Handler
Master Front GW
Slave Slave GW
Failover Master-IP -> Slave-IP
Message Adapter
Back GW
Message
Persistent
&
Exclusive lockreplication
JDBC
JDBC
Message Adapter
Message
Master DB
Slave DB
Các giải pháp kỹ thuật
& Case Study
AGENDA
1.Overview về kiến trúc
2.Overview về TTCK
3.Lịch sử phát triển Core CK tại VN & các vấn đề
4.Kiến trúc hệ thống Core chứng khoán
5.Các giải pháp kỹ thuật & case study
Tổng hợp các vấn đề kỹ thuật khi xây dựng
Core chứng khoán
HA:
Fail-over, fall back
Load balancing
Scalability
Performance & throughput (response time, speed, concurrent
trans, payload...), cân bằng giữa tốc độ và an toàn an ninh thông tin
Trao đổi message real-time
Nhiều đơn vị kết nối, Multi-tenancy
Truy cập DB sử dụng ORM hay không
Java: EJB hay Spring?
Entity ? Conversion? DTO ?
Multi-cast?
Which memory techniques are used?
Cache?
Message queue / JMS?
Kết luận
Đã mô tả về TTCK, các đối tượng tham gia, vai trò của Core
đối với 1 trong những đối tượng quan trọng nhất – CTCK
Kiến trúc sơ bộ của 1 Core system. Phương pháp tiếp cận
khi xây dựng kiến trúc đó. Các công việc cần thực hiện khi
thực hiện kiến trúc – lựa chọn công nghệ, design (overview,
data, app, hardware...)
Các vấn đề của TTCK VN và các core system hiện tại. Các
vấn đề kỹ thuật đặt ra khi thực hiện 1 kiến trúc. (kiến trúc
khác có thể gặp các vấn đề khác)
Biz quyết định tất cả
Không có kiến trúc tốt mãi, chỉ có KT phù hợp với chiến
lược kinh doanh của DN trong 1 giai đoạn nhất định mà thôi.
Các phương diện khác cần xem xét: Budget, Non-functional
target, Stakeholders, Market/Marco Economy, Customers
 Slides trình bày Case Study +
Thảo luận (bởi Mr Vũ Việt Anh)
Thảm khảo thêm : http://bit.ly/itlchn-stockcore-event

Weitere ähnliche Inhalte

Was ist angesagt?

Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture IT Expert Club
 
Toi uu hoa he thong 30 trieu nguoi dung
Toi uu hoa he thong 30 trieu nguoi dungToi uu hoa he thong 30 trieu nguoi dung
Toi uu hoa he thong 30 trieu nguoi dungIT Expert Club
 
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...Hoa Le
 
Thiết kế hệ thống E-Commerce yêu cầu mở rộng
Thiết kế hệ thống E-Commerce yêu cầu mở rộngThiết kế hệ thống E-Commerce yêu cầu mở rộng
Thiết kế hệ thống E-Commerce yêu cầu mở rộngNguyen Minh Quang
 
Grokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous CommunicationsGrokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous CommunicationsGrokking VN
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking VN
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...Grokking VN
 
Do an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu BienDo an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu Biennhbien
 
Software architecture for high traffic website
Software architecture for high traffic websiteSoftware architecture for high traffic website
Software architecture for high traffic websiteTung Nguyen Thanh
 
Giải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkGiải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkLinh Ngoc
 
Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn...
Hệ thống phân tích tình trạng giao thông:  Ứng dụng công cụ xử lý dữ liệu lớn...Hệ thống phân tích tình trạng giao thông:  Ứng dụng công cụ xử lý dữ liệu lớn...
Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn...Viet-Trung TRAN
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmNguyễn Anh
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)realpotter
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
hệ quản trị cơ sỡ dữ liệu bán vé xem phim
hệ quản trị cơ sỡ dữ liệu bán vé xem phimhệ quản trị cơ sỡ dữ liệu bán vé xem phim
hệ quản trị cơ sỡ dữ liệu bán vé xem phimthuhuynhphonegap
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudTue Nguyen Dinh
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLDang Tuan
 

Was ist angesagt? (20)

Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
 
Toi uu hoa he thong 30 trieu nguoi dung
Toi uu hoa he thong 30 trieu nguoi dungToi uu hoa he thong 30 trieu nguoi dung
Toi uu hoa he thong 30 trieu nguoi dung
 
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
 
Thiết kế hệ thống E-Commerce yêu cầu mở rộng
Thiết kế hệ thống E-Commerce yêu cầu mở rộngThiết kế hệ thống E-Commerce yêu cầu mở rộng
Thiết kế hệ thống E-Commerce yêu cầu mở rộng
 
Grokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous CommunicationsGrokking TechTalk #31: Asynchronous Communications
Grokking TechTalk #31: Asynchronous Communications
 
Grokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKIGrokking TechTalk #33: High Concurrency Architecture at TIKI
Grokking TechTalk #33: High Concurrency Architecture at TIKI
 
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 Grokking Techtalk #39: How to build an event driven architecture with Kafka ... Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
 
Do an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu BienDo an tot nghiep _ Nguyen Huu Bien
Do an tot nghiep _ Nguyen Huu Bien
 
Giải ngân hàng Hệ thống nhúng PTIT - thầy Cước
Giải ngân hàng Hệ thống nhúng PTIT - thầy CướcGiải ngân hàng Hệ thống nhúng PTIT - thầy Cước
Giải ngân hàng Hệ thống nhúng PTIT - thầy Cước
 
Software architecture for high traffic website
Software architecture for high traffic websiteSoftware architecture for high traffic website
Software architecture for high traffic website
 
Giải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkGiải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache spark
 
Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn...
Hệ thống phân tích tình trạng giao thông:  Ứng dụng công cụ xử lý dữ liệu lớn...Hệ thống phân tích tình trạng giao thông:  Ứng dụng công cụ xử lý dữ liệu lớn...
Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn...
 
Đồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềmĐồ án kiểm thử phần mềm
Đồ án kiểm thử phần mềm
 
Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)
 
Phát triển hệ thống thương mại điện tử PTIT
Phát triển hệ thống thương mại điện tử PTITPhát triển hệ thống thương mại điện tử PTIT
Phát triển hệ thống thương mại điện tử PTIT
 
Báo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTITBáo cáo Quản lý dự án phần mềm PTIT
Báo cáo Quản lý dự án phần mềm PTIT
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
hệ quản trị cơ sỡ dữ liệu bán vé xem phim
hệ quản trị cơ sỡ dữ liệu bán vé xem phimhệ quản trị cơ sỡ dữ liệu bán vé xem phim
hệ quản trị cơ sỡ dữ liệu bán vé xem phim
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloud
 
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UMLPHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
 

Andere mochten auch

ITEC - Qua trinh phat trien he thong BigData
ITEC - Qua trinh phat trien he thong BigDataITEC - Qua trinh phat trien he thong BigData
ITEC - Qua trinh phat trien he thong BigDataIT Expert Club
 
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGiNghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGiNghia Minh
 
ITLCHN 18 - Automation & DevOps - Automic
ITLCHN 18 -  Automation & DevOps - AutomicITLCHN 18 -  Automation & DevOps - Automic
ITLCHN 18 - Automation & DevOps - AutomicIT Expert Club
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015IT Expert Club
 
IM Group hợp tác Haravan - slide nền tảng tổng thể haravan
IM Group hợp tác Haravan - slide nền tảng tổng thể haravanIM Group hợp tác Haravan - slide nền tảng tổng thể haravan
IM Group hợp tác Haravan - slide nền tảng tổng thể haravanDuc Nguyen Minh
 
Building Bizweb Microservices with Docker
Building Bizweb Microservices with DockerBuilding Bizweb Microservices with Docker
Building Bizweb Microservices with DockerKhôi Nguyễn Minh
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET MicroservicesVMware Tanzu
 
google project glass technology
google project glass technologygoogle project glass technology
google project glass technologymahesh b
 
UX Designer Skills
UX Designer SkillsUX Designer Skills
UX Designer SkillsPhowr Quang
 
High performance web sites with multilevel caching
High performance web sites with multilevel cachingHigh performance web sites with multilevel caching
High performance web sites with multilevel cachingDotnet Open Group
 
Zero to one.PETER THIEL
Zero to one.PETER THIELZero to one.PETER THIEL
Zero to one.PETER THIELSreeja Sarella
 
Cẩm nang kinh doanh tết 2017
Cẩm nang kinh doanh tết 2017Cẩm nang kinh doanh tết 2017
Cẩm nang kinh doanh tết 2017Haravan Official
 
Experience for implement PCI DSS
Experience for implement PCI DSS  Experience for implement PCI DSS
Experience for implement PCI DSS Nhat Phan Canh
 

Andere mochten auch (16)

ITEC - Qua trinh phat trien he thong BigData
ITEC - Qua trinh phat trien he thong BigDataITEC - Qua trinh phat trien he thong BigData
ITEC - Qua trinh phat trien he thong BigData
 
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGiNghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi
Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi
 
ITLCHN 18 - Automation & DevOps - Automic
ITLCHN 18 -  Automation & DevOps - AutomicITLCHN 18 -  Automation & DevOps - Automic
ITLCHN 18 - Automation & DevOps - Automic
 
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
ITLC - Hanoi - NodeJS - ArrowJS - 27-11 - 2015
 
IM Group hợp tác Haravan - slide nền tảng tổng thể haravan
IM Group hợp tác Haravan - slide nền tảng tổng thể haravanIM Group hợp tác Haravan - slide nền tảng tổng thể haravan
IM Group hợp tác Haravan - slide nền tảng tổng thể haravan
 
Graph ql
Graph qlGraph ql
Graph ql
 
Building Bizweb Microservices with Docker
Building Bizweb Microservices with DockerBuilding Bizweb Microservices with Docker
Building Bizweb Microservices with Docker
 
Migrating to aws
Migrating to awsMigrating to aws
Migrating to aws
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
google project glass technology
google project glass technologygoogle project glass technology
google project glass technology
 
UX Designer Skills
UX Designer SkillsUX Designer Skills
UX Designer Skills
 
High performance web sites with multilevel caching
High performance web sites with multilevel cachingHigh performance web sites with multilevel caching
High performance web sites with multilevel caching
 
Zero to one.PETER THIEL
Zero to one.PETER THIELZero to one.PETER THIEL
Zero to one.PETER THIEL
 
Career talk
Career talkCareer talk
Career talk
 
Cẩm nang kinh doanh tết 2017
Cẩm nang kinh doanh tết 2017Cẩm nang kinh doanh tết 2017
Cẩm nang kinh doanh tết 2017
 
Experience for implement PCI DSS
Experience for implement PCI DSS  Experience for implement PCI DSS
Experience for implement PCI DSS
 

Ähnlich wie itlchn 20 - Kien truc he thong chung khoan - Phan 1

Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánActive Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánag.DongNQ
 
Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánActive Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánguest476220
 
Bài thuyết trình hệ thống thông tin quản lý nhóm 1
Bài thuyết trình hệ thống thông tin quản lý nhóm 1Bài thuyết trình hệ thống thông tin quản lý nhóm 1
Bài thuyết trình hệ thống thông tin quản lý nhóm 1Angela Nguyễn
 
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1Hieutanda Nguyen Khac Hieu
 
9.Dd Trieu Fss
9.Dd Trieu Fss9.Dd Trieu Fss
9.Dd Trieu FssHoang Tuan
 
Tư vấn chiến lược IT
Tư vấn chiến lược ITTư vấn chiến lược IT
Tư vấn chiến lược ITPham Ngoc Quang
 
UNIT Corp. - Company Profile - VN
UNIT Corp. - Company Profile - VNUNIT Corp. - Company Profile - VN
UNIT Corp. - Company Profile - VNLam Thai
 
Demo phần mềm kế toán hành chính sự nghiệp.pptx
Demo phần mềm kế toán hành chính sự nghiệp.pptxDemo phần mềm kế toán hành chính sự nghiệp.pptx
Demo phần mềm kế toán hành chính sự nghiệp.pptxbandaotaodtsoft
 
Hồ sơ năng lực công ty Lạc Việt 2021
Hồ sơ năng lực công ty Lạc Việt 2021Hồ sơ năng lực công ty Lạc Việt 2021
Hồ sơ năng lực công ty Lạc Việt 2021Tùng Huỳnh Đức
 
PHẦN MỀM CHỨNG KHOÁN LÕI ICBS
PHẦN MỀM CHỨNG KHOÁN LÕI ICBSPHẦN MỀM CHỨNG KHOÁN LÕI ICBS
PHẦN MỀM CHỨNG KHOÁN LÕI ICBSTrương Hữu Tỉnh
 
Tổng quan về thương mại điện tử
Tổng quan về thương mại điện tửTổng quan về thương mại điện tử
Tổng quan về thương mại điện tửCat Van Khoi
 
Giới Thiệu Fast Accounting 2010
Giới Thiệu Fast Accounting 2010Giới Thiệu Fast Accounting 2010
Giới Thiệu Fast Accounting 2010huytv
 
Fast Accounting 2010 Introduction
Fast Accounting 2010 IntroductionFast Accounting 2010 Introduction
Fast Accounting 2010 IntroductionChu Tài
 
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptx
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptxGiải Pháp Kho Dữ Liệu Bảo Hiểm full.pptx
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptxVDI
 
Luan van tot nghiep quan tri kinh doanh quoc te (17).doc
Luan van tot nghiep quan tri kinh doanh quoc te (17).docLuan van tot nghiep quan tri kinh doanh quoc te (17).doc
Luan van tot nghiep quan tri kinh doanh quoc te (17).docNguyễn Công Huy
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_vanNTPhuong
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_vanNTPhuong
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_vanNTPhuong
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_vanNTPhuong
 
Cam nang chuyen doi so cho cac doanh nghiep
Cam nang chuyen doi so cho cac doanh nghiepCam nang chuyen doi so cho cac doanh nghiep
Cam nang chuyen doi so cho cac doanh nghiepmagicftu
 

Ähnlich wie itlchn 20 - Kien truc he thong chung khoan - Phan 1 (20)

Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánActive Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
 
Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoánActive Group: Tư vấn hệ thống CNTT cho Chứng khoán
Active Group: Tư vấn hệ thống CNTT cho Chứng khoán
 
Bài thuyết trình hệ thống thông tin quản lý nhóm 1
Bài thuyết trình hệ thống thông tin quản lý nhóm 1Bài thuyết trình hệ thống thông tin quản lý nhóm 1
Bài thuyết trình hệ thống thông tin quản lý nhóm 1
 
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1
Trien Khai He Dieu Hanh Doanh Nghiep Bfo Cho Plc Wave V1
 
9.Dd Trieu Fss
9.Dd Trieu Fss9.Dd Trieu Fss
9.Dd Trieu Fss
 
Tư vấn chiến lược IT
Tư vấn chiến lược ITTư vấn chiến lược IT
Tư vấn chiến lược IT
 
UNIT Corp. - Company Profile - VN
UNIT Corp. - Company Profile - VNUNIT Corp. - Company Profile - VN
UNIT Corp. - Company Profile - VN
 
Demo phần mềm kế toán hành chính sự nghiệp.pptx
Demo phần mềm kế toán hành chính sự nghiệp.pptxDemo phần mềm kế toán hành chính sự nghiệp.pptx
Demo phần mềm kế toán hành chính sự nghiệp.pptx
 
Hồ sơ năng lực công ty Lạc Việt 2021
Hồ sơ năng lực công ty Lạc Việt 2021Hồ sơ năng lực công ty Lạc Việt 2021
Hồ sơ năng lực công ty Lạc Việt 2021
 
PHẦN MỀM CHỨNG KHOÁN LÕI ICBS
PHẦN MỀM CHỨNG KHOÁN LÕI ICBSPHẦN MỀM CHỨNG KHOÁN LÕI ICBS
PHẦN MỀM CHỨNG KHOÁN LÕI ICBS
 
Tổng quan về thương mại điện tử
Tổng quan về thương mại điện tửTổng quan về thương mại điện tử
Tổng quan về thương mại điện tử
 
Giới Thiệu Fast Accounting 2010
Giới Thiệu Fast Accounting 2010Giới Thiệu Fast Accounting 2010
Giới Thiệu Fast Accounting 2010
 
Fast Accounting 2010 Introduction
Fast Accounting 2010 IntroductionFast Accounting 2010 Introduction
Fast Accounting 2010 Introduction
 
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptx
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptxGiải Pháp Kho Dữ Liệu Bảo Hiểm full.pptx
Giải Pháp Kho Dữ Liệu Bảo Hiểm full.pptx
 
Luan van tot nghiep quan tri kinh doanh quoc te (17).doc
Luan van tot nghiep quan tri kinh doanh quoc te (17).docLuan van tot nghiep quan tri kinh doanh quoc te (17).doc
Luan van tot nghiep quan tri kinh doanh quoc te (17).doc
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_van
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_van
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_van
 
011 chuong 1_van
011 chuong 1_van011 chuong 1_van
011 chuong 1_van
 
Cam nang chuyen doi so cho cac doanh nghiep
Cam nang chuyen doi so cho cac doanh nghiepCam nang chuyen doi so cho cac doanh nghiep
Cam nang chuyen doi so cho cac doanh nghiep
 

itlchn 20 - Kien truc he thong chung khoan - Phan 1

  • 1. Kiến trúc Hệ thống Core chứng khoán & một số giải pháp về non-functional Trình bày: Nguyễn Nhật Quang Vũ Việt Anh Hà Nội, 05/2015 Hội thảo
  • 2. Slides được soạn thảo dựa trên các tư liệu của đồng nghiệp, các nhà cung cấp phần mềm core chứng khoán và các nhà cung cấp phần mềm khác. Các tài liệu khi công bố đã được chỉnh sửa khác với nguyên bản để tránh tiết lộ bí mật thông tin, nhưng qua người trình bày vẫn truyền tải được các ý tưởng cơ bản. Mục đích công bố tài liệu là để giao lưu, học hỏi cộng đồng người làm nghề CNTT, thu nhận những ý kiến phản biện để khi quay lại hệ thống có thể làm cho nó tốt lên. Tài liệu và trình bày cũng là dịp để cộng đồng CNTT có được khái niệm và hiểu hơn về hệ thống chứng khoán, giao dịch trên thị trường chứng khoán, từ đó có được sự tương tác tốt hơn đối với anh em đang làm trong lĩnh vực này. Lời ngỏ
  • 4. Vũ Việt Anh Tốt nghiệp đại học Bách khoa Paris, đại học viễn thông quốc gia Pháp Thạc sỹ đại học Columbia (New York city) Kinh nghiệm: Làm việc tại Tervela Inc (NYC). Tervela là một trong những nhà tiên phong về middleware tại Wallstreet, là công ty đầu tiên đưa giải pháp messaging dựa trên hardware Sáng lập OCTech Stock Exchange Gateway, Order Routing System – C, C++, ZeroMQ, Oracle, PostgresDB
  • 5. Nguyễn Nhật Quang Bách khoa Hà Nội, Điện tử Viễn thông + Đại học Quốc gia HN, CNTT Các công ty đã làm việc: CDiT, VTN, Hanoi Telecom, CBOSS, SHS, FPT Kinh nghiệm: Hệ thống Telecom Billing (VNPT, VTN) – C, C++, STL, Lua, Delphi, Oracle Hệ thống Mobile Tracking System (BCA) – C, C++, Oracle Hệ thống Core chứng khoán (iBroker, eSMS, Miroku) – C#, C++, Java, Oracle, MSSQL, MySQL, ProC, WildFly, Spring, ActiveMQ, Infinispan, Nginx, Crystal Report, iReport. Stock Exchange Gateway (C++, C#, MSSQL, MSMQ)
  • 6. AGENDA 1. Overview về kiến trúc 2. Overview về TTCK 3. Lịch sử phát triển Core CK tại VN & các vấn đề 4. Kiến trúc hệ thống Core chứng khoán 5. Các giải pháp kỹ thuật & case study
  • 7. KIẾN TRÚC LÀ GÌ? AGENDA 1.Overview về kiến trúc 2.Overview về TTCK 3.Lịch sử phát triển Core CK tại VN & các vấn đề 4.Kiến trúc hệ thống Core chứng khoán 5.Các giải pháp kỹ thuật & case study
  • 9. Kiến trúc công trình lớn, đặc chế, sáng chế
  • 10. Tại sao cần kiến trúc?
  • 11. Sáng tạo và tái sử dụng DO NOT REINVENT THE WHEELS
  • 12. Kết luận phần 1 1. Khái niệm về kiến trúc 2. Vai trò thiết yếu của nó trong việc xây dựng bất cứ 1 thứ gì – bao gồm phần mềm, đặc biệt là các phần mềm lớn, phức tạp, nhiều yêu cầu khắt khe
  • 13. OVERVIEW VỀ THỊ TRƯỜNG CHỨNG KHOÁN AGENDA 1.Overview về kiến trúc 2.Overview về TTCK 3.Lịch sử phát triển Core CK tại VN & các vấn đề 4.Kiến trúc hệ thống Core chứng khoán 5.Các giải pháp kỹ thuật & case study
  • 15. Sở GDCK – Stock Exchange
  • 16. Sở GDCK – Nơi trao đổi mua bán CK
  • 17. Bảng giá / bảng điện chứng khoán
  • 18. Khớp lệnh thông qua Sở GDCK
  • 19. Core chứng khoán trong các mối tương quan Front Office Back Office Khách hàng Ngân hàng Ngân hàng Thanh toán Trung tâm Lưu ký CK Sở GDCKSở GDCK
  • 20. Nội dung trao đổi dữ liệu Công ty Chứng khoán Kênh khác Sở GDCK Ngân hàng Thanh toán (BIDV) Trung tâm Lưu ký Ngân hàng Web , Mobile KH Lệnh Lệnh Lệnh Lệnh Xác nhận số dư và giao dịch CK Xác nhận thanh toán KQ Lệnh Chuyển tiền Chuyển tiền Lệnh thanh toán KQ Lệnh So khớp, đối soát Mở TK, thay đổi thông tin, yêu cầu GD
  • 21. Thời gian trao đổi dữ liệu Công ty Chứng khoán Kênh khác Sở GDCK Ngân hàng Thanh toán (BIDV) Trung tâm Lưu ký CK Ngân hàng 9:00-14:45 Web , Mobile Mọi lúc 9:00-14:45 9:00-14:45 Ngày 1 lần Ngày 1 lần 15:30 Ngày 1 lần Ngày 1 lần 9:00-14:45 Ngày 1 lần Ngày 1 lần Ngày 1 lần KH
  • 22. LỊCH SỬ PHÁT TRIỂN CORE CK TẠI VN & CÁC VẤN ĐỀ AGENDA 1.Overview về kiến trúc 2.Overview về TTCK 3.Lịch sử phát triển Core CK tại VN & các vấn đề 4.Kiến trúc hệ thống Core chứng khoán 5.Các giải pháp kỹ thuật & case study
  • 23. Các NCC Core chứng khoán tại VN CORE NỘI FPT.BOSC (FPT) – chiếm lĩnh thị trường trong giai đoạn đầu FPT.Index FPT.UTS: từ 2009, thay thế cho Index @Direct (FSS) VSSD.SBS – 15 CTCK, từ 2007, triển khai cho SHS,BSC, Thống Nhất MegaStock (RPSoft) – VTS, Click & Phone, WSS Stock24 (TLS/MBS) KLS Navisoft – eBroker, eTrading (ABS, Tân Việt) GoLine HT2D – SMS, iTrading, Rabbit Trade FSS - Flex
  • 24. Core chứng khoán tại VN CORE NGOẠI FreeWill Lotte – HPT (Tong Yang – HPT) AFE (Hongkong) TTL (Hongkong) Syscom (Taiwan): PNS CMS-Nova/TAW (Australia + India) 3i-Infotech (India) Okasan & Goline V-GAIA (hợp tác Nhật Việt): MHBS Formis BASS EBOS/EBETS (Malysia): ABS Miroku (NRI – FPT, phái sinh)
  • 25. Thị trường Chứng khoán Việt Nam CÁC PHẦN MỀM khác CORE Gateway: OCTech (Gateway, ORS) Stockbiz Kế toán: Bravo Oracle Web, datafeed, dịch vụ dữ liệu Vietstock (web, datafeed) Stox/StoxPlus CafeF, Cophieu68, iStock.vn... BANK Connection CÁC HỆ THỐNG PHẦN MỀM CỦA CÁC CƠ QUAN QUẢN LÝ Hệ thống của Sở HNX Hệ thống của Sở HOSE Hệ thống VSD FIS, FSS, Navisoft
  • 26. Kiến trúc ứng dụng 1 phần mềm Core hiện tại
  • 27. Một số giao diện Trading
  • 28. Một số giao diện Trading
  • 29. Một số giao diện Trading
  • 30. Thị trường chứng khoán VN PHƯƠNG THỨC ĐẶT LỆNH và QUẢN LÝ DANH MỤC Thời gian đầu: Quản lý lệnh = Excel, Đại diện sàn, đặt lệnh bằng gọi điện... “Thông sàn”, kết nối CTCK – Sở bằng phần mềm, bỏ đại diện sàn. Tự động cập nhật kết quả GD. Nhận lệnh tự động, giao dịch online qua Internet, mobile SẢN PHẨM, DỊCH VỤ: Lệnh thông thường, chuyển tiền thủ công Giao dịch ký quỹ, chuyển tiền online, thanh toán T+3 Giao dịch phái sinh Bán khống, giao dịch trong ngày, thanh toán T+2, T+0
  • 31.
  • 32. Thực trạng & Các vấn đề
  • 33. Kiến trúc chắp vá, dị dạng, hoặc không có KT
  • 34. Thực trạng Số lượng các CTCK: gần 100 CTCK, giờ rút xuống còn 71 CTCK đang hoạt động (theo danh sách thành viên hnx.vn ngày 3/5/2016)  quá đông, quá nguy hiểm Thị trường còn tồn tại nhiều đặc điểm cũ: T+3, nhiều khâu giao dịch chưa tự động, giấy tờ thủ tục rườm rà, chưa có nhiều sản phẩm tài chính tốt, KHÔNG MINH BẠCH, bị thao túng, làm giá (đội lái, tay to). Chất lượng hàng hóa chưa cao, vốn hóa thị trường thấp, thanh khoản thấp (ngày 3/5/2016, nguồn cafef.vn)
  • 35. Các vấn đề hiện tại Năng lực thấp (Capacity): số lượng khách hàng cùng lúc cao nhất là vài nghìn, thực tế < 1000. Thời gian để đặt 1 lệnh là chậm (tốc độ thấp): chục lệnh / s Lỗi: đúp lệnh, sai lệnh, bán khống... Nếu thị trường phát triển, volume tăng, dịch vụ mới triển khai  không đáp ứng được.
  • 36. Một số trường hợp sự cố phần mềm Core (2012) HSC (AFE) bị lỗi hệ thống GD do nâng cấp HT, thay đổi các tham số hoạt động của HT. (2014) SHS (LotteHPT) nghẽn cổ chai khi giao dịch, hệ thống đặt lệnh “đơ”, khách hàng phàn nàn, bức xúc. Bị nhiều lần, trong thời gian dài, mà không khắc phục được triệt để. (2014) VNDirect (FSS) bị lỗi đẩy nhầm lệnh lên Sở HNX, hơn 20k lệnh trong 1 phút. Phải khắc phục hậu quả rất nặng nề, thiệt hại hàng chục tỷ đồng.
  • 37. KIẾN TRÚC HỆ THỐNG CORE CHỨNG KHOÁN AGENDA 1.Overview về kiến trúc 2.Overview về TTCK 3.Lịch sử phát triển Core CK tại VN & các vấn đề 4.Kiến trúc hệ thống Core chứng khoán 5.Các giải pháp kỹ thuật & case study
  • 38. Kiến trúc tổng thể Core chứng khoán 5 hướng tiếp cận: BA – Business PA – Performance or Non-Function requirements DA - Data AA - Application TA - Technology
  • 39. Kiến trúc tổng thể Core chứng khoán SA Non-functional requirements Phân tích thị trường CK Cấu trúc nghiệp vụ Yêu cầu nghiệp vụ Kiến trúc, định nghĩa dữ liệu Cấu trúc chức năng, ứng dụng Công nghệ, Software Stack, Lược đồ Software, Network & Hardware PA Kiến trúc năng lực BA Kiến trúc nghiệp vụ DA Kiến trúc dữ liệu AA Kiến trúc ứng dụng TA Kiến trúc công nghệ
  • 40. Kiến trúc nghiệp vụ Application (window form) Web (thick/thin) Stock info Mng. Securities Deposit & Withdraw Rights basic Info Mng. Rights execution/Correction Inquiries/Reports Market Data Stock Price Data Tick Data Other data Buying/Selling Order Order Correction/Cancel Odd lot Order PT Order Conditional Order Deals Correction Order & Match List Inquiry Inquiries/Reports Buying/Selling Settlement Put-thru/Bond Settlement Date Mng. Settlement Cash Transfer to Bank Commission Grade /ratio Mng. Inquiries/Reports Open/Close Account Customer/Account info. Signature/Password Mng. Fault Mng. Variable List Check Account History Account Balance Cash deposit/withdrawal Bank information Mng. Transfer Interest on deposit Bank Connection Stock basket, limit policy Stock evaluation Interest/Fee Mng. Pay in advance/Repayment Loan/Repayment Margin/Loan info Mng. Inquiries/Reports Basic Information Mng. Common policy Authentication Authorisation Inquiries/Reports Person in Charge Registration Account activities/status Broker performance report Branch performance report Agency performance report FRONTAccount Cash Data OrderSettlement Finance Service Securities and Custody Remiser Common BACK Gateway to Exchanges SMS Gateway Call center Bank External Institutions (Securities Depository) VSD Gateway Accounting Mobile (web /app)
  • 41. Front và Back office Front Office Back OfficeThời gian thực Số dư tài khoản Tiền, Giao dịch Tiền Dữ liệu thị trường, giá CK Thời gian thực Thông tin KH, hợp đồng, ủy quyền Số dư CK, GDCK Số dư Tiền, GD Tiền (Thanh toán, biên nhận, nộp, rút, chuyển khoản, cổ tức...) Chính sách dịch vụ (Ký quỹ, Hạn mức, Giao dịch) BOD (Ngày 1 lần, đầu ngày) TT Khách hàng, tài khoản, ủy quyền Thông tin CTCK, môi giới Số dư tài khoản CK của KH Số dư tài khoản Tiền của KH Chính sách dịch vụ (Ký quỹ, Hạn mức, Giao dịch) EOD (Ngày 1 lần, cuối ngày) Lệnh, KQGD Dữ liệu thị trường, giá CK
  • 42. Kiến trúc tổng thể Core chứng khoán SA Non-functional requirements Phân tích thị trường CK Cấu trúc nghiệp vụ Yêu cầu nghiệp vụ Kiến trúc, định nghĩa dữ liệu Cấu trúc chức năng, ứng dụng Công nghệ, Software Stack, Lược đồ Software, Network & Hardware PA Kiến trúc năng lực BA Kiến trúc nghiệp vụ DA Kiến trúc dữ liệu AA Kiến trúc ứng dụng TA Kiến trúc công nghệ
  • 43. Performance Architecture – Market Analysis 43 Year4 GDP ($bil) % Market Cap/GDP Market Cap ($bil) 2014 171.22 32% 54.79 2022 468.04 (based on GRavg) 70% (government’s report) 327.6  Market Cap increases 5.97 times (327.6/ 54.79) ~ 6 times Giả sử mức tăng GPD trung bình = GRavg đạt được 14.07% (rất cao)
  • 44. Performance Architecture - Account Number Analysis 44 Account number analysis Current 1.5 mil accounts in VN. 10 top BRs take 65% market share --> let assume take 65% account number ~ 1mil Each BR in top10 take 100k accounts on average Average (top 10 market share) - both retail & institutional customers Order number per day 2-10k, peak may be 30k No of transactions per day 100k – 500k altogether No of order transactions per day 10-50k, peak may be 100k
  • 45. Nếu thị trường phái sinh hoạt động mạnh 45 • Tỷ lệ giao dịch phái sinh chiếm 1 tỷ trọng cao trong tổng khối lượng giao dịch • Tỷ lệ thanh khoản của derivatives / cash tùy thuộc thị trường CK mỗi nước, có những nước tính bằng lần • Đặc biệt tại TTCK Mỹ, khối lượng giao dịch phái sinh chiếm ~ 95%, khối lượng giao dịch “thực” chiếm ~5% • Thực tế trên 1 số thị trường khác VD Vàng, FX, tỷ lệ trading của phái sinh rất cao
  • 46. Performance Architecture - System targets 46 Loại hình Mục Hiện tại (1CTCK) Mục tiêu 2022 (1CTCK, 6 lần) Reliability / MTBF 45,000 hours (5 years) 100,000 hours (12 years) Availability Operating ratio 99.999% (five nine) Serviceability MTTR ~ 1 hour (100,000/99,999) RTO N/A None (auto fail-over & fallback) RPO N/A None (auto fail-over & fallback) Integrity Data Collision Yes No Market Cap tăng ~ 6 lần đến 2022, nếu tính cả thị trường phái sinh có thể sẽ nhiều hơn (~ vài chục lần). Sẽ thảo luận thêm trong phần giải pháp kỹ thuật.
  • 47. Performance Architecture - System targets – Additional Explanation 47
  • 48. Performance Architecture - System targets 48 Phân loại Mục Chỉ tiêu Hiện tại (1CTCK) Mục tiêu (1CTCK) 2022 (6 times) Mục tiêu (tính cả Phái sinh, 1CTCK) 2022 (60 times) Hiệu năng Khối lượng giao dịch Chỉ giao dịch Trading 10,000 60,000 order requests 600,000 order requests Tất cả giao dịch (trading + truy vấn + nộp rút tiền...) 1 triệu 6 triệu 60 triệu Số giao dịch đồng thời Chỉ giao dịch trading 1,000 6,000 60,000 Tất cả giao dịch (trading + truy vấn + nộp rút tiền...) 10,000 60,000 600,000 Dữ liệu thị trường Số lượng Mã chứng khoán 660 1,000 1,000 Số lượng tài khoản 100,000 600,000 6,000,000 (scaled) Độ trễ Order response time (tính cả độ trễ đường truyền) 100ms-1s 50-100 millisecond 50-100 millisecond Order response time (Chỉ Gateway) 30ms-500ms 10-20 millisecond 10-20 millisecond Data distribution time 100ms-1s 10-100 millisecond 10-100 millisecond Băng thông Số lệnh / giây 100 600 6,000 (scaled) Số giao dịch / giây 1,000 6,000 60,000 (scaled)
  • 49. Kiến trúc tổng thể Core chứng khoán PA Kiến trúc năng lực BA Kiến trúc nghiệp vụ DA Kiến trúc dữ liệu AA Kiến trúc ứng dụng TA Kiến trúc công nghệ S A Non-functional requirements Phân tích thị trường CK Cấu trúc nghiệp vụ Yêu cầu nghiệp vụ Kiến trúc, định nghĩa dữ liệu Cấu trúc chức năng, ứng dụng Công nghệ, Software Stack, Lược đồ Software, Network & Hardware
  • 50. DA: Kiến trúc dữ liệu Quản lý giao dịch và số dư tiền -Số dư tiền -Giao dịch tiền Quản lý Khách hàng Kênh giao dịch - Tại sàn - Web - Mobile - Desktop - Call center, SMS Quản lý giao dịch đặt lệnh - Lệnh thường - Lệnh margin - Quản lý DM - Lệnh nâng cao Tham số chung -Chính sách margin -Chính sách hạn mức -Chính sách GD ....... Core Back - Thanh toán bù trừ - Thực hiện quyền - QL CK - QL Tiền - Báo cáo Kết nối HT khác -Gateway -Interface Quản lý TT Thị trường - Thị trường - Giá CK Common Market DBCust DB CRM -CRM -Sales force mngt Báo cáo -Báo cáo -Hỗ trợ ra quyết định Quản lý CTCK và Môi giới -CTCK -Môi giới Cash DB BF DB Trade DB Kế toán - GL - Management Quản lý giao dịch và số dư CK -Số dư CK -GD CK Securities DB Back DB
  • 51. Kiến trúc tổng thể Core chứng khoán PA Kiến trúc năng lực BA Kiến trúc nghiệp vụ DA Kiến trúc dữ liệu AA Kiến trúc ứng dụng TA Kiến trúc công nghệ S A Non-functional requirements Phân tích thị trường CK Cấu trúc nghiệp vụ Yêu cầu nghiệp vụ Kiến trúc, định nghĩa dữ liệu Cấu trúc chức năng, ứng dụng Công nghệ, Software Stack, Lược đồ Software, Network & Hardware
  • 52. Kiến trúc ứng dụng – mô hình logic Data Feed Gateway Exchange Gateway Back Office System View (HTML5) Controller (JS framework) Front End Services Layer (JS framework) Restful + Websocket Resource Layer Business Layer Main Databases Browser/Mobile Browser Rest Services call JSON compressed Data JDBC Exchange System Trading Module Trading Gateway Receiving Module BOD Data Real-time Data EOD Data Client Presentation Business Data Access Database Data Access Real-time Data Gateway (TCP/IP, FIX, REST, SOAP) Data Feed System Bloombergs Broadcast gateway (UDP) UDP Data Sync JPA Common Services ( Configuration, Logging, Security, Audit, Email, SMS, Scheduling) Broadcast Module Reuters Domestic Data Vendors Periodical Data Gateway (REST, SOAP) File Gateway (Secured FTP) JPA Cache Cache for Biz Layer Cache for DataFeed Cache Client protocol BO Gateway MQ gateway SFTP/SCP gateway Cache Replicate protocol Cache Client protocol Data Feed Databases File Server For Data Feed SCP / SFTP Gateway & IF External Systems JDBC File Server For BO SCP/SFTP Cache Replicate protocol Cache Client protocol VM or TCP MQ OMS/EMS (Active/Standby) Execution Receiv eMQ Sendin gMQ TCP Order Processing TCP VM VM Trading Gateway Sending Module TCP/IP TCP/IP 2.1 2.2 2.32.4 2.5 2.6 3.13.2 3.3b 3.3a 3.4a 3.4b 3.5b 1.1 1.2 1.3 1.4 1.5 1.6 1.7 MQ VM or TCP 4.1 4.24.3 4.5 SCP/SFTPSCP/SFTP File Server FO-BO IF 5.1 5.2 5.4 5.5 5.6 Variable Protocols (TCP/IP, FIX, REST, SOAP or SFTP)
  • 53. Kiến trúc tổng thể Core chứng khoán PA Kiến trúc năng lực BA Kiến trúc nghiệp vụ DA Kiến trúc dữ liệu AA Kiến trúc ứng dụng TA Kiến trúc công nghệ S A Non-functional requirements Phân tích thị trường CK Cấu trúc nghiệp vụ Yêu cầu nghiệp vụ Kiến trúc, định nghĩa dữ liệu Cấu trúc chức năng, ứng dụng Công nghệ, Software Stack, Lược đồ Software, Network & Hardware
  • 54. TA – Mô hình triển khai cài đặt Application Server Red Hat Enterprise Linux 7.1 VM or Physical Machine Oracle JDK 8 Hibernate 4EJB 3.2 Angular JS WildflyApplication Server 9.0.1.Final Twitter bootstrap, CSS 3 JQuery DRBD Internal Load Balancing Server Red Hat Enterprise Linux 7.1 VM or Physical Machine nginx 1.9.3 Cache Red Hat Enterprise Linux 7.1 VM or Physical Machine Infinispan DRBD Oracle JDK 8 log4J Database Server Red Hat Enterprise Linux 7.1 VM or Physical Machine MySQL 5.7.7 DRBD Internal Gateway Red Hat Enterprise Linux 7.1 VM or Physical Machine ActiveMQ/ ZeroMQ DRBD Oracle JDK 8 log4J Datafeed Red Hat Enterprise Linux 7.1 VM or Physical Machine ActiveMQ/ ZeroMQ DRBD Oracle JDK 8 log4J Hibernate 4EJB 3.2 Infinispan SFTP(OpenSSH) Exchange Gateway Red Hat Enterprise Linux 7.1 VM or Physical Machine ActiveMQ/ ZeroMQ DRBD Oracle JDK 8 log4J FIXEngine RESTeasyWebSocket (JavaEE)
  • 55. TA – Sơ đồ máy chủ thực tế Investors HTTPS HTTP VRRP HTTP Back GW Replication ExternalGW standby ExternalGW active Synchronizer StandbySynchronizer Active Back Exchanges Data Vendors Datafeed standbyDatafeed active jGroup TCP jGroup TCP SFTP TCP(MQ) Auto-t FIX HOSE HNX CORE SYSTEM HT BÊN NGOÀI OMS active DB master Load Balancer active Cache active Load Balancer standby Cache active OMS standby App server active DB slave App server active Data Vendors
  • 56. TA – Load balancing
  • 57. TA – Load balancing Sử dụng 2 loại request từ client: RESTful, Websocket HTTPS RESTful để lấy truy vấn thông tin tài khoản, giá chứng khoán ban đầu, đặt lệnh... Websocket để update giá chứng khoán, update trạng thái lệnh trong phiên giao dịch... HTTP/S là giao thức stateless nhưng Websocket là statefull, do vậy phải chia việc quản lý connection ra làm 2 đối với load balancing. Cổng 80 cho websocket WS Cổng 443 cho HTTPS Load Balancer phân phối request đến các application server dựa vào tên miền.
  • 58. TA – Load balancing Nginx: Load balancing + fault tolerance cho web server Tốc độ và hiệu năng Nhẹ Ổn định, tin cậy Dễ dàng cấu hình Cộng đồng sử dụng LVS – Linux Virtual Server KeepAlived Cấu hình Quản lý connection theo domain Đảm bảo performance cho websocket bằng việc nén dữ liệu Multi-tenancy: nhiều công ty, nhiều chi nhánh. Dịch vụ theo tên miền. SSL accelerator. # Tên công ty Chức năng Tên miền Cổng LB Cổng ứng dụng 1 AAA RESTful AAA.tenmien.com 443 8080 2 BBB RESTful BBB.tenmien.com 443 8081 3 Common WebSocket Websocket.tenmien.com 80 9080
  • 59. TA – Mô hình Load Balancing KeepAlived KeepAlived NGINX NGINX Virtual IP Heart Beet JBOSS JBOSS Request Request Status Check Status Check LB1 Active LB2 Standby App Server 1 Active App Server 2 Active Websocket RESTful
  • 60. TA – Load Balancing – kết nối App Server 2 Websocket:1234Web: 8888 App Server 1 Websocket:1234Web: 8888 LoadBalancer App - Mobile - Web HTTPS:443 ctck.tenmien.com:443 To App Server 1 :8888 websocket.tenmien.com:80 To App Server 2 :8888 To Application Server#1 :1234 To Application Server#2 :1234 WS:80
  • 62. TA – Database MySQL là sự lựa chọn tốt vì free, đủ mạnh Oracle đắt hơn, là sự lựa chọn tối ưu hơn về tốc độ, hiệu năng, dành cho các CTCK có tiền Scale-out HA Clustering Replication
  • 63. TA – Mô hình Database
  • 64. TA – MySQL Master-Slave Replication
  • 65. TA – Database – đồng bộ dữ liệu MySQL replicate dữ liệu từ master server sang slave server. Có 2 phương thức: PT bán đồng bộ chậm hơn nhưng đảm bảo được dữ liệu được nhất quán Việc copy dữ liệu được MySQL thực hiện bằng cách copy binary log file từ master sang slave server. # Phương thức Mô tả 1 Asynchronous – Bất đồng bộ Khi application update dữ liệu vào master server, Mysql gửi phản hồi về Application mà không cần đợi dữ liệu được “replicate” sang slave server. 2 Semi-synchronous – Bán đồng bộ Khi application update dữ liệu vào master server, Mysql gửi phản hồi về Application sau khi đợi dữ liệu được “replicate” sang slave server.
  • 66. TA – Mô hình Database – bán đồng bộ
  • 67. TA – Database – HA Sử dụng LVS, KeepAlived, VIP Các server thật sẽ sử dụng chung một IP ảo, sau đó dùng KeepAlived để quản lý Tại một thời điểm KeepAlived sẽ kiểm tra xem là cái IP ảo đang trỏ tới máy vật lý nào. Nếu connection OK thì giữ kết nối đó, nếu không thì release và trỏ sang con khác.
  • 68. TA – Mô hình Database – HA
  • 69. TA – Mô hình Database – MHA Master Write VIP Read LVS Application Slave Slave
  • 70. TA – Mô hình Database – MHA Old Master Write Replicate VIP Read LVS Application New Master Slave VIP
  • 72. TA – Caching Các công nghệ khác: Couchbase, MongoDB, Redis, Memcached, Ehcached... Lựa chọn Redhat Infinispan, các chức năng • Transactions • Persistence • Map/Reduce • Querying
  • 73. Infinispan – Core Architecture • Remote App 1 (C++) Remote App 2 (Java) Remote App 3 (.NET) Network (TCP) Node (JVM) MemCached, HotRod, REST, WebSocket (*) Embedded App (Java) Transport (JGroups) Notification Transactions / XA Query Map / Reduce Monitoring Storage Engine (RAM + Overflow) Node (JVM) MemCached, HotRod, REST, WebSocket (*) Embedded App (Java) Transport (JGroups) Notification Transactions / XA Query Map / Reduce Monitoring Storage Engine (RAM + Overflow) TCP/UDP
  • 74. TA – Cache – Server Model
  • 75. Architecture: Clustered Lib Use as library – More feature – Richer APIs – Programmatic/declarative configuration – Extendable/embeddable – Faster (API call) – App doesn’t know it’s on cluster Library Mode Cluster Infinispan JVM App Infinispan JVM App Infinispan JVM App
  • 76. Architecture: Server Use as server – Remote • Memcached, REST, Hot Rod, WebSocket – Data tier shared by multiple apps – App doesn’t affect cluster – Non-java clients • Java, C++,.NET, Ruby, Python Server Mode Cluster Infinispan JVM Infinispan JVM Infinispan JVM App App App
  • 77. TA – Cache Listener / Notifications
  • 78. TA – Cache - Mode đọc, ghi dữ liệu Replicated mode: tất cả dữ liệu được replicated qua tất cả các server. Đọc dữ liệu nhanh hơn, ghi lâu hơn Distributed mode. Distributed mode: dữ liệu được không replicated qua tất cả server. Đọc dữ liệu lâu hơn, ghi nhanh hơn. Mô hình phân tán Write (Key, Value) Node 2Node 1 Node 4 Read (Key, Value) Node 3 Mô hình nhân bản Write (Key, Value) Node 2Node 1 Node 4 Read (Key, Value) Node 3 Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key Value Data Item Key
  • 79. TA – Cache Clustering Tất cả các server liên quan đến việc trao đổi dữ liệu được đưa vào trong 1 cluster. Sử dụng multicast network để đồng bộ dữ liệu giữa các server trong cluster. Các server gồm có: Application servers OMS servers Cache servers Datafeed Servers Internal GW servers External GW servers
  • 80. Cache HA: Cluster đa node CLUSTER K1 K1 K2K2 K3 K3 K4 K4 K5 K5 CLUSTER K1 K1 K2K2 K3 K3 K4 K4 K5 K5
  • 81. TA – Cache Configuration Multicast Replication DatafeedOMS Cache App servers Gateways Synchronizer Cache server with only cache function jGroup jGroup jGroup jGroup jGroup jGroup jGroup jGroup Net Area 1 Net Area 2 Net Cluster (jGroup protocol) Multicast Routing DatafeedOMS Cache App servers Gateways Synchronizer
  • 82. TA – Cache Dataflow Đường đi của dữ liệu “có vấn đề” ??!  Quá “loằng ngoằng”, không nhanh, không tin cậy OMS Gateway Application Cache App Server Database Desktop Mobile Web Order 1.Write cache Application Cache 2.Replication Cache Listener 3.Notification Order Handler 4.Write Cache Cache5.Replication Application Cache Listener Message Handler 6.Notification 7.MQOrder API Cache Listener
  • 83. TA – Cache Dataflow Trong lược đồ này, đường đi của dữ liệu ngắn, nhanh hơn, tin cậy hơn OMS Gateway Application Cache App Server Database Desktop Mobile Web Order 1.Write cache Application Cache2.Replication Cache Listener 3.Notification Order Handler 4.Write Cache Application Message Handler 5.MQOrder API Cache Listener
  • 85. TA – Message JMS, Message Queue Truyền thông bất đồng bộ (Async Comm) Đối tượng tham gia: GW của back và front, GW kết nối Sở GD Failover Handler Master GW Slave GW Failover Master-IP -> Slave-IP Message Queue Application Cache Message Queue Application Cache Back GW Message Active OMS Active OMS Application Cache Application Cache Replicate Replicate
  • 86. TA – MQ HA Failover Handler Master Front GW Slave Slave GW Failover Master-IP -> Slave-IP Message Adapter Back GW Message Persistent & Exclusive lockreplication JDBC JDBC Message Adapter Message Master DB Slave DB
  • 87. Các giải pháp kỹ thuật & Case Study AGENDA 1.Overview về kiến trúc 2.Overview về TTCK 3.Lịch sử phát triển Core CK tại VN & các vấn đề 4.Kiến trúc hệ thống Core chứng khoán 5.Các giải pháp kỹ thuật & case study
  • 88. Tổng hợp các vấn đề kỹ thuật khi xây dựng Core chứng khoán HA: Fail-over, fall back Load balancing Scalability Performance & throughput (response time, speed, concurrent trans, payload...), cân bằng giữa tốc độ và an toàn an ninh thông tin Trao đổi message real-time Nhiều đơn vị kết nối, Multi-tenancy Truy cập DB sử dụng ORM hay không Java: EJB hay Spring? Entity ? Conversion? DTO ? Multi-cast? Which memory techniques are used? Cache? Message queue / JMS?
  • 89. Kết luận Đã mô tả về TTCK, các đối tượng tham gia, vai trò của Core đối với 1 trong những đối tượng quan trọng nhất – CTCK Kiến trúc sơ bộ của 1 Core system. Phương pháp tiếp cận khi xây dựng kiến trúc đó. Các công việc cần thực hiện khi thực hiện kiến trúc – lựa chọn công nghệ, design (overview, data, app, hardware...) Các vấn đề của TTCK VN và các core system hiện tại. Các vấn đề kỹ thuật đặt ra khi thực hiện 1 kiến trúc. (kiến trúc khác có thể gặp các vấn đề khác) Biz quyết định tất cả Không có kiến trúc tốt mãi, chỉ có KT phù hợp với chiến lược kinh doanh của DN trong 1 giai đoạn nhất định mà thôi. Các phương diện khác cần xem xét: Budget, Non-functional target, Stakeholders, Market/Marco Economy, Customers
  • 90.  Slides trình bày Case Study + Thảo luận (bởi Mr Vũ Việt Anh) Thảm khảo thêm : http://bit.ly/itlchn-stockcore-event

Hinweis der Redaktion

  1. 1
  2. 2
  3. 3
  4. Đang dẫn dắt OCTech – là 1 công ty chuyên phát triển các PM trong ngành tài chính, CK với chất lượng cao Một trong những SP được giới CK biết đến đó là GW kết nối với 2 sở GDCK OCTech đã có gần 10 năm hoạt động trong lĩnh vực này.
  5. Điều đáng nói nhất là Q có khoảng 10 năm làm trong lĩnh vực phần mềm CK, cho cả 2 phía – bên làm sản phẩm và bên tiêu thụ SP
  6. 6
  7. Nếu không có KT, bất kỳ một công trình, một sản phẩm nào sẽ được xây dựng và hoàn thiện một cách “vô tổ chức”, không có quy củ, lộn xộn và thường không đáp ứng được công năng sử dụng
  8. 10
  9. 11
  10. 12
  11. 10 Stock Exchanges lớn trên thế giới: 1. Frankfurt Stock Exchange, Đức 2. Indonesia Stock Exchange 3. New York Stock Exchange, Mỹ 4. Madrid Stock Exchange, Tây Ban Nha 5. Hong Kong Stock Exchange 6. Bahrain Stock Exchange 7. London Stock Exchange, Vương quốc Anh 8. Chicago Board of Trade, Mỹ 9. Dubai Financial Market, UAE 10. Buenos Aires Stock Exchange, Argentina
  12. Nguyên tắc: ưu tiên mua cao, bán thấp Tích lũy bên bán: từ giá thấp đến cao Tích lũy bên mua: từ giá cao đến thấp 2 bên chạm nhau tại mức giá mà KL các bên mua-bán đạt được là lớn nhất  đó là mức giá khớp lệnh
  13. Khách hàng CTCK (Broker Firms, Securities Firms - SSI, HSC, VNDS) Môi giới Đầu mối tiếp nhận và chuyển lệnh Thành viên lưu ký, thanh toán bù trừ Nghiệp vụ khác: tư vấn, cho vay ký quỹ Chi nhánh, phòng GD Sở GDCK (HOSE, HNX) Trung tâm lưu ký CSD (VSD) Ngân hàng thanh toán (BIDV) Ngân hàng Ngân hàng lưu ký (HSBC) Trung tâm thanh khoản (CCP) Đối tác đặt lệnh (Reuters, Bloomberg) Datafeed vendors (Reuters, Bloomberg, StoxPro, StockBiz) SMS Vendors
  14. Đi qua nhanh
  15. Đi qua nhanh
  16. Đi qua nhanh
  17. Đi qua nhanh
  18. AFE – màn hình đặt lệnh cho môi giới
  19. SH-PRO, LotteHPT, màn hình đặt lệnh
  20. SH-Mobile, LotteHPT, màn hình đặt lệnh + giá hiện tại + đặt lệnh nhanh với 3 giá tốt nhất
  21. PHƯƠNG THỨC ĐẶT LỆNH và QUẢN LÝ DANH MỤC Thời gian đầu: Quản lý lệnh = Excel, Đại diện sàn, đặt lệnh bằng gọi điện... “Thông sàn”, kết nối CTCK – Sở bằng phần mềm, bỏ đại diện sàn. Tự động cập nhật kết quả GD. Nhận lệnh tự động, giao dịch online qua Internet, mobile
  22. TTCK Việt Nam hoạt động được hơn 15 năm với khá nhiều thăng trầm, với sự góp mặt của nhiều NCC trong và ngoài nước. Số lượng và và chất lượng các giải pháp core khá đa dạng.
  23. 1. Nâng cấp từ hệ thống cũ là không khả thi, tương tự như xây 1 nhà cao tầng trên nền móng của nhà cấp 4 2. Nếu việc nâng cấp khả thi, không có kinh phí, kinh nghiệm, con người, kiến thức để thực hiện nâng cấp 3. Công việc kinh doanh vẫn phải chạy, khách hàng không thể dừng giao dịch  phải chắp vá  việc dị dạng là không thể tránh khỏi
  24. Performance hệ thống không đáp ứng được nhu cầu hiện tại về giao dịch  1 phần do gần đây TTCK khó khăn, các CTCK không đầu tư nhiều cho HT như trước, đặc biệt bảo trì, nâng cấp...1 phần do các vendor ngoại khó khăn, rút vốn và nguồn lực khỏi VN, các vendor nội không có chiến lược dài hạn và sức khỏe tài chính tốt nên bị “hụt hơi”. Quy định về giao dịch, đặc biệt giao dịch ký quỹ, room, tỷ lệ an toàn tài chính...check các điều kiện trước khi đặt lệnh làm chậm tốc độ đặt lệnh hệ thống. Core ngoại được đầu tư phát triển bài bản hơn, mặc dù công nghệ khá cũ nhưng kiến trúc khá tốt nên vẫn trụ được đến ngày nay. Core nội vẫn gặp nhiều vấn đề về kiến trúc, không có chiến lược đầu tư phát triển dài hạn  sinh ra các vấn đề về hiệu năng, tốc độ thậm chí lỗi hệ thống nếu chạy trong thời gian dài.
  25. Hệ thống Core chứng khoán CMS, lấy 2 từ đầu của tên 2 hệ thống đang phát triển + system
  26. Xây dựng kiến trúc hệ thống dựa trên phương pháp luận với 5 hướng tiếp cận Có gì đó hơi tương đồng với TOGAF
  27. Quản lý tài khoản, tiền, chứng khoán, đặt lệnh, thực hiện quyền, quản lý môi giới, dịch vụ tài chính... Các nghiệp vụ liên quan đến việc kết nối với Sở GDCK, Trung tâm lưu ký, ngân hàng ....
  28. FO giao tiếp với KH, thường qua kênh Internet BO giao tiếp với user là NV công ty, trong mạng LAN FO, BO nối với VSD, Bank  tùy FO phải nối với Sở GDCK
  29. Để tìm ra năng lực phục vụ của hệ thống, cần phân tích so sánh các thông số (TT, vốn hóa, số lệnh...) hiện tại với thị trường trong tương lai Tương lai mấy năm phụ thuộc vào chiến lược KD của CTCK, vào vòng quay khấu hao mong muốn của CTCK.. Hiện tại 1 ngày giá trị GD khoảng 200tr USD, 2022 mong muốn đạt khoảng 1 tỷ USD
  30. 1,5 triệu tài khoản Mỗi CTCK khoảng 100k tài khoản Số lệnh 1 ngày khoảng 2-10k, đỉnh là 30k (VND) Số transaction 1 ngày khoảng 10-50k tính cả đặt lệnh, truy vấn số dư, chuyển tiền..., đỉnh có thể đạt 100k Khả năng xử lý song song, đồng thời cao, đòi hỏi độ chính xác tuyệt đối, an toàn khắt khe. Hơi khác so với 1 hệ thống TMĐT, báo (mặc dù với các trang này tổng số lượng request có thể lớn hơn)
  31. Cần dẫn 1 số nguồn. TTCK Ấn Độ có nguồn nhưng số liệu thống kê khá dài dòng phức tạp.
  32. 47
  33. 48
  34. Phân hoạch dữ liệu theo nghiệp vụ, chỗ nào cần bố trí DB chỗ nào không Giúp cho việc lưu trữ, truy vấn, xử lý dữ liệu nhanh chóng, suôn sẻ Giúp cho việc bảo trì bảo dưỡng dữ liệu đỡ tốn kém và thuận tiện Giúp cho việc phát triển các phần mềm vệ tinh như CRM, BPM...
  35. Đây không phải là ví dụ tốt về AA, đây là mô hình tích hợp, có bóng dáng của Techical AA diagram phải là các khối ứng dụng (logic) và chức năng của nó, quan hệ giữa các khối ứng dụng
  36. Phần TA là phần tốn nhiều công sức, thời gian nhất
  37. Khi có kiến trúc ứng dụng, anh em TA và Dev sẽ ngồi lại lựa chọn các công nghệ phù hợp cho mỗi “máy chủ” (logic)
  38. Sau đó đưa ra sơ đồ triển khai với thông tin của các máy chủ cần thiết
  39. Một trong những vấn đề rất quan trọng đối với các hệ thống hiệu năng cao, có lượng truy cập lớn là phải chia tải
  40. 62
  41. http://imysql.com/mysql-refman/5.6/replication.html  tham khảo khá tốt và đầy đủ về replication của MySQL Hệ thống lựa chọn mô hình Master – Slave để tốc độ ghi tốt hơn
  42. http://imysql.com/mysql-refman/5.6/replication.html  tham khảo khá tốt và đầy đủ về replication của MySQL
  43. Phải cân bằng giữa các non-funtional target với phương thức đồng bộ database  Sẽ thảo luận kỹ hơn về option sử dụng PT nào ở phần Thảo luận Giải pháp Kỹ thuật
  44. App write (thong qua Connection Thread) Update binary log Update master DB Send binary log tu Master Server qua Slave Server; Slave server tu dong Update Slave DB Send ACK cho Connection Thread Connection Thread send OK cho App
  45. VIP = Virtual IP; LVS = Linux Virtual Server
  46. Tiêu chí chọn: support Java, lưu được object và text, tương thích với App Server, nhà phát triển uy tín, OSS, hiệu năng tốt, HA, cân bằng đọc ghi, max value... Tham khảo http://infinispan.org/docs/7.0.x/user_guide/user_guide.html http://db-engines.com/en/system/Couchbase%3BMemcached%3BRedis http://vschart.com/compare/jboss-infinispan/vs/redis-database/vs/couchbase
  47. Run mode: Library mode: App chạy cùng JVM với Infinispan. Rich API, có thể dùng Listener API, gọi API nhanh hơn. Dễ phát triển app hơn. Client-Server mode: App chạy khác JVM với Infinispan, process của ứng dụng là độc lập. Có thể dùng các giao thức HotRod, REST, memcached...để giao tiếp App với Cache.
  48. Listener API: event notification
  49. 1 node chết vẫn OK
  50. Sai