无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    云開發(fā)技術(shù)人員的挑戰(zhàn):開發(fā)云應(yīng)用從何入手

    發(fā)布時間:  2012/8/2 13:43:21
    無狀態(tài)特性、服務(wù)器宕機、不同的數(shù)據(jù)庫類型以及云平臺不斷修改,這一切都對開發(fā)云應(yīng)用的技術(shù)人員構(gòu)成了挑戰(zhàn),特別是對已經(jīng)習慣于開發(fā)傳統(tǒng)應(yīng)用的資深開發(fā)人員而言,挑戰(zhàn)更大。
    云計算2009年仍然延續(xù)了它在2008年的熱度,不難預(yù)料,運行在云上的應(yīng)用(以下簡稱云應(yīng)用)肯定會越來越多,隨之而來的是,肯定會有越來越多的開發(fā)人員不得不考慮或者參與云應(yīng)用的開發(fā)。
     云計算的本質(zhì)是通過互聯(lián)網(wǎng)訪問應(yīng)用和服務(wù),這些應(yīng)用或者服務(wù)通常不是運行在自己的服務(wù)器上而是由第三方提供。對云的開發(fā)者而言,在云計算模式下,盡管部署應(yīng)用時無需關(guān)心基礎(chǔ)設(shè)施方面的問題,但同時也帶來了一些新的問題,比如開發(fā)員不能用以前熟悉的方式調(diào)用數(shù)據(jù)庫、應(yīng)用程序呈無狀態(tài)特性以及必須采用不同的開發(fā)框架等。
     無狀態(tài)應(yīng)用和服務(wù)器宕機
      “開發(fā)云應(yīng)用最大的挑戰(zhàn)是,軟件必須能根據(jù)應(yīng)用的需求自己調(diào)整和提供所需要的資源。”Sun云計算部門CTO Lew Tucker說,幸運的是,借助云平臺提供的API,云應(yīng)用的開發(fā)人員可以從云的提供方申請更多的資源。
     開發(fā)人員還必須進行冗余設(shè)計,要認識到很有可能在“云”中的服務(wù)器只是普通的服務(wù)器,微軟Azure云平臺副總裁Amitabh Srivistava說,“很有可能服務(wù)器會出問題,因此,你必須在開發(fā)云應(yīng)用時考慮冗余。”
     開發(fā)云應(yīng)用時還必須考慮到Web應(yīng)用的無狀態(tài)特性(無狀態(tài)性是指客戶端和服務(wù)器端不必保存對方的詳細信息,服務(wù)器只需要處理當前請求,而不必了解所有的請求歷史—編者注),Srivistava說,“如果你的程序要求保留狀態(tài)信息,程序在運行過程中肯定會出問題。云計算的模式是,如果什么地方出了問題就終止它,然后另外再啟動一個程序。只有保證每個應(yīng)用程序的運行都是相對獨立的,也就是狀態(tài)無關(guān),才能達到這一目標。”
     Srivistava進一步解釋說,例如,在云中沒有本地磁盤這個概念,也沒有注冊,在無狀態(tài)的應(yīng)用中,這些參數(shù)都要被封裝起來打包在調(diào)用的參數(shù)中。
     Sun公司Tucker提醒說:“無狀態(tài)保證了應(yīng)用程序簡單,但是,要開發(fā)出真正有趣而且好用的應(yīng)用又需要一些狀態(tài)信息,比如我們必須保存用戶的信息以免要求用戶不停地登錄,這就是為什么我們?nèi)匀恍枰獢?shù)據(jù)庫或者其他一些什么東西來保存狀態(tài)的原因。”但是,有部分云上的應(yīng)用(如Web的前端)需要根據(jù)訪問量動態(tài)地進行調(diào)節(jié),必須是無狀態(tài)的。
     云應(yīng)用的另外一個特點是:應(yīng)用程序的不同部分可能分別運行在云的不同地方。例如,一個應(yīng)用程序的表現(xiàn)層可能運行在Facebook,而其存儲部分可能運行在亞馬遜的彈性存儲服務(wù)(S3)上,其應(yīng)用程序的邏輯部分又可能運行在另外一個完全不同的地方。
      “而以前程序員開發(fā)的程序都運行在自己的服務(wù)器上。” Tucker說,“這就意味著,開發(fā)云應(yīng)用時必須重新考慮系統(tǒng)的架構(gòu),特別是要考慮云應(yīng)用的大規(guī)模特性,不僅是用戶數(shù)量大,而且計算資源分布也很分散。”
     Tucker補充說:“也不要把云應(yīng)用想得多么神秘。其實沒有什么訣竅,要開發(fā)可擴展的云應(yīng)用,需要仔細地設(shè)計和規(guī)劃。”
     不過,云平臺可以給我們提供一些幫助。在某些情況下,比如使用Google App Engine來開發(fā)某些特定的應(yīng)用時,程序自然就具有了可擴展性,無需開發(fā)人員考慮。有時候,我們可以使用某些設(shè)計模式,這些設(shè)計模式可以用來為應(yīng)用程序提供擴展能力。例如,亞馬遜彈性計算云(EC2)的Multiple Availability Zones,開發(fā)人員在這里可以把一個應(yīng)用部署到多個地方運行。
      “以前,只有大公司能做到這一點。” Kay Kinton公司的發(fā)言人說。EC2有一種稱為彈性IP的功能,它能快速建立一個互聯(lián)網(wǎng)地址的映射,把準備發(fā)送給失敗的應(yīng)用實例的請求轉(zhuǎn)給一個有效的實例。
     不同類型的數(shù)據(jù)庫
     在云應(yīng)用中,抽象和無狀態(tài)在對數(shù)據(jù)庫的訪問時也同樣適用。“例如,Azure就給程序員開發(fā)人員提供了一種與訪問標準的關(guān)系型數(shù)據(jù)庫完全不同的方式。”Benjamin Day咨詢公司總裁Ben Day說,“Azure的存儲引擎也沒有使用關(guān)系數(shù)據(jù)庫,因此以前開發(fā)應(yīng)用時所采用的很多方法在開發(fā)云應(yīng)用時就行不通了。”
     他還以關(guān)系型數(shù)據(jù)庫中的存儲過程為例來說明,在關(guān)系型數(shù)據(jù)庫中,查詢邏輯與實際的數(shù)據(jù)位置很近,編程者可以明確知道數(shù)據(jù)在哪里、保存在哪些設(shè)備上,而在Azure云中,這個前提不再存在。
      “云應(yīng)用在訪問數(shù)據(jù)庫時的困難在于,無法保證你要讀取的數(shù)據(jù)庫在某一指定的位置或者數(shù)據(jù)中心或者某一指定的設(shè)備上,”Day說,“因此,最終你只能使用最基本的SQL查詢語句,而很多存儲過程由于與數(shù)據(jù)庫的具體類型密切相關(guān)而不能使用。”
     另外,Day補充說,Azure的存儲引擎也與微軟規(guī)劃中的SQL Server的云版本SQL數(shù)據(jù)服務(wù)(SQL Data Services)有很大區(qū)別,因此,開發(fā)人員需要了解自己到底是在使用哪個數(shù)據(jù)庫引擎。例如,Azure把一個1MB的文件作為一個Blob類型的數(shù)據(jù)保存,而SQL Server中會把這個文件保存在一張表(table)中。
     開發(fā)云應(yīng)用與普通應(yīng)用在訪問數(shù)據(jù)庫時有明顯區(qū)別的并不僅僅只有Azure,使用Google App Engine時也有同樣的問題。
     Google的App Engine產(chǎn)品經(jīng)理Pete Koomen介紹說:“Google App Engine不僅對實際的物理硬件進行了抽象,而且對關(guān)于設(shè)備的所有概念都進行了抽象。”這保證了開發(fā)人員把代碼上傳到Google以后,Google可以把這些代碼和數(shù)據(jù)庫分開管理。“因為Google把其中的很多流程都實現(xiàn)了自動化,因此,開發(fā)人員必須遵循一定的規(guī)則,這些規(guī)則與我們以前在傳統(tǒng)的SQL模式下的規(guī)則有很大區(qū)別。”
     在使用App Engine時,開發(fā)人員把那些要長期保存的數(shù)據(jù)存儲在Google的大表(Big Talbe)。“大表不是SQL數(shù)據(jù)庫。我們之所以使用大表而不用SQL數(shù)據(jù)庫,原因在于SQL數(shù)據(jù)庫要支持很多功能(例如Join功能),這使得我們要把一個數(shù)據(jù)庫放到多臺服務(wù)器上運行非常困難。”
      “在使用我們的系統(tǒng)開發(fā)云應(yīng)用時,我們會提供一個編程模型,并從一開始就鼓勵程序員們采用一些反常規(guī)的方式,比如,開發(fā)人員會在一次存儲過程中把數(shù)據(jù)分散保存在多個位置。”他說,這樣做的好處是保證應(yīng)用程序在執(zhí)行查詢時效率非常高。
     Koomen對在云環(huán)境中使用關(guān)系型數(shù)據(jù)庫持反對態(tài)度。他說:“我們發(fā)現(xiàn)在訪問量很大的情況下,關(guān)系型數(shù)據(jù)庫非常難于管理,為了解決高訪問量帶來的一系列問題,程序員不得不投入大量的時間和精力。”
     必須習慣于變化
     咨詢公司Model Metrics曾幫助客戶在Salesforce.com和其他一些平臺上部署了云應(yīng)用。它們發(fā)現(xiàn)云應(yīng)用開發(fā)和B/S應(yīng)用開發(fā)的一個主要區(qū)別是,“云上的應(yīng)用改變要快得多。” Model Metrics的CTO John Barnes說,“例如,Salesforce.com一年要出好幾次新的版本,每個新版本中很可能都會有值得一用的新功能和新特性。”
     Barnes建議,“作為一名云應(yīng)用的開發(fā)人員,你必須在技術(shù)上與云平臺保持一致,必須關(guān)注很多技術(shù)博客,也要積極參加一些網(wǎng)絡(luò)研討會。”
    開發(fā)人員還應(yīng)該了解不同的設(shè)計模式,例如最終一致性(Eventual Consistency,最終一致性是一種一致性的模型,用于并行編程,例如分布式共享內(nèi)存和分布式交易。最終一致性指的是,在一個較長的時間內(nèi),如果沒有更新的話,所有的更新都會在系統(tǒng)內(nèi)部進行傳播,最終保證所有數(shù)據(jù)的拷貝都是相同的—編者注)。 采用這種設(shè)計模式時,如果程序?qū)?shù)據(jù)進行了修改,也許要在幾毫秒之后才能在數(shù)據(jù)庫中反應(yīng)出來,“這種設(shè)計模式帶來的結(jié)果是,很可能從數(shù)據(jù)庫中取出的不是最新的值,”Barnes說,“由于諸如此類的原因,程序員開發(fā)云應(yīng)用時編程方式會有一些不同。”

    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線