Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
451,83 KB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG HỆ PHÂN TÁN Đề tài: XÂY DỰNG HỆ THỐNG ATM Nhóm sinh viên thực hiện: Giảng viên hướng dẫn: Hà Nội, tháng 07 năm 2022 TIEU LUAN MOI download : skknchat123@gmail.com Lời nói đầu Lời , nhóm em xin gửi lời cảm ơn đến thầy Đặng Tuấn Linh , thầy nhiệt tình giảng dạy lớp , hỗ trợ thông tin cần thiết giải đáp thắc mắc cho nhóm bạn thực đề tài Thông qua giảng lớp môn học thầy , thành viên nhóm em tiếp thu nhiều kiến thức hữu ích liên quan Qua giúp chúng em hiểu nắm bắt quy trình làm Đề tài “Xây dựng hệ thống ATM” hoàn thành kết trình nghiên cứu nghiêm túc thành viên nhóm q trình học tập tiếp thu kiến thức hướng dẫn tận tình giảng viên hướng dẫn tài liệu giảng viên hướng dẫn chia sẻ qua kênh giao tiếp trong suốt trình thời gian giảng dạy học kỳ Với kiến thức học từ môn Thiết kế xây dựng phần mềm, toán em giải vấn đề thiết kế xây dựng hệ thống ATM Tuy nhiên điều kiện thời gian kiến thức cịn hạn chế nên khơng tránh khỏi thiếu sót, mong góp ý nhiều thầy Em xin chân thành cảm ơn! TIEU LUAN MOI download : skknchat123@gmail.com Chương Khảo sát hệ thống Lí chọn đề tài : Hiện nay, hệ thống ATM giao dịch ngân hàng giải pháp quản lý trao đổi tài phổ biến với số lượng người dùng lớn, đặt tốn hóc búa cho chế bảo mật, độ chịu tải tính tồn vẹn thơng tin Qua thăm dị chức đó, chúng em áp dụng kiến thức học thực tiễn hệ thống ATM Chúng em xây dựng mô hệ phân tán & microservices cho hệ thống giao dịch ATM 1.1 Mô tả hệ thống 1.1.1 Nhiệm vụ Hệ thống rút tiền ATM với tính cho người dùng sau: - Kiểm tra thông tin & số dư - Rút, chuyển tiền - Đổi mã PIN - Khoá thẻ - Gửi thông báo Email 1.1.2 Hệ thống - Hệ thống Log lỗi, message từ Queue - Worker gửi Email từ Queue - Phân giải hệ thống tránh tắc nghẽn 1.2 Phân tích hệ thống Qua phân tích chức năng, nhóm chúng em tiến hành thiết kế hệ thống với Service chính: - Email Service: Dùng để gửi email sau người dùng biến động số dư - Account Service: Dùng để xác thực người dùng quản lý phiên đăng nhập - Bank Service: Dùng để xử lý vấn đề tiền tài khoản người dùng - Log Service: Dùng để thông báo, ghi lại ghi nhằm soát lỗi hệ thống microservices Cơ sở liệu sử dụng: MongoDB (Thực để xây dựng hệ thống bank tối ưu cần phải dùng Oracle, nhiên phạm vi môn học, chúng em sử dụng mongoDB để dễ dàng demo triển khai) TIEU LUAN MOI download : skknchat123@gmail.com TIEU LUAN MOI download : skknchat123@gmail.com Chương Thiết kệ hệ thống 2.1 Account Service Service chủ yếu phục vụ việc xác thực người dùng tạo phiên với api là: - [POST: /auth]: Login hệ thống Request Body: (application/json) { "stk":"4012555541213654", "password":"rsapass" } Mơ tả Body Tên thuộc tính Stk password Mô tả response { "code": 200, "message": "Dang nhap cong!", "data": { "name": "HOANG QUOC BAO", "balance": 997000000, "accessToken": "1wJ07Q0PgnJf3wKUFOXrIgu65ddsp5ZA9YqbfMqz/i0=" } } - [Get: /checkUser]: TIEU LUAN MOI download : skknchat123@gmail.com - Mô tả params: Tên params stk accessToken Mô tả response { "code": 200, "message": "Kiem tra cong!", "data": { "name": "HOANG QUOC BAO" } } - [Get: /checkAccessToken]: Mô tả params: Tên params accessToken Mô tả response { "code": 200, "message": "Dang nhap cong!", "data": { "name": "HOANG QUOC BAO", "balance": 997000000 } - } [Get: /logOut]: Mô tả params: Tên params Mô tả TIEU LUAN MOI download : skknchat123@gmail.com accessToken Access Token người dùng Mô tả response { "code": 200, " m e s s a g e " : " D a n g x u a t t h a n h k e n ( A c c o u n c o n g ! " t S e r v i c e ) , " Emai Log Queue l Queu e d a t a Mô tả API body: { "stk": "4012555541213 654", " : n u l l } 2.2 Email Service Email service đọc thông báo gửi email từ Email Queue gửi email theo yêu cầu 2.3 Bank Service - [POST: /withdraw]: Rút tiền /withdraw (Bank Service) / c h e c k A c c e s s T o "accessToken":"y1U qnLTjhQMpth4ctf2F ddQCQXCjdbj2AR Z9Z86eg5I=" , "money":100000 } Mô tả body: Tên params accessToken stk money TIEU LUAN MOI download : skknchat123@gmail.com - Response: { "code": 200, "message": "Rut tien cong!", "data": null } [POST: /sendMoney]: Chuyển tiền /sendMoney (Bank Service) /checkAccessToken (Account Service) /checkUser (Account Service) Email Queue Mô tả body: { "stk": "4012555541213654", "stkNhan": "40125555412136121", "accessToken":"c1x9tLlzD64R3szPUAD9MAqEXC18iYepMarAc6mgiRw =", "money":1000000 } Tên params accessToken stk money stkNhan Mô tả response: TIEU LUAN MOI download : skknchat123@gmail.com { "code": 200, "message": "Chuyen tien cong!", "data": null } 2.4 Log Service: Log Service đọc message log từ queue thông báo lên tảng log ELK,… Chương Triển khai hệ thống TIEU LUAN MOI download : skknchat123@gmail.com 3.1.1 Triển khai hệ thống Hệ thống triển khai backend với linux/docker, người dùng dùng WindowApp thông qua Net Framework Màn hình sau Login TIEU LUAN MOI download : skknchat123@gmail.com Màn hình chuyển tiền 3.2 Tính mở rộng & nhân - Các Service mở rộng service Log Email service, cần nhân worker Service tự đọc message Queue làm việc - Các Service giao tiếp Rest cần xây dựng hệ CSDL phân tán với tính đồng cao để đồng CSDL phân tán liệu vào server khác Khi CSDL thay đổi đẩy luồng queue thơng báo thay đổi cho hệ server cập nhật liệu, thời gian cập nhật liệu người dùng khơng thể tiến hành giao dịch số tiền Chết 3.3 Tính chịu lỗi Khả chịu lỗi đặc điểm thiết yếu kiến trúc microservice Lý đằng sau điều rõ ràng đơn giản: Sau điểm tích hợp hệ thống đạt đến số định, lỗi xảy hàng ngày Các lý đơn giản thống kê Như tơi trình bày, khơng thể bất chấp định luật tốn học Đó lý cần hiểu động thất bại từ góc độ cao Cần phải đưa định chiến lược cách hiệu Nếu khơng có định này, đạt mức độ chịu lỗi mà hướng tới 3.4 Kiến trúc hệ thống & giao tiếp, trao đổi thông tin Hệ thống sử dụng kiến trúc Microservice giao tiếp với thông qua message Queue RestAPI TIEU LUAN MOI download : skknchat123@gmail.com 3.5 Đồng hoá Khi triển khai hệ thống phân tán, việc phải đồng hoá liệu quan trọng, ví dụ ATM kết nối với máy chủ A với CSDL A, ATM B lại kết nối với CSDL B, Client rút tiền máy chủ A khơng đồng CSDL B giữ nguyên số dư Vì cần có tính đồng hệ thống phân tán Ở chúng em đẩy qua message Queue khân bệ thống máy chủ TIEU LUAN MOI download : skknchat123@gmail.com ... dụng kiến thức học thực tiễn hệ thống ATM Chúng em xây dựng mô hệ phân tán & microservices cho hệ thống giao dịch ATM 1.1 Mô tả hệ thống 1.1.1 Nhiệm vụ Hệ thống rút tiền ATM với tính cho người dùng... Gửi thơng báo Email 1.1.2 Hệ thống - Hệ thống Log lỗi, message từ Queue - Worker gửi Email từ Queue - Phân giải hệ thống tránh tắc nghẽn 1.2 Phân tích hệ thống Qua phân tích chức năng, nhóm chúng... bạn thực đề tài Thông qua giảng lớp môn học thầy , thành viên nhóm em tiếp thu nhiều kiến thức hữu ích liên quan Qua giúp chúng em hiểu nắm bắt quy trình làm Đề tài ? ?Xây dựng hệ thống ATM? ?? hoàn