作者:小傅哥 博客:https://
?沉淀、分享、成長,讓自己和他人都能有所收獲!?? ? 大家好,我是技術UP主小傅哥。 耗時9個月制作,48節課程,微服務分布式架構,前后端 + DevOps + AI MCP(場景運用) ,全棧式編程 + 全程視頻 + 全套的技術小冊,手把手???????教學,終于完結啦!?? 講道理,做項目,就得做公司里真實有的業務。 我在非常多的互聯網業務應用中,都看到過這樣一種產品形態,它就是拼團交易營銷場景,如;拼多多/京東購物?? 、滴滴拼券?? 、騰訊開團搶購服務器?? 、美團團購?? 等等,都是以拼團方式增強交易單量的業務場景。所以,如果想面試互聯網公司,還是要優先考慮做一些這樣的真實場景業務,這樣才能和面試官有東西可以講,而不是什么都沒的聊o(╥﹏╥)o。 此套項目,小傅哥已提供了對應的簡歷模板 、面試問題(一直梳理中) ,還有 AI MCP 場景的加入,通過 AI MCP 對接 ELK + 普羅米修斯監控,Ai Agent 智能化分析系統的日志和運行情況。 本項目,和你之前學習過的一些項目最大的區別,就是!這是真實的業務,全核心流程覆蓋,有非常好的架構和編碼設計。這塊學習后,進入公司完全可以跟著大家一起做需求,而不是瑟瑟發抖的不知道自己要做啥! 文末有加入學習方式,提供全套的課程代碼、文檔、視頻,此外還有額外的16個實戰項目一起獲取!??
一、能學到啥該項目是互聯網toc場景的核心業務流程,以真實業務作為背景,實際可上線,可運行為目標,進行系統的需求分析、架構設計、功能實現,過程涵蓋設計模式的運用,解決復雜場景問題。讓大家感受到,??牛逼的代碼,從來不是一頓寫CRUD! - 【前端】以 Ai Agent 設計前端 UI,包括 HTML、Div、CSS 等前端編程技術。
- 【前端】掌握 fetch 方式對后端接口的調用,處理相關的邏輯數據。
- 【后端】熟練搭建項目工程,學習工程分層結構概率和設計思路。掌握更多的六邊形、洋蔥、整潔架構。
提高簡歷技術亮點 - 【后端】熟練掌握 Spring、SpringBoot、MyBatis 等開發框架技術,并對框架源碼所提供的擴展接口具備運用能力。
- 【后端】熟練使用 SpringCloud 核心微服務分布式技術棧,包括:Fegin、Sentinel、Nacos、熔斷、限流、降級等。
先做功能,后面逐步添加。 - 【后端】熟練使用大廠中常用的設計模式手段和設計原則技術,對各類場景的方案設計和落地能力,深度提高自身編碼思維和開發技術能力。
- 【后端】深度學習復雜場景的架構設計、編程思維,如果處理系統功能的邊界和上下文的維護。—— 這些東西一定是從實踐中才能學習到的。
- 【后端】熟練使用 Mock 單測工具、JMeter 壓測工具,增強代碼交付質量。
- 【后端】熟練掌握異常、枚舉、錯誤碼的定義和使用,并學習到如何合理打印服務日志,便于問題排查。
- 【后端】以通用場景設計為目的,提取共性邏輯為通用的設計框架,涵蓋;動態配置、設計模式(規則樹、責任鏈)、限流。
- 【運維】熟練使用 Docker 在本地和服務端的配置和部署應用,以及在本地構建前后端鏡像。
- 【運維】熟練掌握 Git、GitCode,對工程代碼的管理,推送、拉取、切換分支、合并代碼等操作。
- 【運維】熟練使用 Nginx 配置轉發服務,并能申請ssl配置https服務。
- 【運維】熟練使用 Grafana 監控系統 + AI MCP,對系統的 JVM、磁盤、Tomcat、應用(QPS、響應時間、調用量)完整監控。
此外,小傅哥已對全過程都做了需求的分析、功能的設計、編碼的精細化處理,讓你吃上細糠!也通過這種方式,真正的把你的技術儲備整起來,以后進入到公司都是嘎嘎強的選手! 二、運行展示整個拼團交易的流程非常細膩,包括了,一套小型支付 + 拼團營銷平臺的完整對接,涵蓋;驗簽 、掃碼/無痕登錄 、試算 、鎖單 、支付+結算 、退單+退單 的完整鏈路流程。如圖; 前端頁面體現了全部核心流程,看著前端不是太多,但后端支撐整套系統了,寫了1.38萬行代碼! 三、簡歷模板注意:????? 不要直接復制粘貼簡歷模板內容!視頻提供了 DeepSeek AI 方式編寫簡歷,可以參考。 項目名稱:拼團營銷服務系統 、交易營銷場景 - 拼團系統 、營銷拼團交易平臺 、仿拼多多/騰訊/京東,拼團玩法系統(以大廠項目為背書) 、拼團外賣平臺系統(結合其他項目一起組合) - 參考以上方式編寫自己的項目名稱,尤其拼團還是一個微服務,可以和很多其他系統組合。 項目架構:微服務設計 、分布式架構 、DDD 領域驅動設計 + 六邊形分層架構實現 、前后端分離技術 核心技術:SpringBoot、MyBatis、MySQL、Guava、Redis、RabbitMQ、動態配置中心(DCC)、普羅米修斯監控、Docker等 - 如果學習了其他技術棧也可以補充。 - 方式1(以學習視角介紹):本項目參考
拼多多 交易購物拼團場景,調研中大廠相關營銷業務場景和技術架構方案,設計實現了本套拼團營銷服務系統,支持各類營銷優惠(直減、折扣、N元購)。該系統以面向對象開發,運用 DDD 拆分領域邊界,使用設計模式設計服務功能。提高系統的擴展性和可維護性。 - 方式2(以提供服務介紹):該項目以
拉動/促進/提高 (小型支付商城/外賣點餐/購票出行/...)交易單量為目標,通過設計拼團優惠組隊下單為手段,達到增強用戶自傳播分享私域提高整個交易GMV的結果。三段式描述,...目標,...手段,...結果 - 方式3(以實際場景介紹):該項目是以促進Xxx公司Xxx場景的核心營銷優惠玩法系統,圍繞公司的xxx、yyy、zzz等全部交易業務,設計通用的拼團優惠鎖單和組隊結算回調服務。此系統分布式架構設計,可支撐單機壓測量 xxx tps,tp99 xxx 的數據指標,有效的滿足公司的全量的業務場景接入使用。
- (舉例)通過 Redis 發布訂閱模型,結合 Spring AOP 切面和代理,以自定義注解的方式控制屬性信息動態配置。減少系統與 Redis 的 IO 交互,提高對高頻場景屬性值的使用時間效率。
- (舉例)設計拼團組隊結算的 HTTP、MQ 雙重手段,滿足外部應用和內部微服務的不同方式對接,增強系統的適配性。同時為了保證整體方案的可靠性,在結算觸達時,先異步多線程方式即時觸發回調(HTTP、MQ),再通過業務一致性任務數據補償校驗。(MQ、HTTP,都可能因網絡原因導致失敗,因此需要重試)任務的觸達,還增加多分布式鎖,讓任務互備搶占方式執行,增強系統的魯棒性設計。
- (舉例)設計 Redis BitSet/BitMap 人群標簽,用于過濾可見和可參與,拼團活動的人群信息。該人群標簽可依賴于過往用戶數據(交易下單)通過 job 任務完成人群標簽的錄入。
- (舉例)通過策略模式,設計拼團折扣(MJ、ZJ、NYG)的計算策略。同時折扣的計算也會通過人群標簽過濾,以滿足運營策略配置,降低活動風險。
- (舉例)運用 retrofit2/okhttp3/spring cloud fegin + nginx 負載,對接拼團交易平臺鎖單服務,以及通過 http 回調和 MQ 監聽來處理交易結算。
- (舉例)
三階段實現的內容 ,通過獨占鎖處理互備任務搶占執行回調,確保在同一時刻有一個運行的回調任務,提高系統的魯棒性設計。 - (舉例)
三階段實現的內容 ,設計Redis無鎖化拼團庫存搶占和恢復庫存處理,減輕數據庫行鎖獨占的壓力,提高系統吞吐量。 - (舉例)
三階段實現的內容 ,抽象通用函數式緩存分級設計,并結合扳手工程DCC動態配置,處理緩存降級到DB設計。 - (舉例)
三階段實現的內容 ,結合 RateLimiter + DCC 動態配置,實現動態限流配置。 - (舉例)
三階段實現的內容 ,以 Ai MCP + ELK + 普羅米修斯監控,以 Ai Agent 智能體方式,分析錯誤日志和異常監控,動態化展示監控報表。 - (舉例)
三階段實現的內容 ,通過枚舉策略,設計多種類型退單(未支付&未成團、已支付&未成團、已支付&已成團),并通過回調處理退單退款。
- (舉例)以拼團試算場景舉例,運用通用設計模式模型框架,完成試算;根節點、切量開關、營銷折扣、人群標簽、異常兜底等流程串聯。設計這樣解耦設計,極大的提到了程序的可擴展性。
- (舉例)以拼團鎖單場景舉例,拼團鎖單場景,使用通用的責任鏈模型框架,校驗活動的有效性(狀態、有效期)和用戶的參與資格。
- (舉例)以拼團結算場景舉例,拼團結算場景,使用通用的責任鏈模型框架,校驗渠道黑名單配置、拼團組隊信息、交易時間屬性、訂單有效狀態等。
- (舉例)以拼團試算場景舉例,在查詢優惠配置數據時候,抽象出模板結構,使用 Supplier 函數式編程,設計動態降級、緩存數據和 dao 的后置執行操作。通用模板的設計讓所有場景更容易接入。
ActivityRepository#queryGroupBuyActivityDiscountVO
架構設計,以 DDD 領域驅動設計,四色建模方式,按照系統功能流程,拆解服務邊界。包括;活動域、標簽域、交易域。 設計模式,設計并提煉通用的責任鏈 、規則樹 模型框架,解決領域場景中多處,需要使用設計模式解耦復雜流程鏈路的調度(避免過多的if...else判斷)。鑒于多處場景的責任鏈使用,模塊框架設計責任鏈為執行和鏈路分離組裝,便于工廠可以組合出各類執行責任鏈,不被不同的鏈路管理影響(以往的責任鏈,一般是單例的,會被影響)。
異步線程,為提高用戶體驗,將拼團優惠試算所需的營銷類數據加載,由串行改為異步線程并行執行。此執行方式由通用設計模式模型框架提供。(如果由引入星球的動態線程池,也可以在這里增加線程池的管理描述) 功能方案;詳見,https:///md/project/group-buy-market/notes.html
以上僅對部分內容做了簡歷編寫,這里還有非常多的內容可以寫到簡歷,可以根據自己的學習和梳理,以及擴展進行簡歷編寫。
四、后端設計1. 分層架構- 整個系統是一個微服務分布式架構設計,通過兩套系統的對接,體現微服務的全流程處理關系。
- 下面是系統中用到的核心技術棧,框架、組件、監控、部署、發布、上線,可以說是非常全面。
2. 工程結構- 拼團和交易系統,以面向對象的思維,劃分出領域結構。活動域、標簽域、交易域、鑒權域、商品域、訂單域。
- 兩套系統通過 http/rpc(可配置對接)、mq(RabbitMQ)進行同步和異步交互,因為配有本地消息表,所以可以保證最終一致性。
- 這里有非常精妙的編碼設計,如;工廠模式、組合模式、策略模式(含枚舉策略)、責任鏈、抽象類等,又提供了 Supplier 函數式編程,可以說是應有盡有!
3. 庫表數據- 一看庫表就知道,這不是小兒科!有標簽表,有活動的優惠,組隊,訂單明細,本地消息表,商品活動配置表,sku表。
4. 用戶旅程- 拼團全流程簡圖,以用戶旅程來看各個節點所做的事項。
5. 場景舉例 - 設計模式5.1 試算為了解決整個交易過程的復雜場景,做了一套通用設計模式框架,并結合一套異步數據加載的多線程設計,來解決加載數據效率問題。讓整個框架的靈活性非常高。 5.2 退單- 第一條退單鏈路,以工廠??方式獲取執行責任鏈,責任鏈的作用是拆分原有的流程結構,分節點進行逐步處理。之后到退單的具體操作,則根據枚舉策略,拿到對應執行的退單策略模式,完成退單動作。退單執行后發送MQ消息,驅動后續流程。
- 第二條消息消息,從接收 MQ 開始,以 MQ 消息中的策略類型進行庫存恢復操作。這部分保持原有的走對應的策略即可。
整套項目,每一節都會有讓你有新的感受,各個章節都有亮點設計,讓你可以寫到簡歷。
|