---
# System prepended metadata

title: Lipoic 第一次後端組會議
tags: [會議記錄]

---

---
title: Lipoic 第一次後端組會議
image: https://raw.githubusercontent.com/Lipoic/Lipoic-Assets/main/logo/logo.png
lang: zh-tw
tags: 會議記錄
---

# Lipoic 第一次後端組會議

:::info
日期：2022-07-02
開始時間：14:01
結束時間：16:23 (預計 15:30，延誤 53 分鐘 :sob:)
參與者：Tommy、homo、菘菘、小西瓜、Twinkle Sprinkle、AAAA、猴貓
主持人：菘菘
紀錄者：菘菘
:::
---
# 主題
- 伺服器架構
- 新功能研究
- 後端檔案儲存系統
# 議程

## Check In | 報到
<iframe width="450" height="350" src="https://echim2016.github.io/check-in-box" frameborder="0"></iframe>

題目：對共產主義的想法? (Twinkle Sprinkle 提出)
- 菘菘: 很難實現的想法，但本身並沒大問題，目前沒有一個真正實踐這想法的地方XD
- Tommy: 黨的關愛，投入黨的懷抱
- Homo: 人類辨不到共產 :kek:
- Twinkle Sprinkle: 大部分共產都執行錯誤。
- 小西瓜: 躺著爽賺
- AAAA: 是個很好的想法，可惜很難實現。

## 伺服器架構
[架構圖](https://drive.google.com/file/d/1UmkhtlQR_N75-KQ84xi2GDp4WLXOA0pj/view?usp=sharing)

### 需求
- 執行環境
    - OS: Debian
        - Twinkle: Debian/Arch
        - 菘菘: Debian/Ubuntu Server
    - RAM: 暫定 8GB
        - Twinkle: 估計 2G 可以吧
        - 菘菘: 2G 小範圍夠，但 2000 人至少要 8GB
    - 執行方式: Rust
        直接跑 Rust or Docker?
        - Twinkle: 為何要 Docker? 編譯的時候可以看有幾個核心跑幾個執行序去處理 request 吧 就不用還要 sandbox
    - 架構: 不指定
        x86 or ARM? (目前 Rust 對於部份系統 ARM 的效果還沒像 x86 那麼好)
        - Twinkle: 理論上要換都可以換，看哪個比較好，應該可以當下就無痛轉過去
        - 菘菘: 如果是 Linux 都可以不用特別指定哪種架構
- Database
    - 系統: MongoDB
    - 硬碟容量: 50GB
        - AAA: MongoDB 免費版有 5g，應該夠用 (使用者資料)，SQL 可以放上傳的資料
        - 菘菘: 實際應該不會用 MongoDB 提供的 5GB，那個是作為內部測試用
             短期內 10~50GB，長期 1TB
        - Tommy: word 純文字1M以內 有圖片大約1M~10M
               ppt 大概10~20MB多
    - 硬碟類型: HDD
       - AAA: SSD (很貴ㄝ)，可以自己架，然後用 SSD 做為緩衝，資料都放 HDD，後序如果有需要，再搭配 redis 之類的方法加速
       - Homo: kernel 會cache，SSD、HDD 速度差不多吧
    - Database 位置: Sandbox 
       - AAA: 建議分開
       - 菘菘: 分開主要差異在延遲，但是比較好管理
      sandbox? 獨立?

- 網路
    - 延遲: 100 ms 以內 (從台灣)
       - 菘菘: 從台灣 ping 在 100 ms 以內
       - Tommy: 100ms很ok阿 反正不是玩fps射擊遊戲
    - 頻寬: 100 Mbps
      - AAAA: 100 Mbps
    - 流量 (月): 1TB
      - 菘菘: 1TB
    
- 同時連線人數
最大 2000~3000?
經費可能不夠

### 預算
沒經費
菘菘: 我可以提供每個月 100 左右，但不保證穩定
## 新功能研究
菘菘: 可能只能研究一個功能，時間有限

## 遠距授課
視訊音訊、文字訊息、點名、舉手、白板

- 影音技術: [WebRTC](https://webrtc.org/)
    - 菘菘: Web RTC
      [Rust 函式庫](https://github.com/webrtc-rs/webrtc)
- 文字訊息技術: Socket.IO
    - 猴貓: WebSocket
    - 菘菘: Socket.IO (基於 WebSocket) [Rust 函式庫](https://crates.io/crates/rust_socketio)
![](https://i.imgur.com/WZbBK4i.png)


<!-- ## 後端儲存系統 | 時間不夠 -->
<!-- # 臨時動議 -->
<!-- 若沒有臨時動議可以刪除 -->

# 總結
Tommy: 人說的話註解就好，只留結論
菘菘: 或許可以用 HackMD 的留言功能

Tommy: 下次要討論實作問題時，請每個人在會議前要先收集好資料，統一彙整給host，之後會議時再統一討論各種實作方式的優缺點，最後決定

### 伺服器架構
- 執行環境
    - OS: Debian
    - RAM: 8GB
    - 執行方式: Rust
    - 架構: 不指定
- Database
    - 系統: MongoDB
    - 硬碟容量: 50GB
    - 硬碟類型: HDD
    - Database 位置: Sandbox 
- 網路
    - 延遲: 100 ms 以內 (從台灣)
    - 頻寬: 100 Mbps
    - 流量 (月): 1TB


### 遠距授課
- 影音技術: [WebRTC](https://webrtc.org/)
- 文字訊息技術: Socket.IO
<!-- # 下次討論的內容 -->
<!-- 若沒有則可以刪除 -->
---
<small>Copyright © 2022 Lipoic. All rights reserved.</small>

{%hackmd @Luminous-Coder/dark-theme %}
<!-- the theme made by Luminous-Coder -->