技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
20
0
Software Development
從實戰中學習:Take Home Assignment review & refactor
系列 第
20
篇
[Day 20] 作業4:Bitcoin Trading Bot Design - 專案review
15th鐵人賽
take home assignment
system design
Moscle.dev
2023-10-04 22:57:18
291 瀏覽
分享至
Bitcoin Trading Bot Design - 專案review
今天來看作業4的後端作業,這份作業是要設計一個Bitcoin的交易所套利機器人系統,需要有系統設計圖和設計文件,以及使用Rust簡單實現。
作業在這
作業需求
系統設計圖 review
優點:
模組化
:系統分成不同模組,每一個模組都有特定的功能,這樣有利於系統的擴展和維護。
事件驅動
:系統採用了Redis Pub/Sub作為消息中間層,這樣可以確保即時數據流動和處理。
持久化存儲
:系統使用了DatabaseModule來持久化重要的數據,如價格數據和交易結果。
通知系統
:NotificationModule確保了重要的交易結果可以及時通知給相關人員,提高系統的透明度。
監控和日誌
:MonitoringModule和LoggingModule為系統提供了監控和日誌功能,有助於問題的及時發現和修復。
建議:
數據一致性
:當RedisPubSub發送消息給多個模組時,可能會有一致性問題。考慮使用事務或某種一致性協議來確保數據的一致性。
異常和錯誤處理
:在真實的系統中,交易所的API可能會失效或返回錯誤。DataCollectionModule和TradingModule應該要有策略來處理這些異常情況。
過度依賴Redis
:系統過於依賴Redis Pub/Sub來傳遞消息。可以使用其他Queue management或使用組合的方法來減少單點故障的風險。
價格更新策略
:DataCollectionModule從多個交易所收集價格數據,但在價格發生劇烈波動時可能會產生問題。可以使用某種策略或算法來平滑這些數據,以減少假正面或假負面的套利信號。
消息的優先順序
:在高頻交易中,某些消息可能比其他消息更加重要。可以給Redis Pub/Sub中的消息設定優先順序,以確保重要的事件能夠得到及時處理。
Readme review
優點:
完整性
:README包括了系統的所有主要模組以及它們的交互。
系統圖
:系統序列圖和組件圖提供了系統架構的清晰視覺表示。
解釋技術選擇
:解釋了為什麼選擇Redis Pub/Sub而不是其他如Kafka,以及其在此特定應用中的優勢。
提出設計問題
:指出了在設計和運行此類系統時可能需要考慮的關鍵問題,如Redis隊列長度、交易所API限制等。
建議:
背景資訊
:README的開頭可以提供一些背景資訊,解釋什麼是套利和它在加密貨幣交易中的重要性。
深入描述模組
:每個模組的描述都很基本。可以考慮對每個模組進行更深入的描述,解釋它是如何工作的,使用了哪些技術等。
實踐細節
:可以提供一些更具體的實踐細節,如使用的特定技術、工具或算法。
交互實例
:可以提供一個或多個系統交互的例子,以更好地理解系統是如何在特定情況下工作的。
錯誤處理和異常情況
:描述系統如何處理可能的錯誤或異常情況,如Redis中斷、交易所API故障等。
留言
追蹤
檢舉
上一篇
[Day 19] 作業4:Static Single Page View Implementation - 前端Code review
下一篇
[Day 21] 作業4:Bitcoin Trading Bot Design - 設計文件 review
系列文
從實戰中學習:Take Home Assignment review & refactor
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
[Day 26] Simple Auth App:專案始動
27
[Day 27] Simple Auth App:ORM & DB setting
28
[Day 28] Simple Auth App:註冊、登入實作
29
[Day 29] Simple Auth App : 修復TypeORM 問題與DataSource
30
[Day 30] Simple Auth App : 來做個收尾
完整目錄
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22211
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請教Smart IT及神網的比較
群暉NAS新增HA
如何控管現在的手機連公司wifi-因手機現在會自動變更mac位置
請問 "TWNCI.net 網路世界有限公司" 是合法還是非法網域註冊廠商?
樹莓派可以塞多大的模型?
有關AI模型的回應不一樣問題
資訊設備 電壓防護詢問
如何規劃一個安全的網路管制區
想設計一個Powershell代碼
AWS主機進入休眠(已解決)
熱門回答
系統開發的問題請益
如何控管現在的手機連公司wifi-因手機現在會自動變更mac位置
如何規劃一個安全的網路管制區
群暉NAS新增HA
如何解決搜尋網址的摘要被導去垃圾站的問題?
熱門文章
如果不試一輩子都不知道自己能走這麼遠|不知不覺寫了 1 年程式,前端工程師修煉之路
人資系統整合與資料加密機制實作
二、三天學一點點 Rust:來!那些變數們(4)
「與AI探索天文」如何藉由ChatGPT虛構天文學家的一天來學習天文知識及故事創作技巧?
【讓機器人做】自動截取網頁資料 + 排程器篇 I
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}