主頁 > 軟體設計 > OSPF協議基礎

OSPF協議基礎

2021-10-25 10:17:03 軟體設計

RIP在大型網路中部署面臨的挑戰:
1.網路規模擴大:企業新業務層出不窮,且業務呈現大集中趨勢,使得網路規模不斷擴大
2.網路可靠性要求提供:各種應用程式對網路可靠性要求越來越高,網路發生故障后,需要在更短的時間內恢復正常
3.網路異構化趨勢加劇:在日常的運營維護中,硬體設備不斷升級或更新,不同設備之間性能差異較大,設備間互連鏈路帶寬也存在一定的差異,
需要一種各廠商均支持的開放路由協議

RIP在大型網路中部署所面臨的問題:
RIP特性: 帶來的問題:
逐跳收斂 收斂慢,故障恢復時間長
傳聞性路由更新機制 缺少對全域網路拓撲的了解(完全信任所收到的路由)
最多有效跳數為15 環形組網中,使遠端路由不可達
以跳數為度量 存在選擇次優路徑的風險

如何解決:
收斂慢,故障恢復時間長 收到更新->計算路由->發送更新” 改為“收到更新->發送更新->計算路由
缺少對全域網路拓撲的了解 路由器基于拓撲資訊,獨立計算路由
最多有效跳數為15 不限定跳數
存在選擇次優路徑的風險 將鏈路帶寬作為選路參考值

串口帶寬:2.048M

解決最大跳數為15跳:
跨16跳轉發:1.路由重發布:默認引入之后路由跳數為1
2.聚合:聚合之后的路由取原路由中跳數最小值作為聚合后路由的跳數

動態路由協議:
距離矢量(單位:跳數):RIP :基于UDP,埠號520
BGP:基于TCP,埠號179
鏈路狀態:OSPF:基于IP,協議號89
ISIS:集成
鏈路狀態:IP地址及掩碼,帶寬,鄰居,網路利用率,延遲……

OSPF:鏈路狀態路由協議:
1.路由資訊傳遞與路由計算分離:不直接傳遞各路由器的路由表,而傳遞鏈路狀態資訊,各路由器基于鏈路狀態資訊獨立計算路由
2.基于SPF演算法:所有路由器各自維護一個鏈路狀態資料庫,鄰居路由器間先同步鏈路狀態資料庫,再各自基于SPF(Shortest Path First)演算法計算最優路由,從而提高收斂速度
3.以“累計鏈路開銷”作為選路參考值:在度量方式上,OSPF將鏈路帶寬作為選路時的參考依據, “累計帶寬”是一種要比“累積跳數”更科學的計算方式

OSPF的作業程序:
1:通過hello報文建立鄰居
2:互動LSA,同步LSDB
3:SPF演算法,計算最優路由,加表

Router ID:用于在自治系統中唯一標識一臺運行OSPF的路由器,每臺運行OSPF的路由器都有一個Router ID
Router ID是一個32位的無符號整數,其格式和IP地址的格式是一樣的

Router ID選舉規則:
1.手工指定(通常建議手動配置),以大為優
2.如果沒有手動配置Router ID,則從Loopback介面中最大的IP地址作為Router ID
3.如果沒有配置Loopback介面,則從物理介面中最大的IP地址作為Router ID

鄰居關系建立必要條件:
hello報文的間隔/死亡時間一致;埠處于UP狀態;認證要通過;鄰居在同一網段;router-id不能沖突;區域id要一致

鄰居關系建立失敗原因:
一般報文錯誤:
收到自己的報文;錯誤的報文;錯誤的版本號;錯誤的校驗和;錯誤的區域號;報文在 Unnumbered 介面丟棄; 錯誤的虛連接;錯誤的認證型別; 錯誤的認證關鍵字;報文太短
報文長度大于ip 長度; 發送錯誤; 介面down;無法識別的鄰居; 錯誤的網段 ;外部選項不匹配;路由器id沖突
HELLO報文錯誤:
網路掩碼不匹配;hello定時器間隔不匹配;dead定時器間隔不匹配 0 : 虛連接的鄰居無法識別;NBMA的鄰居無法識別;非法的源地址
DD 報文錯誤:
鄰居狀態太低;無法識別的LSA型別 ; MTU選項不匹配
LS ACK報文錯誤:
鄰居狀態太低;無法識別的LSA型別
LS REQ報文錯誤:
鄰居狀態太低;空的請求串列;錯誤的請求
LS UPD報文錯誤:
鄰居狀態太低;更新的自己生成的LSA; LSA的校驗和錯;收到較舊的LSA; 無法識別的LSA型別
Opaque錯誤:
超出FLOOD范圍;10-超出FLOOD范圍;超出FLOOD范圍;無法識別的TLV型別
重傳超次錯誤:
DD報文重傳超次次數; Update報文重傳超次次數; Request報文重傳超次次數
配置錯誤:
Tunnel花費錯誤

hello報文中E位:代表路由器支持計算5類LSA(支持外部路由)

發現并建立鄰居 - Hello報文(組播發送HELLO包)
Hello報文的作用:
1.鄰居發現:自動發現鄰居路由器(被)
2.鄰居建立:完成Hello報文中的引數協商,建立鄰居關系
3.鄰居保持:通過Keepalive機制(周期性10s/30s的Hello報文),檢測鄰居運行狀態

     4.在MA(NBMA(非廣播多路訪問)/BMA(廣播多路訪問))網路中選舉DR/BDR

hello報文中攜帶:hello報文生存時間;死亡時間;鄰居串列;router-id
hello報文重傳時間:5s 重傳延時:1s
hello報文時間間隔:
P2P/MA:10s 死亡時間:410
P2MP/NBMA:30s 死亡時間:4
30

介面下:Ospf enble area 0 在介面內開啟ospf功能
介面狀態:1.DR
2.BDR
3.DR other
4.P2P:只在P2P/P2MP網路中

鏈路狀態資訊主要包括:
1.鏈路的型別:P2P,……
2.介面IP地址及掩碼;
3.鏈路上所連接的鄰居路由器;
4.鏈路的帶寬(開銷)

狀態機:
1.Down:鄰居的初始狀態,表示沒有從鄰居收到任何資訊
2.Attempt:發送hello給鄰居,沒有收到鄰居的hello報文;120s后沒收到回到down(NBMA網路獨有)
3.Init:路由器收到鄰居Hello報文,但是自己的Router ID不在所收到的Hello報文的鄰居串列中,表示尚未與鄰居建立雙向通信關系(自己的router-id不在活躍的鄰居串列中)
4.2-Way:路由器發現自己的Router ID存在于收到的Hello報文的鄰居串列中,已確認可以雙向通信(自己的router-id在活躍的鄰居串列中),此狀態下選舉DR/BDR
5.ExStart:路由器開始向鄰居發送DD報文,Master/Slave關系是在此狀態下形成的,初始DD序列號也是在此狀態下確定的,在此狀態下發送的DD報文不包含鏈路狀態描述(LSA摘要)
6.Exchange:路由器與鄰居之間相互發送包含鏈路狀態資訊摘要的DD報文(從路由器先進入此狀態并發送自己的LSA摘要)
7.Loading:路由器與鄰居之間相互發送LSR報文、LSU報文、LSAck報文
8.Full:LSDB同步程序完成,路由器與鄰居之間形成了完全的鄰接關系

OSPF鄰居建立程序

     鄰居建立程序:

RTA和RTB的Router ID分別為1.1.1.1和2.2.2.2,當RTA啟動OSPF后,RTA會發送第一個Hello報文,此報文中鄰居串列為空,此時狀態為Down,RTB收到RTA的這個Hello報文,狀態置為Init
RTB發送Hello報文,此報文中鄰居串列為空,RTA收到RTB的Hello報文,狀態置為Init
RTB向RTA發送鄰居串列為1.1.1.1的Hello報文,RTA在收到的Hello報文鄰居串列中發現自己的Router ID,狀態置為2-way
RTA向RTB發送鄰居串列為2.2.2.2的Hello報文,RTB在收到的Hello報文鄰居串列中發現自己的Router ID,狀態置為2-way
2-way表示鄰居關系的建立,鄰接關系的開始

  因為鄰居都是未知的,所以Hello報文的目的IP地址不是某個特定的單播地址,鄰居從無到有,OSPF采用組播的形式發送Hello報文(目的地址224.0.0.5)
 224.0.0.5:監聽所有運行了OSPF的路由器
 224.0.0.6:監聽DR/BDR

手動建立鄰居 :對于不支持組播的網路可以通過手動配置實作鄰居的發現與維護
OSPF支持通過單播方式建立鄰居關系

網路型別:
原因:為了支持二層功能

型別:1.P2P網路:僅兩臺路由互連;支持廣播、組播
2.P2MP網路:多個點到點網路的集合;支持廣播、組播
3.廣播型網路:兩臺或兩臺以上的路由器通過共享介質互連;支持廣播、組播
4.NBMA網路:兩臺或兩臺以上路由器通過VC互連;不支持廣播、組播
VC:虛電路 (需手工指定)
1.交換VC
2.永久VC

OSPF的度量方式:
默認參考帶寬為100M
實際帶寬G口1000M,E口100M

當計算結果有小數位時,只取整數位;結果小于1時,cost取1
修改開銷的方式:
1.手動修改介面的開銷:
介面視圖下:ospf cost 開銷值
2.修改參考帶寬值:全域修改
協議視圖下:bandwidth-reference 參考帶寬值(越大越精準)
注意:如果一臺路由器上既在介面上修改了開銷,也修改了參考帶寬值,介面開銷生效

OSPF報文型別:
1.HELLO報文:用來發現、建立并維護鄰居關系
2.DD報文:協商主從;互動LSA摘要(LSA的頭部資訊,可以唯一的確定一條)
3.LSR報文:用于請求自身缺少的LSA,LSR只攜帶摘要
4.LSU報文:用于回應對方所缺少的LSA,LSU攜帶是完整的LSA(定時更新/觸發更新都會發送LSU,并具有撤銷路由的作用)
5.LSACK報文:用于對收到鄰居發送的LSA確定回應,表示已經收到LSU,LSACK攜帶的是收到的LSA的摘要,保證同步程序的可靠性

多種報文的存在可保證LSDB同步的可靠性和防止收到重復的LSA
協商主從:保證DD報文互動的可靠性
重傳時間:5s 重傳延時:1s
必須對接收的LSA(LSU報文)進行確認:
隱式確認:LSU報文
顯示確認:LSACK報文

DD、LSR、LSU、LSACK中包含:
DD報文:LSA頭部資訊、LS Type、LS ID 、Advertising Router、LS sequence number、LS checksum
LSR報文:LS Type、LS ID 、Advertising Router
LSU報文:完整的LSA資訊
LSACK報文:LSA頭部資訊、LS Type、LS ID 、Advertising Router、LS sequence number、LS checksum

OSPF報文的功能需求
功能 實作分析
發現鄰居與保持 Hello機制即可實作
LSA同步 雙方互相發送LSA,完成同步;同時同步速度更快,占用資源更少
可靠性 確保LSA同步程序的可靠性

在OSPF Packet部分,所有的OSPF報文均使用相同的OSPF報文頭部:
? Version :對于當前所使用的OSPFv2,該欄位的值為2,
? Type:OSPF報文型別,
Type=1為Hello報文
Type=2為資料庫描述報文(DD)
Type=3為鏈路狀態請求報文(LSR)
Type=4為鏈路狀態更新報文(LSU)
Type=5為鏈路狀態確認報文(LSAck)
? Packet length:表示整個OSPF報文的長度,單位是位元組,
? Router ID:表示生成此報文的路由器的Router ID,
? Area ID:表示此報文需要被通告到的區域,
? Checksum:校驗欄位,其校驗的范圍是整個OSPF報文,包括OSPF報文頭部,
? Auth Type:為0時表示不認證;為1時表示簡單的明文密碼認證;為2時表示加密(MD5)認證,
? Authentication:認證所需的資訊,該欄位的內容隨AuType的值不同而不同,

OSPFv1:實驗版本
OSPFv2:支持IPv4
OSPFv3:支持IPv6

OSPF認證:
認證型別:1.明文認證(簡單認證),2.密文認證(MD5認證),3.不認證
默認不認證
認證方式:
1.介面認證:
在介面上配置,與該介面相連的介面上也必須配置認證
2.區域認證:
在區域里進行配置,一個區域里有一臺配置了區域認證,該區域的所有路由器都得配置區域認證
注意:如果一臺路由器上既配置了介面認證又配置了區域認證,介面認證生效
只要兩端認證型別和認證資訊一樣,認證方式不一樣也能建立鄰居

OSPF的LSDB同步:

LSDB同步程序如下:
1. RTA和RTB的Router ID分別為1.1.1.1和2.2.2.2并且二者已建立了鄰居關系,當RTA的鄰居狀態變為ExStart后,RTA會發送第一個DD報文,此報文中,DD序列號被隨機設定為X
I(起始位)設定為1,表示這是第一個DD報文,0表示不是第一個DD報文;
M(后繼位)設定為1,表示后續還有DD報文要發送,為0表示后面沒有DD報文;
MS(主從位)設定為1,表示RTA宣告自己為Master,為0表示自己為從,
2.當RTB的鄰居狀態變為ExStart后,RTB會發送第一個DD報文,此報文中,DD序列號被隨機設定為Y(I=1,M=1,MS=1,含義同上),由于RTB的Router ID較大,所以RTB將成為真正的Master,收到此報文后,RTA會產生一個Negotiation-Done事件,并將鄰居狀態從ExStart變為Exchange
3. RTA開始向RTB發送LSR報文,請求那些在Exchange狀態下通過DD報文發現的、并且在本地LSDB中沒有的鏈路狀態資訊,
4.RTB向RTA發送LSU報文,LSU報文中包含了那些被請求的鏈路狀態的詳細資訊,RTA在完成LSU報文的接收之后,會將鄰居狀態從Loading變為Full,
5. RTA向RTB發送LSAck報文,作為對LSU報文的確認,RTB收到LSAck報文后,雙方便建立起了完全的鄰接關系,

為什么要選舉主從關系:為了雙方在描述LSDB的程序中可靠
為什么雙方在描述LSDB的程序中要保證可靠:是為了保障后期LSDB同步的可靠

LSA頭部:
LSA是OSPF鏈路狀態資訊的載體,LSA是LSDB的最小組成單位,也就是說LSDB由一條條LSA構成的

所有的LSA都擁有相同的頭部,關鍵欄位的含義如下:
LS age:此欄位表示LSA已經生存的時間,單位是秒, 可以標識LSA的新舊,越小越新,
LSA老化時間3600s
更新時間1800s;只有路由器自己才能更新自己的LSA
LS type:標識了LSA的型別,1類和2類域內,3類域間,4類和5類域外,7類特殊區域,
Link State ID:鏈路狀態標識id,該LSA所描述的那部分鏈路標識,例如Router ID等,用于區分同一路由器產生同一型別的不同LSA,唯一標識一條LSA
Advertising Router:是產生此LSA的路由器的Router ID,
LS sequence number:LSA序列號,數值越大越新,用于檢測舊的和重復的LSA,
LS checksum:校驗和,判斷LSA的新舊,
Length:整個LSA的長度,

LSA新舊程度:1.序列號,越大越新
2.校驗和時,越大越新
3.age,越小越小;相差900s內不更新(為了防止LSA重復)
周期更新:1800s 觸發更新:收到新的LSA泛洪給其他鄰居
LS type,Link State ID和Advertising Router的組合共同標識一條LSA,
LSDB中除了自己生成的LSA,另一部分是從鄰居路由器接收的,鄰居路由器之間相互更新LSA必然需要一個“通道”

MA網路中的問題:
1. n×(n?1)/2個鄰接關系,管理復雜
2. 重復的LSA泛洪,造成資源浪費,
解決:選舉DR/BDR
DR/BDR作用:DR負責在MA網路中建立和維護鄰接關系,并負責LSA的同步
1.減少鄰接關系建立數量
2.降低OSPF協議流量/報文數量

DR與BDR選舉:在收到對方的hello報文中沒有DR/BDR則會觸發選舉,40s(等待接收所有路由器的hello報文)
選舉規則:DR/BDR的選舉是基于介面的
1.介面的優先級越大越優先,取值范圍(0-255),優先級為0不參與選舉,默認介面優先級為1
2.介面的優先級相等時,Router ID越大越優先
在實際選舉中先選BDR,再選DR(保證網路的穩定性)

DR不被搶占:在鄰居建立后,后續有優先級更高的設備加入時原DR不會被搶占

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335492.html

標籤:其他

上一篇:使用在Powershell中帶有反斜杠的-replace替換Windows目錄路徑

下一篇:06顯示幕

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more