又一個涵蓋前後端+DevOps+OpenAI大模型的高併發項目啓動了

大家好,我是冰河~~

今天,正式通知大家一件事情:又到了啓動新項目的時候,這也是 冰河技術 知識星球繼 Seckill秒殺系統 項目後,又一個高併發實戰項目。星球其他項目與專欄,大家可移步到冰河的個人站點:https://binghe.gitcode.host 進行查看。

那這次又是怎樣的一個高併發項目呢?沒錯,這次就是大家期待已久的分佈式IM即時通訊系統,在分佈式IM即時通訊系統中,我們會實現:單聊、羣聊、圖片、文件、語音、視頻、歷史消息、消息已讀、未讀、添加好友、刪除好友、創建羣、加羣、退出羣、查看羣成員、羣公告、修改羣備註等一系列完整的功能,更會實現對接OpenAI大模型服務,讓你深度掌握對接OpenAI大模型服務的流程和落地實現。

文末領券加入冰河技術知識星球更實惠,也有更多獎品等大家來拿,名額不多,先到先得。

一、項目介紹

本項目是一個基於前後端+Dev-Ops的分佈式IM即時通訊實戰項目,基於VUE+SpringBoot+各種分佈式技術棧+OpenResty+Swarm+Portainer+Grafana+Prometheus+Docker服務,集需求、架構設計、開發、部署、上線、運維、監控於一體的分佈式IM即時通訊系統。

1.對比網上系統

那這個系統跟網上的IM系統有啥區別呢?網上大部分IM系統基本都是單機的,無法支持分佈式擴展,並且是一個個demo,根本無法真正拿到線上環境運行,更無法真正投產使用。

這可能是你職業生涯中最具含金量的一次點擊,點擊【查看更多】瞭解冰河技術知識星球更多硬核技術和優質項目。

雖然能夠通過網上demo級別的IM項目學到一些即時通訊相關的知識,但是不夠全面,也不夠系統化,出現問題後,也沒有人會爲你解答,更沒有人帶你去全面、系統化的學習,到頭來,只是學了個demo,僅此而已。

這次咱們啓動的分佈式IM即時通訊系統,首先,從項目的名稱上就可以看出來,它是支持分佈式的,可以在線上環境無限擴展,並且考慮到真實環境下即時通訊的需求,冰河會將整個分佈式IM即時通訊系統分爲五大部分:即時通訊後端服務、大後端平臺、SDK接入服務、OpenAI接入服務、大前端UI。

如果小夥伴們公司或個人項目有接入即時通訊的需求,可以無縫對接SDK即可快速接入IM即時通訊功能。

可以這麼說,在冰河技術知識星球,小夥伴們不僅可以全面、系統化的學習到一個可以在線上真實環境運行的分佈式IM系統,還能基於SDK接入服務快速將自己公司或者個人項目接入IM即時通訊功能,這就是項目的高度可擴展的一種體現。

另外,分佈式IM即時通訊系統還會實現對接OpenAI大模型服務,讓你深度掌握對接OpenAI大模型服務的流程和落地實現。

2.項目工程

3.服務監控

這是秒殺系統壓測過程中的JVM監控圖,後續也會將分佈式IM即時通訊系統接入進來。

項目只有部署到真實環境壓測,真實運行起來讓用戶使用,才能發現項目中的細節問題,而這些,僅僅靠學習demo,寫demo項目是永遠無法被發現的。

二、能學到哪些技術?

前端:基於VUE開發完整的分佈式IM前端頁面,實現各項功能開發。

前端:熟練掌握跨域請求接口的實現方式與開發技巧。

前端:熟練掌握WebSocket實現即時通訊的方案和落地實現,並能夠掌握斷線重連、心跳等實現。

前端:熟練掌握Git、GitCode,對代碼工程的管理、新建代碼分支、靈活切換代碼分支、拉取與推送代碼、合併代碼等。

後端:熟練掌握基於DDD領域驅動設計開發項目,並能夠基於DDD快速搭建後端服務。

後端:熟練掌握SpringBoot、MyBatis、Mybatis-Plus等開發框架的使用,並對源碼有深度的理解,能夠基於源碼擴展相應的功能。

後端:熟練掌握Netty WebSocket與TCP網絡編程,掌握Netty的內存模型、IO多路複用、ChannelPipeline等。

後端:熟練掌握項目中使用的多種設計模式,並能夠將設計模式靈活應用到自身實際項目中。

後端:熟練應用各種分佈式技術棧,包括但不限於:SpringCloud、SpringCloud Alibaba、Dubbo、Nacos、RocketMQ、ShardingSphere、ELK(Elasticsearch、Logstash、Kibana)。

後端:掌握將真實場景需求轉化成架構設計的方法論,架構設計原則、系統邊界劃分與維護。

後端:熟練掌握單元測試、JMeter壓力測試工具,持續交付高質量代碼。

後端:合理打印日誌,熟練掌握日誌可視化治理的方案,掌握分佈式系統下的鏈路追蹤方案。

後端:熟練掌握Git、GitCode,對代碼工程的管理、新建代碼分支、靈活切換代碼分支、拉取與推送代碼、合併代碼等。

運維:熟練掌握Docker的部署與各種Docker命令,掌握Docker前後端鏡像的構建。

運維:熟練掌握Git、GitCode,對代碼工程的管理、新建代碼分支、靈活切換代碼分支、拉取與推送代碼、合併代碼等。

運維:熟練掌握OpenResty的配置與運維,並能夠基於OpenResty配置長鏈接轉發、配置SSL與WSS協議等。、

運維:熟練掌握使用Grafana、Prometheus對系統進行監控,包含:JVM、服務器內存、磁盤、IO、數據庫、中間件、應用服務(QPS、TPS、TTL、訪問量等)的完整鏈路監控。

冰河會爲分佈式IM即時通訊系統錄製完整的視頻,將整個系統的需求、設計、思考、落地實現、編碼等錄製成視頻,供大家更好的學習,掌握更深層次的知識、技術以及思考的過程。

三、適應人羣

本項目來自於真實互聯網業務需求,從零開始,以漸進式的方式,經過需求分析、架構設計、編碼實現、部署上線、運維監控等全流程實現,最終交付一個可在真實場景運行的、支持對接OpenAI大模型的分佈式IM即時通訊高併發系統項目。

  • 校招、社招沒什麼拿的出手的項目,投出的簡歷石沉大海。
  • 想自己開發一套IM即時通訊系統,但不知從何下手,網上的IM系統不成體系,無法提升自己。
  • 一直在小公司做CRUD,併發編程沒接觸過,更別提如何開發高併發實際項目了。
  • 公司項目沒什麼併發,在線人數也不多,學了很多併發編程相關的知識不知道怎麼用。
  • 學了很多併發編程的知識,也知道一些概念,能說出一些簡單的方案,但是沒實際項目經驗。
  • 自我感覺掌握了一些高併發編程的技術方案,但是如果真正做項目時,還是不知道如何下手。
  • 簡歷上寫了熟悉併發編程,在面試過程中,面試官一般會問高併發項目實戰問題,不知道怎麼回答。
  • 在大廠工作多年,參與了一些系統的建設與研發,但是也沒機會參與高併發、大流量的系統的整個建設過程。
  • 其他問題。。。

四、系統大綱

分佈式IM即時通訊系統不同於其他項目,在大綱層面與其他系統有所區別,總體上暫時會分成如下幾部分(可能會隨着系統的不斷完善有所調整):需求設計、後端服務、SDK接入服務、大後端平臺、OpenAI大模型接入服務、大前端UI、部署與監控等幾部分。

  • 第1部分:需求設計
    • 第1節:爲何要學習分佈式IM即時通訊系統
    • 第2節:分佈式IM即時通訊系統的目標與挑戰
    • 第3節:...
  • 第2部分:後端服務
    • 第1節:後端服務的設計
    • 第2節:...
  • 第3部分:SDK接入服務
    • 第1節:SDK接入服務的設計
    • 第2節:...
  • 第4部分:大後端平臺
    • 第1節:大後端平臺功能設計
    • 第2節:...
  • 第5部分:OpenAI大模型接入服務
    • 第1節:對接ChatGPT流程設計
    • 第2節:對接ChatGPT功能實現
    • 第3節:...
  • 第6部分:大前端UI
    • 第1節:Web頁面工程搭建與初始化
    • 第2節:Web頁面結構化設計
    • 第3節:...
  • 第7部分:部署與監控
    • 第1節:Docker環境搭建
    • 第2節:Portainer環境搭建
    • 第3節...

整體課程採用視頻+小冊+源碼+1v1問答形式,加入星球即可加入專屬交流羣,並且星球提供了簡歷優化服務,還爲大家準備了1000+精美簡歷模板,助力小夥伴們升職加薪,讓你在面試過程中更具競爭力。

五、如何學習

分佈式IM即時通訊系統是冰河技術知識星球諸多項目中的其中一個,還有很多其他項目,例如:簡易商城腳手架項目、Seckill秒殺系統、高併發設計模式等等,還有開源項目、技術小冊、1000+精美簡歷模板與面試技巧等(加入星球后直戳鏈接:https://t.zsxq.com/140wNNbz9)。詳情可以點擊放大下圖進行查看。

好了,今天就到這兒吧,我是冰河,我們下期見~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章