日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

后台开发技术(1)--概述

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 后台开发技术(1)--概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



說到后臺開發,首選就有一個問題:什么是后臺開發。就我理解,就是做服務器端開發。在服務器端運行著不同功能的服務,有直接與客戶端連接的,有實現某一特定業務的比如用戶注冊登錄,有數據存儲的如基于mysql,memcached,redis等做的存儲系統,除此之外還有一些滿足運維監控系統,運營統計系統等。

那么后臺開發需要哪些技術呢?回答這個問題之前先來看看一般的后臺系統架構,如下圖所示:

?

后臺系統一般分為接入層,業務邏輯層和數據存儲層,它們各自有不同的職責:

接入層主要負責客戶端接入把用戶請求分發到業務邏輯層,客戶端不論是什么是瀏覽器還是APP類型的首先都要連接到接入層,任何請求都是通過接入層轉發,客戶端不用戶關心功能具體有哪個服務實現的。接入層主要解決跟用戶的連接問題。

業務邏輯層負責實現具體的業務功能,滿足業務需求。比如在微信中你輸入手機號碼和登陸密碼進入微信,跟好友聊天發消息都是業務層中不同的業務模塊完成的。從產品的角度看它是整個后臺的核心,不論是接入層還是數據存儲層都是為它做支撐的。

數據存儲層負責保存業務所需的數據,提供業務數據的讀寫支撐。

后臺系統的三層架構需要根據具體情況動態調整,而不是一成不變的。具體需要怎樣調整需要看具體的業務場景。首先要分析出系統的瓶頸在哪里,重點投入提高供瓶頸,其他地方則可以做的粗糙一些,樣可以避免過度設計,提高效率。

比如開發一個新的產品時,這個產品是沒什么用戶的,可能就有幾百個種子用戶。功能上也不知道用戶喜歡什么功能。這個時候基本沒什么瓶頸的,這個時候就要遵循簡單原則,架構上盡可能精簡,只做最核心的一些功能,目的是要盡快上線驗證。這個時候接入層和業務邏輯層可以合并,直連數據庫就行了。

隨著用戶量增加,產品功能越來越復雜,就會遇到第一個瓶頸,不同的業務場景瓶頸也不同。比如視頻的瓶頸一般在網卡I/O上,實時語音瓶頸一般在接入層上,電商類網站瓶頸一般在圖片存儲上即磁盤I/O,需要加密壓縮的瓶頸一般在CPU上。

分析瓶頸并優化是后臺開發的核心能力,它需要以下幾個方面的技術支撐:

?基礎:

1.服務器硬件硬件的性能,網卡性能,磁盤I/O性能,CUP性能。

2.常用系統調用和庫函數的性能,如read,write, memcpy,gettimeofday。

3.常用戶數據結構和算法的性能,如數組,隊列,二叉樹,hash表。

4.了解操作系統內存操作機制,熟悉內存分配算法,可以根據需要自己設計內存分配算法變體。

網絡:

  • 精通Socket網絡編程,對TCP/IP協議要非常熟悉。
  • 熟悉常用的應層協議如http, ftp, smpt, pop3。
  • 能夠根據需要設計專用應用層協議。
  • 能夠根據業務場景調整操作系統或開源工具的的網絡參數。
  • 能夠根據產品運行的局域網和廣域網環境優化接入機制。
  • 并發:

  • 熟練應用操作系統提供的進程間通信機制。
  • 清楚地知道多線程與多進程成各自的優缺點以及它們的應用場景。
  • 數據并發訪問機制。
  • 無鎖編程技術。
  • 并發設計模式。
  • 同步異步程序設計,了解他們的優缺點,根據具體場景靈活使用。
  • 分布式:

  • 數據同步的算法。
  • 數據/服務分片算法。
  • 負載均衡的設計方案。
  • 客戶端接入設計。
  • 可用性設計。
  • 擴展性設計。
  • 數據存儲:

  • mysql數據庫運行機制,清楚各種存儲引擎的特點
  • 了解mysql的索引設計機制,知道基本的優化方法。
  • 能夠使用各種nosql數據庫。
  • 數據主備方案設計
  • 數據cache設計
  • 安全:

  • 對稱加密算法,非對稱加密算法,摘要算法。
  • SQL注入,跨站攻擊,內存溢出防范方法。
  • 了解https原理,能夠根據情況設計安全方案。
  • 容錯設計。
  • 容災設計。
  • 故障定位:

    靜態代碼分析工具

    運行時故障定位工具top,free,iostat,mpstat,

    總結

    以上是生活随笔為你收集整理的后台开发技术(1)--概述的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。