個人系統架構技術分享

架構技術
技術版本說明
CentOS7.9操作系統
Amoeba負責MySQL讀寫分離
NFS分布式存儲
ISCSI塊存儲
keepalived日志收集
MySQL5.7數據庫存儲
MinIO8.4.5對象存儲
Kubernetes1.23.15應用容器管理平臺
Redis7.0分布式緩存
Elasticsearch7.17.3搜索引擎
nacos3.3.4服務注冊
后端技術
技術版本說明
Spring Cloud2023.0.1微服務框架
Spring Boot3.2.2容器+MVC框架
JWT1.37.0認證和授權框架
MyBatis3.5.14數據庫持久層
EFK日志收集系統
RabbitMQ3.10.5消息隊列
前端技術
技術說明
Vue前端框架
Vue-router路由框架
JavaScript用于創建動態網頁
Element前端UI框架
html標記語言,用于定義網頁結構
css樣式表語言,用于控制網頁樣式
vue-element-admin項目腳手架參考

移動端技術

技術說明
Vue核心前端框架
Vuex全局狀態管理框架
uni-app移動端前端框架
luch-requestHTTP請求框架
功能并發量
pod功能單用戶pv每分鐘并發量高峰pod數量
1用戶登錄注冊4800320018 5%
2選擇題庫3600250014 4%
3每日打卡2400160010 2.9%
4刷題練習30580023500110 32%
5題目搜索3600240014 4%
6視頻資源230010006 1.7%
7錯題診斷3600250014 4%
8用戶排名4800340018 5%
9會員中心4800340018 5%
10在線直播23509005 1.5%
11熱點快訊4800300017 5%
日活躍用戶140000611186147444244
一個節點 20個pod69000
總計資源:60核CPU,140GB內存 ,3主16node節點 k8s集群外10臺 =29臺 用的機房是第三方云機房是北京來廣營IDC數據中心 我們的項目就2個運維

1. 核心學習功能(高頻使用)

  • 刷題練習:85%-90%
    (用戶主要需求,高頻剛需)
  • 選擇題庫:80%-85%
    (用戶選擇不同題庫進行針對性練習)
  • 題目搜索:70%-75%
    (快速定位特定題目或知識點)

2. 用戶粘性功能(中頻使用)

  • 每日打卡:50%-60%
    (初期參與度高,長期堅持比例下降)
  • 視頻資源:45%-55%
    (依賴內容質量,部分用戶偏好視頻學習)
  • 在線直擂(實時競賽):30%-40%
    (活躍用戶參與,但非核心需求)

3. 輔助功能(低頻使用)

  • 用戶排名:25%-35%
    (激勵型功能,部分用戶關注排名競爭)
  • 熱點快訊:20%-30%
    (資訊類內容,需與學習強相關才能提升使用率)
  • 會員中心:15%-25%
    (涉及付費轉化,活躍付費用戶才會高頻訪問)

4. 基礎功能(一次性或低頻)

  • 用戶登錄注冊:10%-15%(日常使用率)
    (注冊后僅需偶爾重新登錄)

市場依據說明

  1. 核心功能主導
    類似App(如猿題庫、考蟲)數據顯示,刷題、選題庫等學習行為占比超80%,是用戶留存的關鍵。
  2. 打卡與社交功能
    教育類App中,打卡功能的平均堅持率約50%-60%(數據來源:易觀分析),排名功能活躍度依賴社區運營強度。
  3. 視頻資源差異大
    若視頻與題庫強綁定(如解析視頻),使用率可達50%以上;若為獨立課程,則可能低于40%。
  4. 付費與會員功能
    行業平均付費率約5%-15%,會員中心日常訪問率通常低于30%(數據參考:艾瑞咨詢)。

總結建議

  • 優先優化核心功能(刷題、題庫、搜索),提升流暢度和題庫質量。
  • 強化打卡激勵機制(如積分兌換),將使用率從50%提升至60%+。
  • 視頻資源結合題目解析,避免與外部平臺(如B站)直接競爭。
  • 簡化會員中心入口,通過精準推送提升付費轉化。
非功能并發量
pod功能單用戶pv每分鐘并發量高峰pod數量
1Haproxy300017
2harbor8
3nacos8
4Nexus4
5sonar3
6jenkins4
7rabbitMQ10
8redis10
9gitlab4
10calico15
11prometheus12
總記1846895
一個節點 20個pod

prometheus prometheus-operator node-exporter alertmanager

apiserver

服務器 8核16G

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

類別具體內容
前端技術vue3、html、JavaScript、scss、element plus
服務架構Spring Cloud微服務架構
代理服務器Nginx
分布式任務調度中心Xxl-Job
注冊與發現中心/配置中心Nacos
服務間調用OpenFeign
網關Spring Cloud Gateway
數據存儲MySQL
數據庫持久層MyBatis/MyBatis-Plus
緩存Redis
消息隊列rabbitMQ
搜索引擎ElasticSearch
加密算法Bcrypt
身份認證JWT
代碼沙箱Docker
對象存儲OSS
短信服務阿里云短信服務

| ---- | ---- |
| 防火墻 | 位于公網與內部網絡之間,起到安全防護作用。 |
| nginx + keepalived | 用于負載均衡和高可用性的服務器組合,接收來自公網的請求并分發到后端服務器。 |
| Tomcat集群 | 一組Tomcat服務器,用于處理Web請求,提供Web服務。 |
| Amoeba + mysql集群 | Amoeba是數據庫中間件,用于管理MySQL數據庫集群,提供數據庫服務和數據存儲,以及讀寫分離。 |
| EFK | 是Elasticsearch、Fluentd、Kibana的組合,用于日志收集、存儲和可視化分析。 |
| rabbitMQ | |
| 備份服務器 | 用于數據備份和恢復,保障數據的安全性和可靠性。 |
| jumpserver | 可能是運維管理平臺,運維人員通過它來管理和操作整個系統。 |
| Redis集群 | 分布式緩存系統,用于提高數據讀取速度,減輕數據庫壓力。 |
| zabbix | 監控系統,用于實時監控服務器和網絡設備的性能、狀態等信息。 |
| nfs | 網絡文件系統,提供文件共享服務。 |

用戶通過域名訪問公網IP,通過防火墻的DNAT策略訪問到LVS的VIP,根據LVS規則負載到相應節點。通過訪問Ingress-nginx svc 的NodePort 進入集群,根據Ingress規則負載到指定svc,再由svc自動生成的endpoint 負載清單調度到指定Pod,Pod由deployment 創建,根據應用的訪問量由HPA動態水平擴縮容,Pod存儲由阿里云對象存儲OSS來實現,在集群中安裝OSS-Provisioner插件并聲明sc以及pvc實現Pod的存儲,集群日志收集由helm部署EFK,集群監控由helm部署kube-prometheus-stack實現。MySQL和Redis數據庫部署在k8s集群外。

//拉取鏡像
docker pull quay.io/minio/minio

// 創建數據存儲目錄
mkdir -p ~/minio/data

// 創建minio
docker run
-p 9001:9000
-p 9090:9090
–name minio
-v ~/minio/data:/data
-e “MINIO_ROOT_USER=admin”
-e “MINIO_ROOT_PASSWORD=admin123456”
-d
quay.io/minio/minio server /data --console-address ":9090

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/71361.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/71361.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/71361.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python進階篇-面向對象

1.對象的定義 1.1 什么是對象 面向過程:將程序流程化 對象:就是“容器“,是用來存儲數據和功能的,是數據和功能的集合體。 面向對象和面向過程沒有優劣之分,它們只是使用的場景不同罷了。 1.2 為什么要有對象 有…

網絡安全“掛圖作戰“及其場景

文章目錄 一、網絡安全掛圖作戰來源與定義1、網絡安全掛圖作戰的來源2、網絡安全掛圖作戰的定義 二、掛圖作戰關鍵技術三、掛圖作戰與傳統態勢感知的差異四、掛圖作戰主要場景五、未來趨勢結語 一、網絡安全掛圖作戰來源與定義 1、網絡安全掛圖作戰的來源 網絡安全掛圖作戰的…

【嵌入式Linux應用開發基礎】read函數與write函數

目錄 一、read 函數 1.1. 函數原型 1.2. 參數說明 1.3. 返回值 1.4. 示例代碼 二、write 函數 2.1. 函數原型 2.2. 參數說明 2.3. 返回值 2.4. 示例代碼 三、關鍵注意事項 3.1 部分讀寫 3.2 錯誤處理 3.3 阻塞與非阻塞模式 3.4 數據持久化 3.5 線程安全 四、嵌…

嵌入式八股文(四)計算機網絡篇

第一章 基礎概念 1. 服務 指網絡中各層為緊鄰的上層提供的功能調用,是垂直的。包括面向連接服務、無連接服務、可靠服務、不可靠服務。 2. 協議 是計算機?絡相互通信的對等層實體之間交換信息時必須遵守的規則或約定的集合。?絡協議的三個基本要素:語法、…

LabVIEW 天然氣水合物電聲聯合探測

天然氣水合物被認為是潛在的清潔能源,其儲量豐富,預計將在未來能源格局中扮演重要角色。由于其獨特的物理化學特性,天然氣水合物的探測面臨諸多挑戰,涉及溫度、壓力、電學信號、聲學信號等多個參數。傳統的人工操作方式不僅效率低…

JAVA代碼走查重構常用prompt

代碼重構prompt: ## 主題: 代碼重構 ## 角色扮演: 你是軟件開發大師Martin Fowler,精通代碼重構、面向對象編程、Clean Code和設計模式,且熟練掌握《重構,改善既有代碼的設計》這本書中的重構思想和各種重構方法。 ## …

[數據結構]紅黑樹,詳細圖解插入

目錄 一、紅黑樹的概念 二、紅黑樹的性質 三、紅黑樹節點的定義 四、紅黑樹的插入(步驟) 1.為什么新插入的節點必須給紅色? 2、插入紅色節點后,判定紅黑樹性質是否被破壞 五、插入出現連續紅節點情況分析圖解(看…

STM32 HAL庫USART串口DMA IDLE中斷編程:避坑指南

HAL_UART_Receive接收最容易丟數據了,STM32 HAL庫UART查詢方式實例 可以考慮用中斷來實現,但是HAL_UART_Receive_IT還不能直接用,容易數據丟失,實際工作中不會這樣用,STM32 HAL庫USART串口中斷編程:演示數據丟失, 需要在此基礎優化一下. STM32F103 HAL庫USART串口…

sql注入中information_schema被過濾的問題

目錄 一、information_schema庫的作用 二、獲得表名 2.1 sys.schema_auto_increment_columns 2.2 schema_table_statistics 三、獲得列名 join … using … order by盲注 子查詢 在進行sql注入時,我們經常會使用information_schema來進行爆數據庫名、表名、…

Jenkins 給任務分配 節點(Node)、設置工作空間目錄

Jenkins 給任務分配 節點(Node)、設置工作空間目錄 創建 Freestyle project 類型 任務 任務配置 Node 打開任務-> Configure-> General 勾選 Restrict where this project can be run Label Expression 填寫一個 Node 的 Label,輸入有效的 Label名字&#x…

Electron:使用electron-react-boilerplate創建一個react + electron的項目

使用 electron-react-boilerplate git clone --depth 1 --branch main https://github.com/electron-react-boilerplate/electron-react-boilerplate.git your-project-name cd your-project-name npm install npm start 安裝不成功 在根目錄加上 .npmrc文件 內容為 electron_…

數控機床設備分布式健康監測與智能維護系統MTAgent

數控機床設備分布式健康監測與智能維護系統MTAgent-v1.1融合了目前各種先進的信號處理以及信息分析算法以算法工具箱的方式,采用了一種開發的、模塊化的結構實現信號各種分析處理,采用Python編程語言,滿足不同平臺需求(包括Windows、Linux)。…

FPGA VIVADO:axi-lite 從機和主機

FPGA VIVADO:axi-lite 從機和主機 TOC在這里插入代碼片 前言 協議就不詳細講解了,直接看手冊即可。下面主要如何寫代碼和關鍵的時序。 此外下面的代碼可以直接用于實際工程 一、AXI-LITE 主機 數據轉axi lite接口: 讀/寫數據FIFO緩存 仲裁&#xff1a…

1. 對比 LVS 負載均衡群集的 NAT 模式和 DR 模式,比較其各自的優勢 。2. 基于 openEuler 構建 LVS-DR 群集。

DR 模式 * 負載各節點服務器通過本地網絡連接,不需要建立專用的IP隧道 原理:首先負載均衡器接收到客戶的請求數據包時,根據調度算法決定將請求發送給哪個后端的真實服務器(RS)。然后負載均衡器就把客戶端發送的請求數…

ollama server啟動服務后如何停止

要停止 Ollama 服務器服務,取決于如何啟動該服務的。以下是幾種常見的啟動方法和相應的停止服務的步驟: 1. 直接在命令行中啟動 如果是在命令行中直接啟動 Ollama 服務器的,例如使用以下命令: ollama serve 可以通過以下方式停…

【設計模式】03-理解常見設計模式-行為型模式(專欄完結)

前言 前面我們介紹完創建型模式和創建型模式,這篇介紹最后的行為型模式,也是【設計模式】專欄的最后一篇。 一、概述 行為型模式主要用于處理對象之間的交互和職責分配,以實現更靈活的行為和更好的協作。 二、常見的行為型模式 1、觀察者模…

mapbox基礎,使用geojson加載line線圖層,實現純色填充、圖片填充、虛線和漸變效果

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式二、??使用geojson加載…

深入淺出:CUDA是什么,如何利用它進行高效并行計算

在當今這個數據驅動的時代,計算能力的需求日益增加,特別是在深度學習、科學計算和圖像處理等領域。為了滿足這些需求,NVIDIA推出了CUDA(Compute Unified Device Architecture),這是一種并行計算平臺和編程模…

LNMP+Zabbix安裝部署(Zabbix6.0 Lnmp+Zabbix Installation and Deployment)

LNMPZabbix安裝部署(Zabbix6.0) 簡介 LNMP(Linux Nginx MySQL PHP)是一種流行的Web服務器架構,廣泛用于搭建高性能的網站和應用程序。Zabbix 是一個開源的監控軟件,可以用來監控網絡、服務器和應用程序…

Docker 部署 Dify:輕松集成 Ollama 和 DeepSeek

1 Ollama的安裝及使用 1.1 什么是Ollama? Ollama 是一個用于本地部署和運行大型語言模型的框架。 Ollama 的作用包括: 本地模型運行:Ollama 允許在本地機器上運行大型語言模型(如 LLaMA、DeepSeek 等),無…