分布式系统开发注意点_分布式系统开发注意事项
分布式系統開發注意點
開發分布式軟件系統時,要考慮許多因素。 如果您甚至不知道第一句話中我在說什么,那么讓我為您提供一些見解,示例以及有關分布式系統的實例。
總覽
分布式系統是指多個物理硬件設備與單獨的離散用戶交互并通過這些硬件設備協作以為這些離散的單獨用戶實現不同且相似的目標。 有時,這些設備使用服務器作為集線器以點對點模式工作,以了解彼此之間的連通性,而其他設備則通過單個或一組集中式服務器進行協作和協調,例如
類似于Extranet的系統,供方用戶通過Web瀏覽器審閱文檔,然后在其瀏覽器中單擊工作流,最終將文檔傳真給另一組用戶,這些用戶應提供帶有足夠標簽(即帶有條形碼)的服務。 這個循環使封閉的系統可以設計和開發分布式軟件。 傳真的接收者填寫并做任何需要作為其紙本世界的一部分的事情(包括隨著時間的流逝接收許多傳真并將其全部發送回去,這是另一篇有關電子簽名的博客文章的案例) 。 接收到的傳真服務器在接收到入站原始文檔后,會將接收到的傳真圖像“移交給”另一組用戶(甚至是發起出站傳真的同一用戶)進行整理和處理,以在接收下對其進行檢查和處理在他們的瀏覽器中再次進行工作流程。
在這里,您有許多系統在數據中心內協同工作以實現不同的目標。 您有一些用于用戶界面的Web服務器。 用于工作流系統,分析和報告的某些數據持久性層。 您有用于管理傳入/傳出傳真傳輸的傳真服務器(我自己喜歡Dialogic Brooktrout傳真板,我自己http://www.dialogic.com/Products/fax-boards-and-software/fax-boards.aspx )。 您具有入站和出站標簽,標記,排序規則,掃描和對象字符識別組件(通常,根據設計,一些不同的服務器可能并不僅是一個單獨的實例,而且取決于規模可能只有六個左右)。
所有這些組件下面的結構在所有這些組件之間都是一致的。 這始于OSI層,因為首先和大多數分布式系統是通過約束的物理層連接的,所以讓我們從這里開始。
物理層約束
OSI層有7層或9層,具體取決于您與誰交談。 在某些團隊中,第8層和第9層分別是政治和宗教,因為必須考慮到圍繞設計,開發,部署和維護這些系統的所有交互的社會結構,方法論和人類行為。 如果您不滿意,那么您的應用程序層用戶體驗也可能會出錯。 第1-7層(較常見的層,通常是更好理解的層)對計算機如何通過用戶或計算機的接口以及通過另一計算機或另一用戶的接口到另一臺計算機的數據移動方式進行分類。 如果沒有重構或在這些層中創建新軟件,您將永遠無法在基礎層之外做任何事情。 因此,很高興知道它們是如何工作的。 您可以在自己的軟件程序編寫工作中做到這一點(請,請相當高興),以更好地平衡處理約束。
http://fab.cba.mit.edu/classes/MIT/961.04/people/neil/ip.pdf的圖30-1映射了Internet協議套件的許多協議及其對應的OSI層。
軟件在硬件設備中繼續運行的位置
最重要的是本地機器硬件的操作系統及其實現。 我很難選擇真正構成底層架構的許多或其他任何層或系統,具體取決于您的托管服務提供商,而該提供商最終還是一個供應商,所以這又是另一回事了……除非他們運行通過open編寫的軟件您已經完成了源項目工作,但我離題了…… Linux編程接口:Linux和UNIX系統編程手冊是我喜歡Linux的資源。
怎么辦?
在過去的九年中,由于廉價(有時便宜)的商品硬件已成為我們所預見的現實,因此許多經典計算機概念已變得更容易實現。 這使得并行和分布式計算平臺,分布式文檔和鍵/值存儲庫,分布式發布/訂閱經紀人,發布者和消費者系統,甚至具有不可變結構的參與者模式也開始成為該結構的一部分。 這里的難題是這些市場領域的競爭和起步階段,甚至還沒有“ 跨越鴻溝 ”。
現在,說完所有這些……就顯得很突出。 “ ZooKeeper提供了正確性和協調性的關鍵點,這些要點必須比所有希望將其本質上構建為自己的關鍵邏輯的系統都具有更高的交易保證。” 卡米爾·富尼耶(Camille Fournier)在我的一篇博客文章中讓我看到了這一點, 網址為http://whilefalse.blogspot.com/2013/05/zookeeper-and-distributed-operating.html?spref=tw ,這是因為Zookeeper是如何與許多此類動物聯系在一起的現有類型的系統。 由于這些系統尚未在市場上成熟(到目前為止,它已經在早期采用者中充分成熟了),因此它們之間和內部存在一些一致性,因此我們必須開始(從字面上)研究,支持和承諾。
現在,關于Zookeeper的另一個好處是,已經開發了一個開放源代碼庫,并且(在所有條件相同的情況下)不斷維護該開放源代碼庫,使開發Zookeeper開發的可重復模式更加容易http://curator.incubator.apache.org/ 。 如果您從未使用過Zookeeper,建議您從http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html開始。
翻譯自: https://www.javacodegeeks.com/2013/06/distributed-system-development-considerations.html
分布式系統開發注意點
總結
以上是生活随笔為你收集整理的分布式系统开发注意点_分布式系统开发注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos攻击的过程(ddos过程描述故事
- 下一篇: 首选System.lineSeparat