微服務(wù)架構(gòu) 為什么電腦還沿用馮·諾伊曼結(jié)構(gòu)而不使用哈佛結(jié)構(gòu)?
為什么電腦還沿用馮·諾伊曼結(jié)構(gòu)而不使用哈佛結(jié)構(gòu)?今天的計算機,在宏觀層面上,看起來仍然像馮·諾依曼的體系結(jié)構(gòu)。在微觀層面上,它們已經(jīng)是哈佛建筑,或者兩者的混合體。馮諾依曼架構(gòu)將代碼和數(shù)據(jù)放在同一內(nèi)存中
為什么電腦還沿用馮·諾伊曼結(jié)構(gòu)而不使用哈佛結(jié)構(gòu)?
今天的計算機,在宏觀層面上,看起來仍然像馮·諾依曼的體系結(jié)構(gòu)。在微觀層面上,它們已經(jīng)是哈佛建筑,或者兩者的混合體。
馮諾依曼架構(gòu)將代碼和數(shù)據(jù)放在同一內(nèi)存中。哈佛體系結(jié)構(gòu)的代碼和數(shù)據(jù)放在不同的內(nèi)存中。
目前,個人計算機的處理器和內(nèi)存是分開的,程序和數(shù)據(jù)放在統(tǒng)一的地址內(nèi)存中,因此可以認(rèn)為它屬于von Neumann體系結(jié)構(gòu)。
然而,在CPU中,從內(nèi)存中獲得的數(shù)據(jù)和指令將被放入各自的緩沖隊列(高速內(nèi)存),并帶有自己的緩存和控制單元,因此更符合哈佛體系結(jié)構(gòu)的描述。
兩者之間也有混合,例如數(shù)據(jù)和指令使用統(tǒng)一的地址總線,但有自己的數(shù)據(jù)總線,等等。因此,現(xiàn)代處理器已不能簡單地用馮·諾依曼或哈佛體系結(jié)構(gòu)來描述。
隨著架構(gòu)設(shè)計的演變?yōu)槭裁错椖恐行枰玫絊OA框架?
當(dāng)我們在10多年前接觸到SOA概念時,主要來自IBM和Oracle的領(lǐng)先廠商以及一些國內(nèi)中間件制造商都在跟進(jìn)。人氣不亞于區(qū)塊鏈、中間平臺和aiot。所有公司都使用自己的產(chǎn)品和解決方案組合來推斷SOA。更典型的產(chǎn)品是ESB、BPM、portal,有時還有DP開發(fā)平臺。當(dāng)時很多企業(yè)決定構(gòu)建SOA,軟件開發(fā)者甚至ERP廠商都必須與SOA有關(guān)聯(lián),否則他們不知道怎么談電影,不好意思跟別人打招呼。
SOA面向服務(wù)架構(gòu)是一種設(shè)計理念和架構(gòu)規(guī)范,用于構(gòu)建靈活的it架構(gòu),支持隨需應(yīng)變的業(yè)務(wù)。
然而,應(yīng)用軟件廠商強調(diào)的集成更多的是大規(guī)模系統(tǒng)模塊之間的集成,而中間件廠商強調(diào)的是異構(gòu)應(yīng)用系統(tǒng)之間的集成。
很多時候,企業(yè)系統(tǒng)必須基于SOA進(jìn)行集成,但僅僅依靠ESB、BPM和門戶是不夠的。必須有MDM主數(shù)據(jù)治理、IDM統(tǒng)一權(quán)限、統(tǒng)一賬戶和統(tǒng)一認(rèn)證。MDM是深度應(yīng)用集成(如BPM跨異構(gòu)系統(tǒng)過程集成)和深度數(shù)據(jù)集成(DW、BI、BD、DSS、DAP和其他數(shù)據(jù)分析平臺項目)的基礎(chǔ)。SOA產(chǎn)品的綜合集成項目是基礎(chǔ),只有產(chǎn)品是不夠的。需要甲方的高層支持,需要業(yè)務(wù)部門、應(yīng)用廠商、信息部門的高效合作、拼搏和妥協(xié)。這是一個考驗交付團(tuán)隊和甲方能力和決心的大項目,經(jīng)過十多年的投入,從產(chǎn)品的實施、管理體系的實施、解決方案的實施、企業(yè)文化的實施等方面都提煉出了許多最佳實踐,已成為數(shù)據(jù)鏈敏捷集成的基因。
地球演化中有哪些超乎人想象的現(xiàn)象?
我說了兩件至今地球上沒有人能解釋的事情:
以上兩個數(shù)字表明,地球自轉(zhuǎn)軸的角度可以通過φ與5°角的黃金比例來計算,計算結(jié)果與實際測量值完全一致。地球的傾斜符合黃金分割的審美標(biāo)準(zhǔn),處于適當(dāng)?shù)臓顟B(tài)。
這個數(shù)字是瑪雅人發(fā)現(xiàn)的:在7.13.0.0.0天內(nèi),所有年份的分?jǐn)?shù)(大約1/4天)加起來就是兩年。這里,瑪雅數(shù)字是20,但是十位數(shù)是18,所以1.0.0是18×20=360,也就是1年。
以上兩個數(shù)字固定地球的自轉(zhuǎn)、公轉(zhuǎn)和傾角。這些數(shù)字是這樣出現(xiàn)的,除非有先進(jìn)的文明,否則地球人無法解釋,但這種解釋更不可靠。
為什么傳統(tǒng)行業(yè)幾乎都用Oracle,而互聯(lián)網(wǎng)行業(yè)幾乎都不用Oracle呢?
首先,銀行需要絕對穩(wěn)定。可以委托它全權(quán)負(fù)責(zé)使用付費的非開源產(chǎn)品。此外,數(shù)據(jù)庫制造商將有專門的維護(hù),以節(jié)省擔(dān)心,努力和安全。
MySQL開源產(chǎn)品的穩(wěn)定性沒有O高,很容易深入開發(fā)。然而,MySQL的使用完全取決于您。銀行不會找一個特別小組來維護(hù)隨時可能發(fā)生的定時炸彈。此外,銀行有大量的交易,但它不像互聯(lián)網(wǎng)應(yīng)用程序那樣超級并發(fā)。它們大多由內(nèi)部接口使用,分為兩部分,區(qū)域是不同的服務(wù)器,每個區(qū)域只存儲自己的相關(guān)數(shù)據(jù)。比如,如果你把錢從廣東轉(zhuǎn)到山東,原來的山東賬戶就不會保存你的記錄。只有轉(zhuǎn)移后,山東數(shù)據(jù)庫才能有記錄。在依托甲骨文商業(yè)委托的基礎(chǔ)上,我行還將進(jìn)行對賬,確保數(shù)據(jù)一致性。
但是互聯(lián)網(wǎng)企業(yè)是不同的。超級并發(fā)和小型計算機不再滿足并發(fā)條件。即使Oracle足夠優(yōu)秀,要使用專門為更高并發(fā)性設(shè)計的MySQL,您也需要一個專業(yè)的團(tuán)隊來維護(hù)它。穩(wěn)定性不如Oracle,但是分布式集群可以避免這種情況。由于開源,MySQL還可以根據(jù)自己的需要定制自己的功能。但大多數(shù)公司并不使用它。小公司也是這么用的。阿里巴巴對MySQL的重新開發(fā),除了可以自己使用,還可以銷售服務(wù)。
另外,除了并發(fā)問題,阿里巴巴選擇m而不是O的原因是Oracle太貴,因為企業(yè)要考慮收支。就連阿里巴巴的利潤率也不如銀行