數據專欄

智能大數據搬運工,你想要的我們都有

科技資訊:

科技學院:

科技百科:

科技書籍:

網站大全:

軟件大全:

本文作者:HelloDeveloper “電子發票、食品溯源、數字身份、慈善信息上鏈……”這些名詞在過去的一年中越來越多出現在大眾眼前。區塊鏈不再是某一數字貨幣的代名詞,而是越來越多的作為一種技術呈現商業價值,其特有的去中心化、可追溯、不可篡改等特性逐漸被挖掘,與云計算、AI等一道成為新一代具有變革性的技術動力,牽引著千行百業創新發展。 技術在政策的驅動下日益高漲。 去年10月,在中央明確“把區塊鏈作為核心技術自主創新的突破口,加快推動區塊鏈技術和產業創新發展”后,以京滬穗為首的各省市地區陸續推出相關政策,11月區塊鏈政策出臺環比增長140%。對于科技企業來說,踏上時代與政策的紅利是快速發展的好時機,但要想在競爭日益激烈的上升階段占得先機,選擇特定的行業深耕細作尤為重要。 由于行業的需求千差萬別,我們從政策、市場需求、行業特性、技術成熟度等方面著重談兩個創新的行業,希望能夠拋磚引玉,找到區塊鏈與行業的結合點,共同挖掘區塊鏈落地的商業價值。 政務:政策下迎來紅利期 在討論區塊鏈在政務領域的發展可行性前,不妨先來看一組數據。 據公開資料統計,在2019年落地的846個項目中,涵蓋12大應用領域共計100+應用場景。其中政務類項目214項,占比約25%,與金融行業一起占據絕對的領先地位。 從更細致的數據分析,2019年上半年,區塊鏈政務應用的數量占區塊鏈應用總量的20.3%,低于全年平均水平。從中可以看出,區塊鏈在政務領域的應用不僅數量大,且在去年一直成上升趨勢,這將極大提振投資者的信心,也能進一步推動技術的研發創新。 這樣的上升趨勢能否在2020年繼續呢?這是肯定的,區塊鏈在政務領域最大的刺激與決定性因素在于政策,而在去年10月份中央申明態度后,各地方政府對于區塊鏈項目的鼓勵政策可謂此起彼伏。 尤其在政務領域,我們看到很多由政府牽頭的項目已經取得了階段性的成果: 北京海淀區通過區塊鏈技術,實現“不動產登記+用電過戶”同步辦理;南京建設證照鏈實現證照可信互認; 重慶應用區塊鏈技術試點企業開辦、工程項目審批兩項業務;上海提出探索用區塊鏈技術加速“市民云”建設; 廣州市“智慧破產審理系統”系統上線,其包含全國首個破產審判區塊鏈協同平臺。 政策牽引下,科技巨頭紛紛加碼區塊鏈政務。 以百度智能云為例,其通過三大平臺(聯盟鏈BaaS、可信計算平臺、可信數字身份平臺)及兩個垂直行業專項解決方案,全面賦能各政務場景。 其中,聯盟鏈BaaS平臺與可信計算平臺相互集合,降低了多個管理局之間數據協作的成本。讓從前需要到各個機構獲取證明的繁瑣流程,現在可以一站式完成。而數字身份則不僅實現了政務的一網通辦,也提升了各個行業涉及身份認證時的效率。由此可見,我國頭部科技企業已經具備技術與經驗上的實力,這為產業進一步的創新發展打下了良好的基礎。 總的來說,目前區塊鏈在政務領域的應用多落地于一線城市,而為政府項目提供技術支持的也多為頭部科技公司,但市場遠不止于此。 我國人口基數大,新增人口多,且未來二三線城市以至鄉鎮都將在政策帶動下逐步數字化,市場需求長期存在。此外,考慮到政務類應用如數字身份、電子存證等涉及公民信息等敏感因素,對安全性等技術要求較高,市場進入門檻高。因此,具備優秀人才與技術資源的企業,在一段時間內依舊具有強大競爭力,無須考慮同質化的問題。 金融:全球在創新 需求在推動 無論是最早抓住人眼球的數字貨幣,還是現如今被大力開發的跨境支付、資金追溯、電子票據等應用,區塊鏈與金融領域都有著密不可分的關系。有人會好奇,作為最早也是落地應用最多的領域之一,金融行業在2020年還會是區塊鏈技術最肥沃的土壤嗎? 我國中央政府在去年十月對區塊鏈技術的肯定,無疑為2020年市場的蓬勃發展釋放了利好信號,尤其是“金融創新”口號的日益響亮,也為區跨鏈在金融領域的發展提供了更多可能。 但與政務領域不同,金融業的發展與國際各個區域市場的關系緊密相連,那不妨就以此時間點為界,看看世界上主要國家對區塊鏈在金融領域的態度。 縱觀全球,絕大多數國家尤其是發達國家對區塊鏈技術持鼓勵態度,特撥科研經費、成立專項實驗室等都是普通配置。美國、英國、俄羅斯國家和地區等都在探索區塊鏈在金融體系建設方面的應用。以英國為例,去年11月,英國議會成立跨黨派區塊鏈小組全球專家委員會,該全球專家委員會共14人,將同委員會中28位英國議員共同推進區塊鏈的發展。 此外,整理去年10月以來的公開信息發現,美國、英國、法國、新加坡等對加密行業的監管愈加嚴格,在稅收、支付等領域嚴密管控,并呼吁制定全球性的監管框架。更有力的監管或許意味著,披著金融創新外套做投機生意的可能性越來越小,市場越來越規范,區塊鏈的技術價值也將更多得到重視。 政策支持只是推動,市場有需求才是區塊鏈在金融領域的火熱的直接原因,而金融行業與區塊鏈的特性則是兩者結合基礎。 金融行業涉及銀行、保險、證券等多領域,所有這些都離不開交易,自然涉及交易的雙方、時間、資產等數不清的交易信息,這就是金融業永遠需要解決的問題,即交易信息記錄的安全性和完備性。而區塊鏈作為一種革命性的底層技術,也是一個分布式的總賬本,最初的功能就是記賬,解決的就是這樣的問題。而因其具有的去中心化、不可篡改、可追溯等特點,還能解決賬本的信用問題、公證問題、審計問題、確權問題等等,這意味著其不僅能改革金融基礎建設,更是從監管、交易、征信、虛擬貨幣等場景起到增效作用。區塊鏈技術的優越性十分明顯,而金融行業本身數字化程度高的特點更進一步降低了使用門檻。 與政務領域一樣,頭部科技公司的推動力量不容小覷。它們緊隨政策與資本,不斷加大區塊鏈技術在金融領域的創新實踐,為區塊鏈由技術真正轉化為可落地的解決方案,繁榮行業發展,最終服務大眾生活打下夯實基礎。 以百度智能云為例,其在去年11月緊隨國家政策,推出“鏈上可信金融”解決方案,構建了新型金融業務的核心技術基礎設施與創新業務產品矩陣,包括百度金融聯盟鏈平臺、可信計算平臺、分布式身份平臺、數字積分平臺,能夠加速金融行業的業務協作和數據流通,更好地支持金融行業高效發展。 相信在頭部科技企業的帶動下,技術向縱深推進,必將帶動金融行業整體效率的提升與進步,毫無疑問也會帶動區塊鏈在整個金融行業的發展。 綜上所述,政務與金融行業受政策牽引、資本青睞、自身行業特性與技術創新等因素的影響,在2020年有望迎來高速發展階段。從以上觀察中可以看出,更多行業或者行業中的某一細分領域也正在積極和區塊鏈相結合,只要選擇了適合自身的發展路徑,任何行業的企業都能享受到技術帶來的紅利。 原文鏈接地址: https://developer.baidu.com/topic/show/290686
來源:OSCHINA
發布時間:2020-03-10 18:07:00
Serverless 計算將會成為云時代默認的計算范式,并取代 Serverful (傳統云)計算模式,因此也就意味著服務器 -- 客戶端模式的終結。 ------《簡化云端編程:伯克利視角下的 Serverless計算》 前言 Serverless計算讓開發者能夠以更高的靈活性和更低的成本構建現代應用程序。開發者無需配置和管理服務器等基礎設施,可將全部精力投入核心業務。 Serverless相比傳統的serverful開發方式有著本質的區別: 計算和存儲的解耦;它們獨立擴展,獨立定價; 代碼的執行不再需要手動分配資源; 按使用量計費。 Serverless快速構建構建APP問卷調查 函數服務作為Serverless架構中的核心計算組件,可應用于各類Serverless架構,主要包括兩大類:Web、移動、IoT、AI等無服務器后端和數據處理系統后端。 其中,Web、移動serverless后端的典型場景應用最為廣泛,本文介紹如何使用函數服務+API網關分分鐘在京東云APP中構建用戶問卷調查。 構建APP問卷調查可由兩個簡單函數完成:獲取問卷內容和提交答案。 Step1:創建存儲 創建一個用于存儲問卷題庫及用戶答案的數據庫或對象存儲bucket,本示例創建一個云緩存Redis實例(主從4GB)。 Step2:創建函數 在函數服務中創建并測試兩個函數(運行時:Python2.7) 創建函數1 創建函數jcloud-app-survey-topic:請求用戶PIN,問卷版本version,從數據庫獲取問卷內容,將入口文件index.py與依賴庫redis SDK打包上傳至函數服務。index.py代碼如下: #coding=utf-8 import json import redis'''下載問卷''' def handler(event,context): if not bool(event): result = { 'statusCode': 200, 'headers': {}, 'body': "", } return result body = event['detail']['body'] body = json.loads(body) pin = body.get('pin', "") version = body.get('version', "") print(pin) print(version) r = redis.Redis(host='redis-v214pzrgiicq-proxy-nlb.jvessel-open-hb.jdcloud.com', port=6379, db=0) topic = r.hget('topic_' + version, version) data = {'pin': pin, 'version': version, 'topic': topic} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result 函數測試 創建函數2 創建函數2jcloud-app-survey-submit :請求用戶PIN,問卷版本version,用戶答案submit,上傳至數據庫,將入口文件index.py與依賴庫redis SDK打包上傳至函數服務。index.py代碼如下。 #coding=utf-8 import json import redis''' 上傳問卷結果''' def handler(event,context): if not bool(event): result = { 'statusCode': 200, 'headers': {}, 'body': "", } return result body = event['detail']['body'] body = json.loads(body) pin = body.get('pin', "") version = body.get('version', "") submit = body.get('submit', "") print(pin) print(version) print(submit) r = redis.Redis(host='*********.jdcloud.com', port=6379, db=0) old = r.hget('submit_' + version, pin) if old != None : data = {'code': 1, 'desc': 'user have submitted'} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result r.hset('submit_' + version, pin, submit) data = {'code': 0, 'desc': 'success'} data = json.dumps(data) result = { 'statusCode': 200, 'headers': {}, 'body': data, } return result 函數測試 Step 3:創建發布API 在API網關創建兩個API,作為觸發器綁定至對應函數,通過function響應API請求,并將API發布至測試環境。jcloud-app-survey-topic函數綁定API觸發器如下: jcloud-app-survey-submit函數綁定API觸發器如下: Step 4:驗證上線 通過本地API接口測試工具驗證API接口無誤,即可與前端H5頁面開發聯調,測試完成后,可通過函數版本、別名功能管理線上函數迭代發布。 問卷提交頁 以上,快速完成APP后端上線,只等活動上線 最終效果 最后,APP調查問卷效果如下: 點擊“ 京東云 ”了解更多關于隊列服務
來源:OSCHINA
發布時間:2019-10-30 14:34:00
自從 云終端 出來以后對于它的吐槽就一直沒有中斷過的,有說它配置低性能差的,也有的說它兼容性差的,還有的說它顯示效果差的,總之就是有各種各樣吐槽的。雖然說對云終端的吐槽有很多也一直沒有中斷過,但是使用它的人數并沒有因此而減少的,反而是一直在不斷增加的。是什么原因讓你明知道云終端有不少的缺點,但是卻仍然使用它的。 首先性能并不差,我認為首先很重要的一個原因就是云終端雖然有一些小問題,但是它并不影響我們的正常辦公使用,雖然說它本身的配置低,但是它更多的情況下是通過協議連接服務器使用的,它的性能其實并不低的,完全可以媲美i3/i5電腦性能的,對于office辦公、教學應用和播放高清視頻來說都是流暢無卡頓的??梢哉f出來一些大型的3D應用和特殊的外設無法兼容外,云終端的體驗并不比傳統PC差的。而大型的3D應用和特殊外設對于大多數用戶來說使用的并不多的。 其次使用成本低,云終端配置是不高兼容性也沒有傳統PC那么好,但是它的使用成本低,即使是算上服務器的價格每個用戶采購成本也可以比傳統PC低10%-30%左右的,加上云終端本身的功耗低省電以及免維護的特點,和使用傳統PC相比每年可以節省95%左右用電成本和維護成本,低的使用成本使得云終端雖然有一些缺點,但是還是有很多用戶愿意使用它的。 第三數據安全高,隨著社會的發展,人們對數據安全的意識越來越高的,傳統的PC雖然性能強大,但是對于本地數據的管控卻做的不是很好的,云終端性能是不強,但是它對于數據的管控卻比傳統PC要好,本地不存儲重要數據,同時可以禁止云終端接入U盤等帶存儲拷貝功能的外設設備,通過后臺服務器可以管控每一個用戶使用桌面的情況,任何用戶訪問重要數據都需要授權,確保數據不被拷貝和任何形式傳輸泄露出去的。 云終端雖然有一些缺點和使用上的問題,但是同時它也具備傳統PC所沒有的優點,同時最主要的它的缺點對于很多人來說是可以忽略不計,并不影響正常的辦公使用的,所以才會有這么多人堅持使用它的。 來源禹龍云
來源:OSCHINA
發布時間:2019-10-30 14:22:00
ACP 說明:以下題目收集自網絡和參與過考試的同學的分享,原內容有 765 道題,本人有一定阿里云實操經驗,考試準備了一周時間,學習阿里云官方文檔和網上找測試題,最終于 19-11 通過考試。題目整理得格式不好,有些答案的 ABCD 都缺失了,但答案是對的,只是需要自己對應下選項。ACP 考試本身更接近理論,但也是需要有一定實操經驗的,可以使用阿里云按量計費的實例熟悉一下。希望這個能對大家有所幫助。 全部題庫 ★1/765、阿里云的云服務器ECS產品根據底層使用的硬件不同劃分為不同的實例系列。對于實例系列I采用 lIntel Xeon CPU,實例系列采用 Haswell CPU。以下關于云服務器ECS產品的實例系列說法正確的是 。(正確 答案的數量:3個) A、實例系列Ⅱ的用戶可以獲得更大的實例規格 B、實例系列I相對于實例系列I增加了一些新的指令集,使整數和浮點運算的性能翻倍 C、ECS實例創建以后可以進行實例系列I與實例系列∏的變更 D、實例系列Ⅱ全部為O優化實例,配合SSD云盤使用可以獲得更高的O性能 提示:排除法,實例系列I和實例系列Ⅱ直接是不同的處理器系列,創建之后不支持變更 答案:ABD 2★3/765、使用集群是解決高并發,海量數據的通常手段,對于這種類型的網站而言,不管多么強大的服務器都滿 足不了持續增長的業務需求。這種情況下,需要增加服務器來分擔原有系統的壓力我們可以開通阿里云上哪個服 務來實現該請求的分發? A、ECS B、SLB C、RDS D、DRDS 提示:劃重點:來實現該請求的分發,所以需要負載均衡SLB。 答案B 1★4/765、云計算是一種商業計算模型,它將計算任務分布在大量計算機組成的資源池上,使各種應用系統能夠根 據需要獲取計算力、存儲空間和信息服務。以下哪些是按照云計算服務的部署方式分類的?(正確答案的數量:3 個) 、公共云 混合云 專有云 D、能源云 提示:能源云并不屬于的云計算服務的部署方式。云計算的四種部署方式私有云、社區云、公有云(公共云)和混 合云。相關鏈接 答案:ABC 3★5/765、在阿里云的云盾態勢感知中看到的所有安全威脅,阿里云的系統都會自動處理,不需要用戶主動參與 只要知道就可以了。 A、正確 錯誤 提示: 答案B 1★6/765、通過阿里云“彈性伸縮”服務自動創建的ECS符合以下哪些特征?(正確答案的數量:3個) A、創建的ECS會配置相同的IP地址 、如果伸縮組里指定了RDS實例,系統會自動將ECS的P加入指定的RDS訪問白名單當中 如果伸縮組里指定了SLB實例,系統會自動將ECS的加入到SLB組里 D、創建的ECS配置都是相同的 提示:彈性伸縮出來的機器配置和規格相同,但是不會出現相同I的情況 答案BCD 1★7/765、彈性伸縮一定要搭配負載均衡SLB、云監控才能使用。 A、對 錯 提示:彈性伸縮無需搭載負載均衡SLB,云監控一起使用。 答案B 1★8/765、阿里云OSS圖片處理服務,綁定域名名需要做線上驗證,其中一步是下載驗證文件并上傳到您域名 的下,此步驟為驗證您對綁定域名的所有權 A、有效率 B、根目錄 C、頂級目錄 D、子目錄 提示:線上驗證是將下載的驗證文件放置于域名的根目錄下來完成驗證綁定域名的所有權。 答案B 3★9765、阿里云的負載均衡SLB支持同一地域( Region)跨可用區(Zone)容災,結合DNS還可以支持跨地 域( Region)的容災。 A、對 B、錯 提示:多個不同地域的負載均衡SLB支持通過DNS輪詢來實現跨域容災,相關鏈接 答案A 1★10765、您在創建阿里云的云服務器ECS實例時必須要選擇 來指定新建的云服務器ECS實例的系 統盤的配置? A、IP地址 、鏡像 C、安全組 D、區域 提示:ECS的系統盤的配置需要通過鏡像來新建完成。 答案B 2★11765、阿里云作為云計算服務的提供商,為用戶提供的安全保障服務包括 (正確答案的數 量:2個) A、云計算底層硬件設施的安全運維 B、云服務器ECS中的應用維護 C、云計算租戶之間的安全隔離 D、云數據庫RDS的P白名單設置 提示:阿里云作為云計算服務的提供商為用戶提供的安全保障會包括云計算底層硬件設施的安全運維、云計算 租戶之間的安全隔離。但是云服務器ECS中的應用維護和云數據庫RDS的IP白名單設置還是需要用戶自己來 做 答案:AC 4★12765、阿里云對象存儲OSS是阿里云對外提供的海量、安全、低成本、高可靠的云存儲服務。與自建存 儲對比,OSS在可靠性、安全、成本和數據處理能力等幾個方面都具有優勢。以下 不是OSS在數據處 理能力方面表現出來的優勢。 提供大規模的數據分析能力 B、提供實時縮放圖片的處理功能 C、提供實時的“文字水印”的圖片處理功能 D、提供實時的“圖片水印”的圖片處理功能 提示:對象存儲OSS并不具備大規模的數據分析能力。 答案:A 1★13/765、A公司管理員小牛近期發現公司的網站訪問速度越來越慢,偶爾會出現無法打開的現象,從web 日志中發現了數據被惡意爬取的行為,且并發訪問量較大,這種情況下可以使用阿里云的安全產品進 行防護。 A、安全管家 B、態勢感知 、Web應用防火墻(WAF) D、云安全中心(安騎士) 提示:劃重點:從web日志中發現了數據被惡意爬取的行為,且并發訪問量較大。所以需要用到Web應用防火 墻(WAF)的防爬蟲功能。 答案C 3★14765、如果用戶只使用阿里云的云盾的DDoS基礎防護功能,當攻擊規模超過服務上限時,會觸發黑洞規 則,之后用戶的服務器仍可以對外提供服務,只是速度受到限制。 A、正確 B、錯誤 提示:當ECS或SLB實例的公網I遭到大量DDoS攻擊,且DDoS攻擊的流量超出對應的黑洞閾值后,該公網IP將 被黑洞,所有來自外部的流量都將被丟棄,導致相關的業務無法正常訪問。相關鏈接 答案B 3★15/765、在使用阿里云的公網IP的負載均衡SLB實例的四層(TCP協議)轉發時,后端云服務器池中的ECS 實例不能直接向該ECS實例所在的負載均衡SLB實例的公網發送請求 錯 提示這和負載均衡TCP的實現機制有關。在四層TCP協議服務中,當前不支持后端云服務器的ECS既作為 Realserver,又作為客戶端向所在的負載均衡實例發送請求。因為,返回的數據包只在云服務器內部轉發,不 經過負載均衡,所以在負載均衡實例的后端ECS上去訪問的負載均衡的服務地址是不通的。相關鏈接 答案:A 4*16/765、阿里云對象存儲OSS是阿里云對外提供的海量、安全、低成本、高可靠的云存儲服務。用OSS管理 的文件可以很方便地對外提供分享,分享前點擊文件后面的“獲取地址”文字鏈接即可得到當前文件的地址,這 個分享使用的是____應用層(七層)協議。 A、FTP B、HTTP C、TCP D、SMTP 提示:OSS的分享文件使用的是HTTP應用層(七層)的協議。 答案:B 4÷17/765、您已經創建好的阿里云的云服務器ECS實例上部署了服務A,當服務A不再需要提供服務時,可以 使用該云服務器部署服務B,如果服務A和B所需的操作系統不同,則需要更換該ECS實例的系統盤。在執行該 操作的過程中,以下說法正確的是?(正確答案的數量:5個) A、更換系統盤前云服務器ECS實例要處于已停止狀態 B、更換系統盤時可以選擇用戶自定義鏡像、阿里云為您提供的公共鏡像 C、在有數據盤的情況下,如果是Windows系統更換至Linux系統,由于Linux默認無法識別NTFS格式,需要您 單獨安裝軟件識別,例如ntfs-3G等 D、在有數據盤的情況下,如果是Linux系統更換至Windows系統,由于Windows系統默認無法識別ext3,ext4,xfs 等文件系統格式的磁盤,需要您單獨安裝軟件識別,例如ext2read ext2fsd等 E、更換系統盤之后,您的長服務器ECS實例的IP地址會發生變化 F、更換系統盤之后,您現有系統盤的自動快照及其上的數據會丟失 提示:排除法,更換系統盤并不是導致網絡層的IP地址會發生變化。 答案:ABCDF 2★18765、阿里云對象存儲OSS提供了豐富的文件上傳和下載接口,用戶可以通過API方便地實現大容量存儲 空間的管理。如果您想建立一個大型圖片分享站點,該網站允許大量用戶通過WEB方式進行圖片的上傳和分 享,可以使用阿里云的 產品與OSS配合實現。 A、負載均衡SLB B、云服務器ECS C、云數據RDS D、內容分發網絡CDN 提示題目中要求允許大量用戶通過WEB方式進行圖片的上傳和分享,所以需要云服務器ECS來提供WEB服務 支持。 答案B 3★19765、阿里云的負載均衡SLB實例和后端云服務器ECS實例之間是通過公網進行通信的,所以云服務器 ECS實例必須配置外網帶寬。 A、對 B、錯 提示:負載均衡SLB實例和后端云服務器ECS實例之間是通過內網通信的。 答案B 3★20765、某期貨交易網站,使用阿里云負載均衡SLB服務。由于期貨交易對于負載有高敏感性,高頻的健康 檢查有可能會對用戶的正常訪問帶來影響。該網站可以通過以下方式減少健康檢查對正常業務的影響:降低健 康檢查的頻率,增大健康檢查間隔。 A、對 B、錯 提示如果您的業務對負載敏感性高,高頻率的健康檢查探測可能會對正常業務訪問造成影響。您可以結合業 務情況,通過降低健康檢査頻率、增大健康檢査間隔、七層檢査修改為四層檢査等方式,來降低對業務的影 響。但為了保障業務的持續可用,不建議關閉健康檢查。相關鏈接 答案:A 21/765、某保險公司的線上平臺每天在線訂單量超過20萬筆,一年來頻繁受到大流量攻擊(超過10G),使 服務斷斷續續,嚴重影響了公司的品牌和業務量。如果該客戶使用阿里云的 產品可以抵御這類攻 擊,保證業務的高可用性。 A、DDoS基礎防護 B、安全管家 C、態勢感知 D、DDoS高防IP 提示DDoS基礎防護只能防護5GB以下的DDoS攻擊,超過5GB的DDoS攻擊需要用到DDoS高防IP。 答案D 4★22765、您成功地創建了一臺阿里云的云服務器ECS實例準備進行應用的部署。在部署應用之前如何保證 該云服務器ECS實例具備防御500M以內的DDoS攻擊的能力? 、阿里云的云盾產品提供免費的基礎DDoS防護服務,不需要單獨購買 B、需要另行購買DDoS防護服務才可以具備防護功能 C、需要您自己架設防DDoS服務 D、其他都不對 提示:阿里云的云盾免費的DDoS基礎防護提供最高5G的默認DDoS防護能力,所以5G以下可以選擇云盾DDoS 基礎防護,5G以上可以選擇云盾的DDoS高防服務。 答案:A 3★23/765、某電子購物網站,為了方便用戶,提供了購物車的功能,即在用戶登錄期間,可以添加自己喜歡 的商品到購物車,選擇完成后一次性付款即可。上述網站搭建在阿里云上,選用了云服務器ECS實例和負載均 衡SLB實例,應用程序將會話信息和購物車信息都只保存在了應用程序的內存中,公測期間發現絕大部分測試 用戶的購物車功能沒有問題,但一小部分用戶的購物車發生了最早添加的商品隨機丟失的現象。試分析以下哪 些原因可能會造成這種情況?(正確答案的數量:3個 用戶購物的時長超過了負載均衡SLB實例中定義的會話保持的超時時間 B、用戶使用手機登錄,一次購物的過程中,發生過網絡的切換導致的重新鏈接 C、某臺云服務器ECS實例狀態不正常,導致這部分用戶前期的購物籃記錄被清空 D、負載均衡SLB實例未開啟會話保持功能 E、負載均衡SLB實例進行上備可用區切換導致部分用戶數據丟失 提示:商品的數據都保存在內存中,那既然出現了數據丟失,出現的問題要么是用戶沒有訪問保存購物數據的 那臺機器,要么是保存他那臺數據的機器出問題了。 答案:ACE 1★24765、阿里云的負載均衡SLB提供對多臺云服務器ECS實例進行流量分發的服務,可以通過流量分發擴展 應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。阿里云的負載均衡SLB可以支持 協議。(正確答案的數量:4個) 、UDP B、 Https C、 PPPOE 、TCP E、HTTP 提示 PPPOE是很老的撥號協議,阿里云負載均衡SLB不支持此協議。 答案:ABDE 3★25/765、小明是一個社交網站的架構師,創業初期用戶量較少,每個注冊客戶上傳的圖片文件直接保存在 了一臺阿里云的云服務器ECS實例上。最近用戶量爆增,圖片存儲的空間達到了35T,WEB服務器由原來的1 合ECS實例擴展到了5合ECS實例,性能問題得到了解決,可是保存在ECS實例的圖片無法在多臺ECS之間共 享讀寫。阿里云的 產品非常適合解決這個問題。 、對象存儲OSS B、負載均衡SLB C、歸檔存儲( Archive Storage) D、內容分發網絡CDN 提示:劃重點:保存在ECS實例的圖片無法在多臺ECS之間共享讀寫,所以需要對象存儲OSS提升圖片存儲的性 能已經共享讀寫圖片。 答案:A 3★26/765、使用阿里云的負載均衡SLB實例時,合理的會話保持配置可以實現與某個連接( Session)相關的 所有應用請求能夠由同一臺后端云服務器ECS實例進行處理,維持業務的延續性。七層服務的會話保持是基于 實現的 A、源I B、負載均衡IP cookIe D、用戶的UUID 提示四層服務的會話保持是基于源IP實現的,七層服務的會話保持是基于 Cookie實現的。 答案:C 2★27765、阿里云的云盾“DDoS基礎防護”為阿里云用戶提供最高5G的默認DDoS防護能力。用戶如果加入安 全信譽防護聯盟計劃,云盾將基于安全信譽分進一步提升DDoS防護能力,用戶最高可獲得100G的免費DDos 防護資源。以下有關云盾“DDoS基礎防護”的特點描述正確的是。(正確答案的數量:3個) A、BGP線路防護:受到DDoS攻擊不會影響訪問速度,帶寬充足不會被其他用戶連帶影響,優質帶寬保證業務 可用和穩定 精準防護:精準識別攻擊,秒級開啟防護,自研清洗設備和算法保證極低誤殺 免安裝免維護:無需采購昂貴清洗設備,自動為云上客戶開通免安裝,智能業務學習和配置防護規則 D、分布式:通過散列分布式的虛擬節點將業務分散部署,有效避免網絡攻擊的發生 提示具體的可以參考DDoS基礎防護服務的產品簡介:相關鏈接 答案:ABC 3★28/765、當您的云服務器ECS實例的鏡像選擇了 Aliyun linux,可以兼容以下操作系統 A、 CentoS B、 Windows server2008 C、 OpenSUSE D、 UBUNTU 提示 Aliyun Linux和 Centos都屬于 Redhat一家的。兼容 Red hat。其中包括( Red Hat Enterprise linux, Fedora, Centos, Scientific Linux, Oracle linux),參考:相關鏈接 答案:A 3★29/765、阿里云彈性伸縮( Auto Scaling)中,當進行彈性收縮時,對于運行在需要移出伸縮組的ECS實例 上的應用,如果簡單的中斷服務,會影響到客戶體驗。如果需要確保在ECS實例上任務處理完成才釋放該實 例,彈性伸縮提供了解決方案:在創建ECS實例使用的鏡像中存放一個包含處理邏輯的腳本,并設置成在ECS 實例操作系統關機時自動執行該腳本。 對 B、錯 提示:如您需要確保在ECS實例上任務處理完成才讓彈性伸縮釋放該實例,您需要在自定義鏡像中存放執行腳 本,并設置命令在操作系統關機時自動執行該腳本。相關鏈接 答案:A 1★30765、對 ECS API接口調用是通過向 ECS API的服務端地址發送 Http Get請求,并按照接口說明在請求 中加入相應請求參數來完成的 對 B、錯 提示:云服務器ECS的API是通過向 ECS API的服務端地址發送 Http Get請求來實現相關的業務請求。相關鏈 接 答案:A 1★31/765、用戶如果想要在OSS中模擬實現文件夾的創建操作,需要使用的API是 A、 Multipart Upload B、 putobject C、 Get object D、 Copy object 提示OSS中文件夾的概念僅是一個邏輯概念,在通過 APISDK的方式設置文件夾的時候可以指定 object對應的 key值包括前面的目錄即可實現該功能。相關鏈接 答案B 4★32765、您擁有香港地域可用區A、華北1(青島)地域可用區B和華南1(深圳)可用區B的云服務器ECS 實例,現在希望通過購買新的塊存儲掛載到已有的云服務器ECS實例上進行磁盤空間的擴容,肯定不能購買 可用區的塊存儲。 華北1(青島)地域可用區A B、華北1(青島)地域可用區B C、香港地域可用區A D、華南1(深圳)地域可用區B 提示:根據題意,購買新的塊存儲意味創建新的數據盤,所以只能購買同一個可用區的云盤,所以只能選擇: 香港地域可用區A,華北1(青島)地域可用區B和華南1(深圳)可用區B 答案:A 2★33765、CDN節點系統關鍵組件有哪些?(正確答案的數量:3個) A、 origin 、LVS tengine D、 swift 提示:LVS做四層均衡負載; Tengine做七層負載均衡;Swit做HTP緩存。相關鏈接 答案:BCD 1★34765、云盾安騎上可以保防阿里云以外的服務器。 錯 提示:云盾安騎士支持防護阿里云的ECS以及非阿里云的線下機房的實例。相關鏈接 答案:A 1★35765、云計算是一種商業計算模型,它將計算任務分布在大量計算機組成的資源池上,使各種應用系統 能夠根據需要獲取計算力、存儲空間和信息服務。以下關于使用公共云計算相對于使用傳統IC的優勢,從云 計算的使用者角度來看,說法正確的有 ?(正確答案的數量:4個) 、云計算的使用者節約了建立基礎設施的成本 B、云計算的使用者能快速搭建應用 C、云計算的使用者簡化了管理和維護工作 D、云計算的使用者可以完全管理和控制底層基礎設施 E、云計算的使用者擁有更大的靈活性和擴展性 提示:阿里云云計算的使用者是不可以管理和控制底層基礎設施。 答案:ABCE 1★36/765、C公司基于阿里云對象存儲OSS和云服務器ECS實例構建了一個網站,ECS實例與OSS之間有頻繁 的文件上傳和下載需求。系統管理員小趙最近通過阿里云管理控制臺中的費用中心發現OSS的流量費用增長很 快,但是從ECS實例上部署的應用系統日志里沒有發現網站訪問量有明顯增長。請您幫小趙判斷一下有可能是 原因導致的。 A、系統架構中缺少云數據庫RDS B、可能是ECS實例通過公網地址調用OSs的API C、ECS實例的系統配置不足,需要增加內存 D、系統架構中缺少負載均衡SLB 提示:題目中說:ECS和OSS之前有頻繁的上傳和下載的需求,但是ECS的訪問量很小,但公網流量增長卻很 快,所以可以判斷是ECS遼過公網AP訪問OSS導致的公網流量。 答案B 3★37765、阿里云負載均衡SLB是對多臺云服務器ECS實例進行流量分發的服務。配置和管理一個負載均衡 SLB實例,主要涉及以下操作。(正確答案的數量:3個) 、負載均衡SLB實例的屬性配置 B、負載均衡SLB實例的監聽配置 負載均衡SLB實例的后端ECS實例配置 負載均衡SLB的公網IP E、負載均衡SLB的操作日志存儲位置 提示:公網P是購買負載均衡SLB時候系統分配的,或者你單獨購買EIP后單獨給負載均衡SLB綁定。并不是在 你在負載均衡的配置和管理里面可以設定的。 答案:ABC 4★38765、阿里云對象存儲OSS自動為每個 Bucket分配一個“外網地址”和“內網地址。正確使用OSS的內網地 址,可以節省OSS與云服務器ECS實例之間的流量費用,云服務器ECS實例通過內網訪問OS能夠有效的提升上傳 和下載的質量。場景可以使用OSS的“內網地址”通信。(正確答案的數量:3個) A、 OSS Bucket在R1地域,用戶有兩臺云服務器ECS實例分別在該地域的可用區A和可用區B,兩臺ECS實例上 的訪問日志都要保存到OSS中 B、 OSS Bucket在R1地域,用戶有1臺云服務器ECS實例在R1地域的可用區A,此臺ECS實例上的訪問日志要保 存到OSS中 C、 oss Bucket在R2地域,用戶在R1地域的可用區A有1臺云服務器ECS實例,此臺ECS實例上的訪問日志要保 存到OSS中 D、 OSS Bucket在R1地域,在該地域的可用區B用戶有1臺云服務器ECS實例,此臺ECS實例上的訪問日志要保 存到OSS中 提示題目中問的是云服務器ECS實例通過內網訪問OSS,所以要求云服務器CS和OSS需要處于同一個地 域," OSS Bucke在R2地域用戶在R1地域的可用區A有1臺云服務器ECS實例"明顯不符合要求。 答案:ABD 3★39/765、阿里云的負載均衡SLB提供對多臺云服務器ECS實例進行流量分發的服務,可以通過流量分發擴展 應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。阿里云的負載均衡SLB支持 層 網絡協議的負載均衡服務。(正確答案的數量:2個) 、4層(傳輸層 B、7層(應用層 C、3層(網絡層) D、2層(數據鏈路層) 提示:阿里云的負載均衡SLB目前僅支持4層和7層的負載均衡。 答案AB 3★40765、使用阿里云的負載均衡SLB時,為了實現跨地域( Region)的高可用性,可以在不同的地域 ( Region)創建多個負載均衡SLB實例,通過的方式對外提供服務。 A、DNS輪詢 B、DNS最小連接數 C、DNS廣播 D、DNS多播 提示:實現不同地域的多個負載均衡SLB的負載,需要通過DNS輪詢來實現,相關鏈接 答案:A 1★41/765、在使用阿里云DDoS高防理P時, CNAME配置非常簡單,只需要配一條DNS記錄就可以啟用。 、正確 B、錯誤 提示:CNAM接入模式更加方便,您只需要在域名解析服務商處(如萬網云解析或者 DNSPod)修改一次解析 配置即可生效,實現零部署、零運維。相關鏈接 答案:A 4★42/765、SLB是將訪問流量根據轉發策略分發到后端多臺云服務器(ECS實例)的流量分發控制服務。下列 關于SLB說法錯誤的是? SLB的服務能力與后端ECS的公網寬帶規格無關 、同一組ECS不可以搭建多個網站并同時進行負載均衡 C、在使用SLB的過程中隨時調整后端ECS的數目 D、不同操作系統的ECS可以同時做為SLB服務的后端服務器 提示:同一組ECS可以同時搭建多個網站并進行負載均衡 答案B 3★43765、用戶可以通過控制臺或AP配置監聽的健康檢查。下列屬于SLB健康檢查必選參數配置的有?(正 確答案的數量:3個 A、響應超時時間 B、健康檢查間隔 C、不健康閥值 健康檢査請求 提示:注意題目要求的是必選參數,考的是配置健康檢査的實際操作能力,健康檢査請求不是必須的配置參 數。相關鏈接 答案:ABC 1★44765、阿里云的云盾DDoS高防IP可以抵御數百G的DDoS攻擊,阿里云及非阿里云主機都可以使用云盾 DDoS高防I服務。 錯 提示:云盾DDoS高防I產品是針對解決互聯網服務器(包括非阿里云主機)在遭受大流量的DDoS攻擊后導致服 務不可用的情況 答案:A ★45/765、您已經在阿里云的一臺經典網絡類型的沒有數據盤的云服務器ECS實例上運行所有的應用,現在出 于業務發展的需要,您希望將這臺云服務器ECS實例遷移到相同地域的專有網絡VPC中去,以下 操作 是可行的。 直接將云服務器ECS實例的類型轉換為專有網絡 B、將該云服務器ECS實例的安全組變更為專有網絡類型 C、制作該云服務器ECS實例的鏡像,基于該鏡像制作專有網絡類型的云服務器ECS實例,業務會短暫停頓 D、無法遷移 提示題目中需要將經典網絡的云服務器ECS實例遷移到相同地域的專有網絡VPC中去,雖然目前阿里云支持直 接遷移,但是從上云實踐的規范中出發,因為云服務器或捆綁或者依賴其他多個附屬的云產品(如:數據庫 RDS等),所以運營一鍵遼多并不能完成其他附屬云產品的轉換。所以基于鏡像來遷移至專用網絡ⅤPC中去是 最穩妥的方法。 3★46/765、阿里云彈性伸縮( Auto Scaling)中的伸縮組是指部署了相同應用的云服務器ECS實例的集合,其 中的ECS實例既可以是包年包月的,也可以是按量付費的。對于業務量突變的場景,按量計費的ECS實例會在 滿足業務需求的同時盡可能的節省成本;對于用戶已有的包年包月的閑置的ECS實例,也可以手工添加到滿足 一定條件的伸縮組,能充分利用閑置資源。 B、錯 提示:彈性伸縮( Auto Scaling)中既支持自動伸縮,也支持手動添加閑置的ECS實例,手動添加的ECS的規格 配置不需要和伸縮配置中的配置相同。 答案:A 3★47765、阿里云對象存儲OSS的存儲費用在所有地域支持“按量付費”,在部分地域支持“包年包月”和“按量 付費兩種方式。用戶可以通過“包年包月”的付費方式可以獲得資源包”,根據業務需求選擇合適的資源包可 以節約使用OSS的成本。以下有關OSS包年包月收費方式的說法中是正確的。(正確答案的數 量:3個) 、費用一次性支付,立即生效 B、用戶購買的“包年包月”資源包在有效期內,扣費方式為先扣除已購買的資源包內的額度,超出部分按量收 費 C、“包年包月”的資源包,采用按存儲容量的階梯計價,容量越大,單價越便宜 D、存儲容量相同的“包年包月”的資源包,購買時長越短,單價越便宜 提示:排除法,存儲容量相勹的“包年包月”的資源包,購買時長越短,單價越貴,購買時長越長,單價越便宜 答案:ABC 4★48/765、阿里云對象存儲OSS中所有數據都保存在 Bucket中,當一個 oss bucket設置成 權限,意味 著該 oSS Bucket僅允許其他用戶來訪問( GET Object)屬于該 Bucke下的 objecto A、公共讀寫 公共讀 C、私有 D、私有讀 提示:允許其他用戶訪問就代表允許公共訪問此 Bucket,所以選擇公共讀 答案B 2★49/765、阿里云內容分發網絡CDN建立并覆蓋在承載網之上,由分布在不同區域的邊緣節點服務器群組成 的分布式網絡替代傳統以 WEB Server為中心的數據傳輸模式。CDN加速特別適合在站點訪問量大,且靜態資 源被不同用戶重復訪問的比例高的場景中使用,重復訪問率越高加速效果越明顯。 A、對 B、錯 提示:文檔原話,阿里云CDN(內容分發網絡)全稱是 Alibaba Cloud Content Delivery Network,建立并覆蓋在 承載網之上、由分布在不同區域的邊緣節點服務器群組成的分布式網絡,替代傳統以 WEB Server為中心的數據 傳輸模式。 答案:A 4★50765、阿里云對象存儲OSS是阿里云對外提供的海量、安全、低成本、高可靠的云存儲服務。與自建存 儲對比,OSS在可靠性、安全、成本和數據處理能力等幾個方面都具有優勢。以下是OSS在安全性方 面表現出來的優勢。 A、流量清洗和黑洞設備需要另外購買,阿里云的云市場有多家優質的供應商可供選擇 B、OSS提供靈活的開發接口,兼容市面上主流的安全防護設備和協議 、提供多種鑒權和授權機制,以及白名單、防盜鏈、主子賬號功能 D、阿里云提供定制化的安全服務,可根據用戶的需要一對一定制開發 提示:安全性主要表現在三方面:1.提供企業級多層次安全防護。2.多用戶資源隔離機制,支持異地容災機 制。3.提供多種鑒權和授權機制及白名單、防盜鏈、主子賬號功能。相關鏈接 答案C 3★51765、開通阿里云對象存儲OSS服務后,您首先需要使用OSS管理控制臺或 OpenAPI創建存儲空間 Bucket 以用來存儲文件,以下有關 Bucket的說法 是正確的。 、 Bucket的名稱要求全局唯一,且創建后不支持更改 B、 Bucket的名稱要求全局唯一,創建后支持更改 C、 Bucket的名稱只要求在本帳號內唯一,創建后支持更改 D、 Bucket的名稱要求在本帳號內唯一,且創建后不支持更改 提示:每個 Bucket存儲空間的名字全局唯一, Bucket存儲空間一旦創建成功,名稱和所處地域不能修改。 答案:A 3★52765、云服務器ECS系統資源監控 Dashboard頁面內容有哪些?(正確答案的數量:3個) 、CPU使用率 磁盤IO C、網絡帶寬 D、TPS 提示 Dashboard不支持對TPS的監控 答案:ABC 3★53/765、阿里云的負載均衡SLB包含了幾個主要的部分:來自外部的訪問請求、 Listener、 LLoadBalancer、 Backendserver等,關于 Listener的說法中正確的是 主要包括用戶定制的負載均衡策略和轉發規則 B、提供對外服務的ECS實例集合 C、是指負載均衡SLB實例 D、通過配置監控規則,可以生成負載均衡SLB實例的監控指標 提示: Listener:用戶定制的監聽器,定義了負載均衡策略和轉發規則。相關鏈接 答案A 3★54765、阿里云對象存儲OSS是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。為了方便用戶把 OSS服務集成到自己的網站或應用中,OSS提供了“自定義域名綁定”的功能,通過該功能用戶可以實現通過自 己的域名來訪問OSS中的文件(如: http://img.mydomain.net/xxxx )以下有關OSS綁定域名的相關說法 是正確的。(正確答案的數量:3個 、如果用戶綁定的域名和OSS服務在同一個阿里云帳號中管理,在OSS管理控制臺中可以選擇自動添加或修 改域名的 CNAME記錄 、不管域名是否在阿里云管理,綁定到OSS的域名必須在工信部備案 C、如果在OSS綁定域名時提示綁定的域名已經被其他用戶綁定,此時用戶無需額外操作即可進行強制綁定 綁定域名的時候可以選擇“自動”或“手動"添加域名解析 提示:在OSS綁定域名時提ˉ綁定的域名已經被其他用戶綁定,需要驗證域名所有權后才可繼續進行綁定操作。 相關鏈接 答案:ABD 3★55765、您需要將阿里云的專有網絡vPC與傳統數據中心組成一個按需定制的網絡環境,實現應用的平滑 遷移上云。專有網絡ⅤPC可以與 連接方式組合來實現該架構。(正確答案的數量:2個 A、 VRouter 專線 C、SDN VPN 提示根據題意,需要讓專有網絡ⅤPC與傳統數據中心實現內網訪問,所以專線和ⅤPN可以滿足要求。 答案BD 3★56765、阿里云對象存儲OSS里存儲的文件可以進行分享和下載,當文件所在的 Bucket的讀寫權限為“私 有”時,OSS分享鏈接采用的安全機制是 A、在管理控制臺中獲取文件訪問URL時設置分享鏈接的訪問密碼,訪客下載文件時憑密碼訪問 B、“私有權限的文件對外享時,訪客只能看到文件的一部分內容(前500K) C、在管理控制臺中獲取文件訪間URL時設置分享鏈接有效的時間,超過設定時間就無法下載 D、“私有”權限的文件對外分享時,系統會檢查文件的大小,超過2M的文件不允許分享 提示:出于安全考慮,目前控制臺針對私有 bucketp的獲取URL鏈接簽名操作做了優化,使用的 AccessKey是臨時 生成的密鑰對,主賬號用戶最長有效時間是64800秒(18小時),RAM子賬號用戶以及sts用戶最長有效時間是 3600秒(1小時),超時后鏈接就無法訪問了。相關鏈接 答案:C 1★57/765、阿里云OSS與自建存儲相比,有以下哪些優點?(正確答案的數量:4個) A、海量存儲 低成本 C、安全 、多線BGP接入 E、支持數據備份 提示:自建的存儲也是支持數據備份的,這個并不是OSS獨有的優勢。 答案:ABCD 1★58765、以下 安全事件是不能由阿里云態勢感知集中管理的 A、發現主機有異常進程 B、發現主機成為肉雞 C、機房斷電 D、發現網站被DDoS攻擊成功 提示機房斷電是態勢感知不能預測到的故障。 答案:C 4★59/765、阿里云對象存儲OSS與云服務器ECS實例之間的內網通信免費,只要 OSS Bucke和ECS實例的所屬 地域在中國大陸范圍內,就可以使用內網地址免費通信 A、對 提示:只有ECS和OSS的 Bucket處于同一個地域( Region),才可以使用內網地址通信。 答案B 3★60765、用戶開啟SLB會話保持功能后,SLB會把來自同一客戶端的訪問請求分發到不同的后端ECS上進行 處理 A、對 提示:開啟會話保持后,負載均衡監聽會把來自同一客戶端的訪問請求分發到同一臺后端服務器上。相關鏈接 答案B 1★61/765、阿里云內容分發網絡CDN支持大文件下載加速、音視頻點播加速,以及HTPS安全加速。 A、對 B、錯 提示阿里云內容分發網絡CDN支持各類網站靜態內網的加速服務,支持 Https。相關鏈接 答案:A 1★62/765、A電商平臺近幾年業務增長很快,訪問量持續保持每年提升300%,平臺運營團隊因此獲得了公司 的年度特別獎勵。在高興之余運營團隊發現平臺系統帶寬的支出是以每年500%的比例增長的,如果能有效降 低這塊成本可以提升整體的運營質量。此時,該公司選擇阿里云的 服務,效果會最明顯。 A、支持多可用區的云數據庫RDS 內容分發網絡CDN C、對象存儲OSS D、負載均衡SLB 提示:題目中說"系統帶寬的支出是以每年500%的比例增長的",說明服務很占用帶寬資源,可以通過內容分發 網絡CDN來減少服務器的帶寬輸出。 答案B 5★63765、您部署在阿里云云服務器ECS上的服務,希望能夠通過阿里云的產品來提升該服務的可用性,以下 哪種方案的可用性最高? 、在同一個地域的多個可用區的多臺云服務器上部署應用,并掛載在同一個負載均衡實例后面 B、在同一個地域的同一個可用區的多臺云服務器上部署應用,并掛載在同一個負載均衡實例后面 C、在不同地域的多個可用區的多臺云服務器上部署應用,并掛載在同一個負載均衡實例后面 D、在不同地域的同一個可用區的多臺云服務器上部署應用,并掛載在同一個負載均衡實例后面 提示:1、SLB不能跨地域,要想跨地域只能在多個地域單獨配置不同的SLB再通過DNS輪詢實現轉發。2、同 個地域下,SLB通過在不同可用區配置ECS實現災備。四個選項都是只有一個SLB,所以可用性最高的就是 多個可用部署應用 答案:A 3★64765、使用阿里云對象存儲OSS保存云服務器ECS實例上的業務系統日志,可以有效降低存儲成本。如果 ECS實例和OSS在同一地域,只能通過公網地址傳輸數據。 A、 對錯 提示ECS實例和OSS在同一地域,是可以通過內網來傳輸數據的。 答案B 1★65/765、在使用阿里云彈性伸縮( Auto Scaling)創建伸縮組之后,除地域屬性之外,還有以下哪些屬性不可以 修改?(正確答案的數量:2個 A、伸縮組名稱 、負載均衡實例 RDS數據庫實例 D、移出策略 提示:伸縮組名稱是可以修改成其他名稱,移出策略是可以修改為其他策略。 答案BC 3★66765、在阿里云的負載均衡SLB的管理控制臺中,可以根據一些監控的統計指標來設置報警信息,常見的 如流量、數據包、連接數等,設置報警閾值,一旦觸發了報警條件,就會通過多種方式進行報警。目前還不支 持 的報警方式 電話報警 B、郵件報警 C、短信報瞀 D、旺旺報警 提示:阿里云的負載均衡SLB的監控報警目前還不支持電話報警。開通云監控服務后,您可以在云監控控制臺配 置監控報警規則。云監控支持“短信”、“郵件”、‘旺旺”三種報警方式,暫不支持電話報警。相關鏈接 答案A 1★67/765、用戶A是公司的系統管理員,經常去上海出差,每當他在上海遠程登錄服務器時系統就會發出報警 信息,提示“有人異地登錄,請注意服務器安全”通過 方法可以快速、自助解決這個問題。 A、立即提交工單,咨詢阿里云工程師 B、向公司領導請求幫助 C、登錄阿里云管理控制臺,在安騎土配置項里填加“常用登錄地點” D、向朋友電話求助,他是業界有名的黑客高手 提示題目中說的是系統管理員每次在上海出差時候遠程登錄服務器就會發出異地的報警信息,所以需要通過 控制臺的添加“常用登錄地點”來解決這個報警信息的問題 答案C 3★68765、阿里云對象存儲OSS的存儲空間 Bucket支持刪除操作,在刪除 Bucke前必須先刪除 Bucket中的所有 文件,包括未完成的分片文件。 錯 提示:刪除 Bucket前,碎片文件也必須要一起刪除。相關鏈接 答案:A 1★69/765、您希望基于已有的磁盤快照在青島可用區A的云服務器ECS實例創建一個新的塊存儲磁盤,您可以 使用 快照創建該磁盤。 A、以上都不行 B、青島可用區A的某個ECS實例的系統盤快照1 C、北京可用區A的某個ECS實例的數據盤快照 D、香港可用區A的某個FCS實例的數據盤快照 提示題目中要求的是在ECS上面新掛載一塊數據盤,所以可以使用和它同一個可用區的非系統盤快照來創建。 所以三個選項都是不符合要求的。系統盤快照,不能用來作為創建新的數據盤。 答案:A 3★70765、阿里云內容分發網絡CDN建立并覆蓋在承載網之上,由分布在不同區域的邊緣節點服務器群組成 的分布式網絡替代傳統以 WEB Server為中心的數據傳輸模式。用戶使用阿里云CDN時 步驟是必須 的。(正確答案的數量:2個) A、手動刷新緩存 B、添加“加速域名” CNAME域名解析 D、CDN使用資源監控 提示:CDN快速入門操作流程1開通CDN服務2添加加速域名3.配置 CNAME相關鏈接 答案BC 2★71765、BGP(邊界網關協議)主要用于互聯網AS(自治系統)之間的互聯,BGP的最主要功能在于控制路由的 傳播和選擇最好的路由,BGP線路可有效避免不同運營商之間網絡訪問慢的問題。 正確 B、錯誤 提示:邊界網關協議,簡稱BGP,主要用于互聯網AS(自治系統)之間的互聯。BGP協議的最主要功能在于控 制路由的傳播和選擇最好的路由。使用BGP髙防可以解決跨運營商訪問慢、部分小運營商訪問不穩定的情況。 這個是文檔的原話。 答案:A 3★72/765、當一個阿里云的云服務器ECS實例無法加入指定的安全組時,可能是 原因造成的 A、該云服務器ECS實例的狀態為運行中 B、云服務器ECS實例創建之后默認已經加入一個安全組,不能再加入其它安全組 、本云服務器ECS實例目前已經加入的安全組數量達到上限 D、該云服務器ECS實例沒有開啟公網帶寬,所以無法加入安全組 提示:每個ECS實例最多可以加入5個安全組,當超過5個了以后就無法繼續加入其他安全組 答案:C 2★73765、D公司在線視頻業務全國排名前五,整個業務系統全部建設在阿里云之上,使用的云產品有云服務 器ECS、對象存儲OSS、內容分發網絡CDN。最近發現有黑客惡意下載公司的正版視頻,在國外社區里分 發。假設你是D公司的系統管理員,從技術上可以如何解決這個問題? A、啟用阿里云CDN的IP黑名單功能 啟用阿里云CDN的URL鑒權功能 C、啟用阿里云OSS的Reer黑名單功能 D、啟用云服務順的安全組功能 提示:劃重點:公司使用了CDN,黑客惡意下載公司的正版視頻。所以需要對CDN的訪問進行保護,但是題目 中并不知道黑客的具體IP或者某一段IP,知道具體IP的話可以直接把具體IP或者這段加入黑名單,所以只能 需要采用CDN的URL鑒權能防止在社區在分發的問題。 答案B 3★74765、您發現某臺阿里云的云服務器ECS實例的磁盤上的數據被誤刪除,需要回滾到之前某個時刻的數 據,可以通過對該磁盤進行回滾操作來實現。登錄到阿里云的管理控制臺進行回滾操作時,您發現不能進行該 操作,可能是 原因造成的。(正確答案的數量:3個) A、云服務器ECS實例的狀態為“運行中” B、云服務器ECS實例的狀態為啟動中 云服務器ECS實例的狀態為“已過期 D、云服務器ECS實例的狀態為“已停止 提示:回滾磁盤必須要求云盤必須已經掛載到某臺ECS實例上,而且已經停止實例。所以不會是“已停止”的狀 態造成的。 答案:ABC 3★75/765、在刪除阿里云彈性伸縮( Auto Scaling)的伸縮組時有兩種模式:強制刪除和非強制刪除。在非強制 刪除模式下,必須滿足以下哪兩個條件才可以刪除?(正確答案的數量:2個) A、伸縮組沒有任何伸縮活動正在執行 B、伸縮組當前的ECS實例數量為0 C、伸縮組沒有對應的定時任務以及報警任務 D、伸縮組沒有和負載均衡SLB、云數據庫RDS配合使用 提示:如果 Forcedelete屬性為 false,必須滿足以下兩個條件,才能刪除伸縮組:1.伸縮組沒有任何伸縮活動正 在執行。2伸縮組當前的ECS實例數量( Total Capacity)為0。 答案:AB 1★76/765、實現PC中ECS服務器切換遷移到同VPC下的其他交換機,包括以下幾步,請選擇正確的順序 1打開云服務器管理控制臺;2找到對應的需要切換遷移的云服務器;3.選擇您所需的交換機,同 時指定新交換機下的IP;4.修改云服務器的私網地址; A、1,2,3,4 B、1,2,4,3 C、1,3,2,4 D、1,3,4,2 提示: 答案B 2★7765、阿里云的云盾的安騎士提供了服務器密碼暴力破解防護,用戶再也不用設置難記的復雜密碼了。 A、正確 錯誤 提示:云盾的安騎士暴力破解防護,但是用戶仍然需要做好密碼的妥善保管工作。 答案B 4★78/765、阿里云彈性伸縮( Auto scaling)中的伸縮組,是指具有相同應用場景的ECS實例集合。當用戶創建 個伸縮組時需要包含以下哪些內容?(正確答案的數量:3個) 、伸縮規則 、伸縮活動 伸縮配置 D、伸縮觸發任務 提示:伸縮組包含伸縮配置、伸縮規則、伸縮活動。相關鏈接 答案:ABC 4★79765、您在阿里云的 Windows系統的云服務器ECS實例中不建議刪除或者重命名 administrator賬戶,如果 進行以上操作可能會引起在阿里云的管理控制臺上修改密碼失效 對 B、錯 提示:對 administrator賬戶做了操作,如禁用、刪除和改名等操作確實會導致在控制臺修改ECS實例密碼不成 功。相關鏈接 答案:A 1★80765、在使用阿里云云產品時,可以通過以下哪些方式來提供數據庫服務??(正確答案的數量:4個) A、 Linux的環境安裝包安裝數據庫 單獨購買RDS數據庫 使用鏡像市場免費配置環境的數據庫 D、 Windows的環境安裝包安裝數據庫 提示四種方式都是支持提供數據庫的服務的。 答案:ABCD 2★81765、阿里云的云盾先知計劃的目的是幫助企業建立私有的 中心,以較低的成本發現企業自 身企業的安全風險,并得到解決方案。 A、私有數據中心 B、應急響應中心 C、病毒防護中心 D、遠程備份中心 提示:先知計劃是一個幫助企業建立私有應急響應中心的平臺(幫助企業收集漏洞信息)。 答案B 2★82/765、在服務器上手動安裝阿里云的云盾客戶端安騎上時需要 權限。 A、系統管理員權限 B、系統普通用戶權限 C、FTP服務權限 D、數據庫權限 提示在服務器上手動安裝安騎士時需要管理員權限。相關鏈接 答案:A 3★83/765、您可以根據業務的需要,選擇采用手動或者鏡像的方式進行阿里云的云服務器ECS實例的使用環境 的部署。針對這兩種部署方式,以下說法中正確的包括 。(正確答案的數量:3個) Δ、阿里云的云市場提供了豐富的鏡像資源,大部分鏡像都集成了操作系統和應用程序 B、在創建ECS實例時,可以選擇云市場的鏡像來快速獲得所需的應用程序,無需自行安裝,如PHP、 MySQL 等 、如果您需要個性化定制的運行環境,可以使用手動部署 D、如果您使用鏡像市場的鏡像來重新初始化ECS實例,可以通過更換系統盤來完成操作,同時數據盤的數據 也會受到影響 提示:更改系統盤操作,只會影響系統盤的數據,數據盤的數據不會受到任何影響。 答案:ABC 1★84765、交換機,是組成VPC網絡的基礎網絡設備。它可以連接不同的云產品實例。在VPC網絡內創建 云產品實例的時候,必須指定云產品實例所在的交換機。下面關于交換機說法錯誤的是? A、VPC的交換機,是一個3層交換機,不支持2層廣播和組播; B、只有當ⅤPC的狀態為 Available時,才能創建新的交換機; C、交換機不支持并行創建,一個交換機創建成功之后,才能夠創建下一個; D、交換機創建完成之后,無法修改 CIDRBlock; E、刪除交換機時,該交換機所連接的云產品實例也一同刪除; 提示刪除交換機之前,必須先刪除目標交換機所連接的云產品實例。 答案:E 2★85765、您在原有的數據中心已經部署了部分應用,現在需要構建新的應用,但本地的數據中心內的物理 資源不夠用,也沒有辦法進行擴容,使用以下哪些方案可以用于解決該問題?(正確答案的數量:3個) A、在阿里云上申請專有網絡VPC服務,并基于VPC申請新的云服務資源,與您原有的數據中心使用相同的內 網地址網段 、通過專線打通原有數據中心與阿里云上的VPC,實現已有數據中心向云上的平滑遷移 、通過VPN打通原有數據中心與阿里云上的VPC,實現已有數據中心向云上的平滑遷移 D、直接申請阿里云的云服務器無需任何操作就可以與原有的數據中心內網打通,實現已有數據中心向云上的 平滑遷移 提示:無需任何操作是不會打通的。 答案:ABC 1★86/765、若您的阿里云的云服務器ECS的實例希望能夠和 internet直接連通,就一定要開啟公網帶寬或者綁 定EIP。 B、錯 提示因為題目是說需要直接連通,所以只能通過公網帶寬或者EIP來實現。 答案:A 1★87765、阿里云CDN不僅支持圖片和cs文件加速,還支持視頻流媒體加速。 B、錯 提示:阿里云CDN廣泛應用于網站與應用加速、音視頻點播、文件等場景,通過高性能緩存機制,提高訪問效 率和資源可用性。符合題目的描述。相關鏈接 答案:A 1★88/765、某社交網站的整個平臺基于阿里云的負載均衡SLB、云服務器ECS和云數據庫RDS構建,原來只提 供wEB純動態的文字信息交流。最近網絡直播很流行,運營團隊為了增加會員活躍度,也準備開設網絡直播 業務,實現全國20萬會員隨時隨地快速觀看直播,預計同步在線人數3000。需要再開通阿里云的 品來支撐這個業務。(正確答案的數量:4個) A、高性能計算HPC( AliCloud hPc) B、彈性伸縮( Auto Scaling) 對像存儲OSS D、媒體轉碼( Media Transcoding 內容分發網絡CDN 提示:題目中要求創建是計¢網站,需要支持直播,所以需要媒體轉碼( Media Transcoding)服務;同時支持全 國的會員隨時隨地快速觀看,所以需要用到對象存儲OSS來保存直播視頻內容且配合內容分發網絡CDN實現全 國地區的加速觀看。 答案BCDE 4★89/765、某互聯網金融公司為了實現業務快速上線,系統快速部署,基于阿里云搭建I基礎架構。由于其 業務特性,不定期會有理財套餐的秒殺、促銷活動,為了能夠應對更大、更具偶發性的業務壓力,需要全面考 慮應用、數據庫等層面的擴展,以下說法正確的是:(正確答案的數量:3個) A、使用SLB實現應用層的彈性擴展 使用DRDS實現數據庫層的彈性擴展 使用彈性伸縮使云服務器輕松應對秒殺場景擴容 D、應用之間采用緊耦合架構 E、將系統搭建在同一地域有利于系統的彈性擴展 提示:應用層的彈性通過SLB后增加機器實現,DRDS就是數據庫集群,可以實現數據庫的彈性擴展(),應用 間應該釆用松耦合的架均提高系統的可跨展性,緊耦合不利于維護。彈性擴展和部署在同一地域沒有關系, 多個地域也可以每個地域單獨實現彈性拓展。相關鏈接 答案:ABC 3★90765、某視頻公司,使用負載均衡SLB將用戶的訪問請求分發到20合云服務器ECS實例上,由這些配置相 同的ECS實例來響應用戶的請求。春節將至,根據經驗預估,假期期間業務量會增加一倍??梢允褂冒⒗镌茝?性伸縮( Auto Scaling)來滿足資源的彈性變化的需求,由于可以準確的預測業務量變化情況,因此可以選擇 多種伸縮模式來實現。以下說法正確的是?(正確答案的數量:3個) A、定時任務:在假期開始當天,增加ECS實例個數到40臺,假期過后減少至20臺 B、云監控報瞀任務:通過監控CPU、負載等,在資源緊張時動態增加FCS實例,在資源空閑時,減少ECS實 C、固定數量模式:從假期開始當天,設置伸縮組的最小實例數為40臺,假期過后將該參數調至20合 健康模式:保持伸縮組中當前的所有的ECS實例能正常工作,以滿足用戶訪問請求的響應 提示:題目考察的是選擇哪種伸縮模式實現比較合理,并不是說單獨需要什么模式來實現。劃重點:由于可 以準確預測業務量變化情況。所以不需要動態增加機器,所以報警任務不會選。 答案:ACD 3★91/765、阿里云的負載均衡SLB提供對多臺云服務器ECS實例進行流量分發的服務,對于公網的負載均衡 SLB實例,支持 兩種付費模式。(正確答案的數量:2個) 按使用流量計費 按固定帶寬計費 C、按后端服務器臺數計費 D、按照后端服務器的計算能力計費 提示:SLB支持按使用流量或者按照固定寬帶付費。 答案:AB 1★92/765、在 OSS AP中通過 參數的操作可以實現設置 object頭? A、 Multipart Upload B、 Get Object C、 Get bucket Copy Object 提示: Copy object接口可以發送一個Put請求給OSS,并在Put請求 Header中添加元素x- oSS-copy-Source來指定源 Object 答案D 1★93/765、無論伸縮組內是否有伸縮活動,都可以停用伸縮組。 A、對 錯 提示伸縮組里面有伸縮活動正在執行的時候,不可以停用伸縮組。強制停用可能會導致伸縮組伸縮異常。 答案B 5★94/765、您在通過 Open AP制作阿里云的云服務器ECS實例的自定義鏡像的時候失敗了,有可能是 原因引起的。(正確答案的數量:3個) 選擇數據盤快照制作 B、選擇系統盤快照制作 、沒有設置自定義鏡像的名稱 D、沒有設置自定義鏡像的描述 提示:云服務器ECS實例的自定義鏡像的時候失敗了,因為自定義鏡像本身就是用系統盤快照來制作的,所以不 會是選擇系統盤快照制作導致的,可能是選擇數據盤快照制作導致的,同時制作鏡像時,自定義鏡像的名稱和 自定義鏡像的描述都是必須的不可為空。 答案:ACD 1★95/765、使用了阿里云CDN后,如果緩存命中率比較低,可能的原因是(正確答案的數量:4 個) 、緩存配置不合理,針對某些文件設置較短,導致CDN節點頻繁回源 Http Header設置導致無法緩存,需要用戶檢査源站的 Cache- Control設置或者 Expires的設置 源站動態資源較多,多為不可緩存的內容,也會導致頻繁回源拉取 網站訪問量較低,文件熱度不夠,CDN收到請求較少無法有效命中緩存 提示題目考察的是緩存命中率比較低的原因,相關鏈接 答案:ABCD 1★96/765、阿里云專有網絡ⅴPC內部存在虛擬交換機和虛擬路由器,可以像傳統網絡環境一樣劃分子網,每 個子網內的云服務器ECS實例之間使用同一個虛擬交換機互聯,不同子網間的ECS實例之間使用虛擬路由器互 B、錯 提示:不同專有網絡之間通過隧道ID進行隔離。專有網絡內部由于交換機和路由器的存在,所以可以像傳統網 絡環境一樣劃分子網,每一個子網內部的不同云服務器使用同一個交換機互聯,不同子網間使用路由器互聯。 相關鏈接 答案:A 297765、阿里云的云盾的先知計劃,是調動眾多網絡安全專家的力量一起維護互聯網平臺和業務的安全,降 低客戶的安全損失。適合使用先知計劃的用戶包括 。(正確答案的數量:3個) A、網站曾經被入侵,導致數據被泄露或者業務被篡改,造成公關風險,影響了公司形象和業務,正在尋求互聯 網安全解決方案 網站漏洞多次被曝光,被競爭對手惡意炒作,正在尋求互聯網安全解決方案 、買了很多安全產品和設備,但還是出現被攻擊和入侵的情況,正在尋求互聯網安全解決方案 D、用戶的業務全部部署在自己的局域網,在公共互聯網上無法訪問,正在尋求內網安全的解決方案 提示排除法,用戶的業務全部部署在自己的局域網,則在公網無法訪問,所以無法適用于先知的使用場景。 答案:ABC 4★98765、您在阿里云的帳號A下基于云服務器ECS實例搭建好了Web應用服務,如果需要在另一個阿里云的帳 號B中快速創建包含相同應用的云服務器ECS實例,可以通過方式最高效的實現 A、在帳號A中創建該云服務器ECS實例的自定義鏡像,并將該鏡像共享給帳號B,帳號B基于該共享鏡像進行新 的云服務器ECS實例的創建 B、直接在帳號B中申請云服務器ECS實例并進行相同的web應用的部署 C、在帳號A中進行該云服務器ECS實例的快照創建,并將該快照共享給帳號B,基于該快照進行新的ECS實例的 創建 D、其他方式都不可以完成 提示:共享鏡像可用于跨賬號部署ECS實例。創建自定義鏡像后,您可以將鏡像共享給其他阿里云賬號使用。該 賬號可使用您共享的自定y竟像,快速創建運行同一鏡像環境的ECS實例。相關鏈接 答案:A 3★99765、使用阿里云的負載均衡SLB實例時,通過會話保持可以實現與某個連接( Session)相關的所有應用 請求能夠由同一臺后端云服務器ECS實例進行處理。為了在七層協議轉發中,實現基于 cookie的會話保持,阿里 云的負載均衡SLB提供了處理方式。(正確答案的數量:2個) 植入 、 Cookie重寫 C、 Cookie跟蹤 D、 Cookie校驗 提示HTTP/Https監聽可使用植入cookie和重寫cookie來進行會話保持。相關鏈接 答案:AB 3★100/765、某公司使用阿里云產品作為企業門戶網站的解決方案,通過負載均衡SLB服務轉發客戶請求到后端 的云服務器ECS實例中去處理。目前他們要在網站中新增加一個庫存查詢的功能,需要訪問云數據庫RDS實例, 他們的方案是:把RDS實例掛到SLB實例的后端服務器池中,在現有的SLB實例上多配置一個監聽( Listener) 專門負責監聽庫存查詢的需求,然后把需求分發給RDS實例處理。 A、對 B、錯 提示:負載均衡SLB只支持負載ECS,其他云產品都不支持負載。更不支持在SLB實例上多配置監聽以及給RDS分 發請求。 答案B 5★101/765、您將業務部署在阿里云上時,可以通過將業務的模塊進行拆分、采用多個低配置的云服務ECS實例 結合負載均衡SLB的方案,來提高業務的整體可用性。 對 B、錯 提示:這個是上云實踐中的描述,可以將業務拆分為多個模塊,在多個低配置的云服務ECS實例結合負載均衡SLB 的方案,來實踐業務的高可用。 答案:A 3★102765、阿里云彈性伸縮( Auto Scaling)中,伸縮組是一組部署了相同應用的云服務器ECS實例的集合。以下 關于伸縮組的說法中正確的是? 當伸縮組對應的伸縮規則的條件觸發后,彈性伸縮會根據設定的伸縮規則添加或者減少伸縮組中的云服務器 ECS實例 B、伸縮組是云服務器ECS實例的資源池,當實際應用中需要添加計算資源時,會從伸縮組中獲取可用的ECS實 例,添加到應用中去 C、伸縮組是云服務器ECS實例的資源池,彈性伸縮會預先創建一定數量的云服務器ECS實例放在伸縮組中 D、伸縮組是監控的目標,其中的云服務器ECS實例,必須是由阿里云彈性伸縮基于相同的鏡像自動創建的 提示:阿里云彈性伸縮( Auto Scaling)的基礎知識。服務器ECS實例可以是自己創建,也可以自動添加閑置的云 服務器ECS資源。 答案:A 3★103/765、阿里云對象存儲OSS是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。在OSS里存儲文 件前首先要創建一個存儲空間 Bucket,之后才能在 Bucket中進行文件的上傳和管理。以下有關 Bucket的描述中正 確的包括 (正確答案的數量:3個) 、同一個 Bucke內部的空間是扁平的,所有的對象都是直接隸屬于其對應的 Bucket 、每個用戶可以擁有多個 Bucket 、 Bucket的名稱在OSS范圍內必須是全局唯一的,一旦創建之后無法修改 D、 Bucket在創建時需要指定容量上限 提示 Bucke容量是沒有上限的,所以無需在創建時指定。 答案ABC 3★104/765、當您發現無法將指定的阿里云的塊存儲掛載到某臺的云服務器ECS實例上時,可能是 原因 造成的。(正確答案的數量:2個) 云服務器ECS實例已經掛載的數據盤數量達到上限 購買的塊存儲和云服務器ECS實例不在同一個可用區 C、云服務器ECS實例處于已停止狀態 D、云服務器ECS實例沒有公網PP 提示:題目中所說的是無法將數據盤掛載到ECS上面,請分析一下原因。分析一下掛載云盤的注意事項:,發現 臺ECS實例最多能掛載16塊云盤作數據盤用,且云盤只能掛載到同一地域下同一可用區內的實例上,不能跨可 用區掛載。相關鏈接 答案:AB 4★105/765、您需要在阿里云上創建云服務器ECS實例, 因素可能導致您創建的云服務器ECS實例的所 產生的費用不同。(正確答案的數量:4個) 云服務器ECS實例的地域 B、云服務器ECS實例的付費模式 、云服務器ECS實例的鏡像類型 D、將要部署在云服務器ECS實例上的應用不同 、云服務器ECS實例的公網帶寬不同 提示服務器ECS實例上的應用不同不會影響到ECS的定價 答案:ABCE 2★106/765、您通過阿里云的云監控服務為某臺云服務器ECS實例的磁盤使用率設置了1條報瞀規則:統計周期 為5分鐘,磁盤使用率平均值超過80%,連續探測5次超過閾值后就報警。如果您的磁盤平均使用率超過80%后, 至少需要幾分鐘后可以收到報警? A、0分鐘 B、30分鐘 C、40分鐘 D、20分鐘 提示連續五次超過閾值就報警,問的是最少的時間。所以可以假設剛啟動云監控就開始第一次探測超過閾值。 所以后面一共只需要四個探測周期就可以報警了。所以時間為5分鐘*次=20分鐘。 答案D 3★107/765、某O20網站基于阿里云的云服務器ECS、負載均衡SLB以及彈性伸縮( Auto Scaling)搭建了線上 系統,其中ECS用來處理用戶響應,SLB用來分發流量,彈性伸縮負責動態分配資源以滿足突發的業務變化,三 個產品配合可以提供穩定、便捷、低成本的服務?,F在想要增加云數據庫RDS到該架構中來,用來保存用戶訪問 時產生的數據。以下說法中正確的是? A、如果在伸縮組中指定了RDS實例,則彈性伸縮會自動把伸縮組中的ECS實例的P地址添加到RDS的白名單中 去,無需手工設置 B、可以把RDS實例直接掛在SLB下,由SLB按照轉發規則分配任務到RDS實例進行處理 C、可以把RDS實例手工添加到伸縮組,RDS實例可以保存用戶訪問的數據 D、對RDS實例所在的地域( Region)沒有硬性規定,但是建議和彈性伸縮在同一個地域,可以減小網絡傳輸的 延遲,提升響應速度 提示彈性伸縮( Auto scan.g)與SLB/RDS緊密集成,可以自動管理SLB后端服務器和RDS白名單,節省操作成 本。參考彈性伸縮產品優勢鏈接:相關鏈接 答案:A 5★108/765、您在阿里云的云服務器ECS實例的使用中,要創建新的安全組規則時,不可以規定 類型的 授權。 A、IP授權 B、端口授權 C、MAC授權 D、安全組授權 提示:安全組規則是不支持MAC授權的。 答案C 3★109765、阿里云彈性伸縮( Auto Scaling)是根據用戶的業務需求和策略,自動調整其彈性計算資源的管理服 務。為了在彈性伸縮創建的ECS實例中可以直接正常處理用戶請求,無需任何額外的系統調度和配置,彈性伸縮 的云服務器ECS實例中部署的應用必須滿足 A、無狀態且可橫向擴展的 B、有狀態 C、無狀態且符合冪等性的 D、所有數據保存在ECS實例磁盤上 提示:彈性伸縮主要是ECS的橫向伸縮,同時也是服務的橫向伸縮,彈性伸縮要求每臺ECS是無狀態的,否則不能 保證數據的統一。相關鏈接 答案A 4★110765、阿里云負載均衡SLB實例中的后端服務器ECS實例需要設置權重,可以給對外服務能力更強的ECS 實例設置更大的權重,這些ECS實例就會有機會處理更多的訪問請求。在提供穩定服務的同時,充分的利用了已 有資源。如果將一臺ECS實例的權重設置為0,以下說法正確的是。 A、該ECS實例不會再得到負載均衡SLB實例分發的外部訪問請求 B、所有外部訪問請求都被分發到這臺ECS實例上 C、該ECS實例會被認為狀態異常,負載均衡SLB會把它移出后端服務器池 D、負載均衡SLB會分發外部請求給這臺ECS實例,分發量的大小等于總請求數除以后端服務器ECS實例個數 提示將負載均衡后端ECS的權重置零,新發起的業務請求是無法經負載均衡轉發到該服務器的,健康檢查相應 的會顯示異常。所以該ECS實例不會再得到負載均衡SLB實例分發的外部訪問請求。相關鏈接 答案:A 4★11/765、云產品的可用區指的是一套獨立的基礎設施,不同的可用區之間基礎設施(網絡,電力和空調等 相互獨立,即一個可用區出現基礎設施故障不影響另外一個可用區。下列關于阿里云ECS的可用區說法正確的 是 可用區是在用戶購買時指定的,購買后不支持更改 B、可用區之間內網互通 C、可用區內網絡延時最高不超過1s D、若要提高應用的容災能力則可以將實例創建在同一可用區 提示:只有在同一個地域前提下,可用區之間的內網才是互通的??捎脜^是指在同一地域內,電力和網絡互相獨 立的物理區域。所以云產品一旦購買了,不支持更改可用區。 答案:A 1★112765、中國大陸范圍內的網站都需要做CP備案,在架構設計時應該告訴客戶提前就需要準備提 交備案? 網站上線前一天 B、網站上線當天 C、網站上線前一周 、網站上線前一個月 提示:為了保證網站能按時上線,需要在網站上線前一個月提交備案資料,保證留有充足的備案時間來完成備案 操作。 答案D 4★113/765、ECS服務器會對每個訪問的請求進行身份驗證,以下哪一個是用于標識訪問者身份的? A、 Access Key Secret B、 RequestId Access Key Id D、 User name 提示注意不是 Access Key Secret, Access Key Secret是用來鑒權校驗的, Access Key Id是用來區分用戶的。阿里 云 access key ID和 access key secret是您訪問阿里云AP的唯一憑證。 Access key D是類似身份的標識,而 access key secret的作用是簽名您的訪問參數,以防被篡改。 Access key secret類似您的登錄密碼,不要向任何人泄漏。 相關鏈接 答案:C 1★114765、如果用戶需要創建SB實例,為了能夠真正的實現應用的負載分擔,那么要保證至少要有 個ECS實例? A、5個 B、2個 C、3個 D、1個 提示:因為題目中強調了需要真正實現負載的分擔,所以至少需要兩臺ECS配合才能實現。 答案B 3★15765、云計算一個重要特點是彈性,阿里云的用戶可以根據業務需求和策略實現計算資源的自動調整。在 業務量高峰時增加ECS實例來提升系統的處理能力,在業務量低谷時自動減少ECS實例以節約成本。針對此場 景,阿里云的 產品可以和云服務器ECS實例配合使用實現彈性計算。 A、云數據庫RDS B、負載均衡SLB C、彈性伸縮 Auto Scaling D、專有網絡ⅤPC 提示:題目中說需要自動根還有業務量來自動調節ECS實例的數目,所以需要選擇彈性伸縮 Auto Scaling 答案:C 1★116765、以下哪些狀態屬于ECS生命周期中的穩定狀態?(正確答案的數量:3個) 、運行中 B、已停止 、已過期 D、停止中 提示:穩定狀態為已停止,運行中,停止中和創建中均為中間狀態,特別注意運行中是穩定狀態而非中間狀態。 答案:ABC 1★117765、阿里云的負載均衡SLB中的證書( Certificate)用于 Https協議,在需要使用加密協議時,用戶可 以將證書上傳至負載均衡SLB實例中,在創建 Https協議監聽時綁定證書,提供 Https服務。目前阿里云的負 載均衡SLB只支持 格式的證書。 、PEM B、P7B C、PFX D、DER 提示:負載均衡只支持PEM格式的證書。相關鏈接 答案:A 3★18765、使用阿里云彈性伸縮( Auto Scaling)來實現計算資源的彈性配置時,做了如下設置:伸縮組的屬性中 設置 Min size=6, MaxSize=8,伸縮規則為“減少5臺ECS”,伸縮配置也進行了正常的配置。該伸縮組當前的云服 務器ECS實例數為8臺,通過設置定時任務來執行,執行一次后,會減少 云服務器ECS實例。 A、1 B、2臺 C、0臺 D、5 提示 Min size=6,8-6=2 答案B 1★119765、阿里云彈性伸縮( Auto Scaling)經常會和云服務器ECS、負載均衡SLB、云數據庫RDS等產品配合 使用,以下說法中正確的是 Δ、彈性伸縮必須和云服務器ECS一起使用 B、彈性伸縮可以單獨使用,不依賴于其他任何產品 C、彈性伸縮必須和云數據庫RDS一起使用 D、彈性伸縮必須和負載均衡SLB一起使用 提示:此題有爭議,之前的答案是可以單獨使用,我上機測試,ECS最小為1,故修改答案必須和ECS一起使用 答案:A 3★120765、阿里云彈性伸縮( Auto scaling)的冷卻時間是指在同一個伸縮組內,當有一個伸縮活動被成功執行后 的一段鎖定時間內,該伸縮組不執行其他的伸縮活動。以下關于冷卻時間的開始計時的時間點的說法正確的是? A、當伸縮組加入或移出多個ECS實例時,最后一個ECS實例加入或移出完成后,整個伸縮組冷卻時間開始計時 B、當伸縮組加入或移出多個ECS實例時,第一個ECS實例加入或移出完成后,整個伸縮組冷卻時間開始計時 C、伸縮活動結束后,冷卻時間馬上開始計時 D、伸縮活動開始后,冷卻時間馬上開始計時 提示:伸縮活動中,最后一個ECS實例加入或移出完成后,整個伸縮組冷卻時間才開始計時 答案:A 3★121/765、阿里云對象存儲OSS是阿里云對外提供的海量、安全、低成本,高可靠的云存儲服務。除了基本的 存儲功能外,OSS還提供了強大的圖片處理能力,可根據實際業務需要對圖片進行加工和轉換。OSS的圖片處理 能力包括 (正確答案的數量:3個 圖片縮放、添加水印 圖片格式轉換(例如:由jpg轉換成png 圖片360度范圍內旋轉 D、OCR文字識別(將圖片中的文字直接轉成文本) 提示:OSS目前不具備OCR文字識別的處理能力。 答案:ABC 1★122/765、對安全組的操作調整,對用戶的服務連續性沒有影響 B、錯 提示:對安全組的調整操作,對用戶的服務連續性沒有影響。這個是文檔的原話,解釋就是:用戶操作了安全 組,可能會導致請求訪問ECS失敗,但是并不會影響到ECS上面服務的運行。 答案:A 2★123/765、阿里云內容分發網絡CDN建立并覆蓋在承載網之上,由分布在不同區域的邊緣節點服務器群組成的 分布式網絡替代傳統以 WEB Server為中心的數據傳輸模式。如果用戶在使用CDN的過程中發現CDN緩存的”命 中率“比較低,可能的原因是 。(正確答案的數量:4個) A、網站訪問量較低,文件熱度不夠,CDN收到請求較少無法有效命中緩存 B、緩存配置不合理,針對某些文件設置較短,導致CDN節點頻繁回源 Http Header設置導致無法緩存,需要用戶檢查源站的 Cache- Control設置或者 Expires的設置 D、源站動態資源較多,多為不可緩存的內容,也會導致頻繁回源拉取 E、開通CDN時選擇的帶寬不足,服務能力已達到上限 提示:排除法,CDN是按照按每日帶寬峰值計費,所以不存在帶寬不足,服務能力達上限的問題 答案:ABCD 2★124/765、阿里云對象存儲OSS的圖片處理服務中,所有對圖片的轉換參數都會加在圖片文件的URL后面,使 URL變得冗長,不方便管理與閱讀。為了簡化操作,OSS圖片處理服務提供了 功能,可以將常見的轉換 參數保存起來多次使用。 A、樣式 B、方案 C、短網址 D、管道 提示:相關鏈接 答案:A 3★125/765、針對阿里云專有網絡VPC內的云服務器ECS實例,可以通過安全組來進行ECS實例的訪問控制配 置。以下說法中正確的是。 A、一個安全組中可以包含同一個可用區的不同ⅤPC里的云服務器ECS實例 B、一個安全組中可以包含同一個地域的不同VPC里的云服務器ECS實例 C、一個安全組中僅可以包含同一個可用區的同一個VPC內的云服務器ECS實例 D、一個安全組中可以包含同一個地域的同一個專有網絡VPC內的云服務器ECS實例 提示:專有網絡VPC里面的交換機支持部署在同一地域的不同可用區,專有網絡ⅤPC類型的實例可以加入同一專 有網絡(VPC)下的安全組 答案D 3★126/765、阿里云官網有很多阿里云內容分發網絡CDN與其它云產品組合的方案與業務場景供用戶參考。以 下選項中場景適合使用阿里云內容分發網絡CDN。(正確答案的數量:3個 A、日訪問次數低于100的BBS論壇 日訪問次數大于10萬次的阿里云虛擬主機純靜態站點 某中型電商類網站中的圖片、html、css、js文件 D、新聞門戶網站,日訪問人數超過3000萬次,用戶遍布全國各地 提示:日均低于100的訪問次數,不適合用CDN,因為熱點不夠,可能不足夠形成CDN熱點文件。同時從成本出發 也不適合使用。 答案BCD 3★127/765、阿里云的云盾態勢感知用大數據分析技術,按攻擊者的視角來建立安全防御體系,顛覆了傳統單 的入侵和漏洞檢測,讓用戶對安全可見、可控、可管”。以下關于態勢感知功能的描述錯誤的是。 A、可以發現 webshell,惡意病毒攻擊 B、利用大數據,可對高級攻擊者使用的oday漏洞攻擊進行防御 C、實時捕捉云服務器ECS實例中的網絡連接,利用情報信息做異常識別,發現僵尸網絡 D、是一個針對阿里云服務器ECS的托管服務 提示:態勢感知是對云上資產的診斷服務,服務器安全托管服務才是對ECS的托管。相關鏈接 答案D 3★128765、某新媒體公司通過手機APP提供新聞資訊服務,采用阿里云彈性伸縮( Auto Scaling)來實現動態 添加或者減少云服務器ECS實例,來應對業務量的變化。該公司的業務人員和技術人員相互配合,估算出他們所 需要的資源為閑時10臺ECS,但是有幾個時間段業務量會比較多,基本上集中在7:30到9:00,18:30到20:00,隨 著時間點的不同,所需的ECS實例在10到20個之間動態變化。他們在伸縮組中將最小實例個數設置為10,最大實 例個數設置為20。從容易部署以及節省成本的角度來考慮,他們還需要配置一個什么模式的任務? A、動態模式 B、定時模式 C、固定數量模式 D、lazy模式 提示題目中說了,ECS在這發時間內是動態變化的,以及要從節省成本的角度出發,定時任務一下子從10臺增 加到20臺,這樣雖然滿足業務要求但是成本增加了,所以選擇動態任務既可以滿足要求還可以根據需求適當擴展 ECS減少成本。 答案:A 1★129765、如果您不再需要某個阿里云的按量付費的云服務器ECS實例,可以將其釋放。關于按量付費的實例 釋放的操作中,錯誤的是 A、您可以再次設置自動釋放的時間并覆蓋前一次的設置 B、通過定時釋放設置為您的按量付費實例安排釋放計劃,選擇一個未來的時間釋放資源 C、不可以隨時釋放按量付費的實例 D、可以立即釋放該按量付費的實例 提示:自動釋放時間可以多次設置,且隨時可以取消之前的設置,實現隨時釋放按量付費的實例。 答案:C 3★130/765、阿里云的云監控( CloudMonitor)是一項針對云資源和互聯網應用進行監控的服務。云監控服務 當前提供 功能。(正確答案的數量:4個) A、站點監控 、云服務監控 C、自定義監控 報警服務 E、自定義防火墻 提示:云監控包含了主機監控,自定義監控,站點監控,云服務監控,報瞀服務。相關鏈接 答案:ABCD 2★131/765、某大型購物商城新上了一套視頻監控系統,在商城所在一個5層高的大樓里共安裝了35個高清攝像 頭,用于監控主要的出口通道。該系統的應用部署在一臺阿里云的云服務器ECS實例上,該ECS實例上掛了4塊 2T的數據盤來存儲視頻數據。上線后一周后發現視頻數據的增速過快,預計8T硬盤不出1個月就會用完。您認 為使用阿里云的 產品可以最好地解決該客戶的存儲問題,同時在需要的時候快速讀取到歷史的視頻數 據 A、歸檔存儲( Archive Storage) B、多臺云服務器ECS C、對象存儲OSS D、內容分發網絡CDN 提示:題目中要求需要解決類據增長過快的問題,需要可以通過將視頻文件存儲到OSS中來解決問題,因為OSS沒 有空間上限,不需要擔心曾長過快的問題,同時還可以滿足快速讀取的要求。(歸檔存儲無法快速讀取數據) 答案:C 3★132/765、阿里云的云盾的先知計劃,是調動眾多網絡安全專家的力量一起維護互聯網平臺和業務的安全,降 低客戶的安全損失。先知計劃為企業提供的是 服務。 為企業收集情報(漏洞」 B、為企業保障服務器安全 C、為企業保障網絡安全 D、用大數據的方式為企業進行安全分析 提示:先知(安全眾測)是一個幫助企業建立私有應急響應中心的平臺(幫助企業收集漏洞信息),盡早發現存 在的漏洞可以有效地減少企業可能的損失。相關鏈接 答案:A 1★133765、阿里云的云服務器ECS擁有與傳統服務器和虛擬主機無法企及的優勢。阿里云基于基于邊界網管協 議( Border gateway Protocol,BGP)的最優路由算法提供多線接入。以下關于云服務器ECS的多線BGP接入說 法正確的是。(正確答案的數量:3個) A、阿里云在骨干機房有出口帶寬大和云服務器獨享的出口帶寬的特點 B、多線接入與云服務的質量無關 通過BGP多線機房,實現全國訪問流暢均衡 D、通過多線接入可以實現更高的云服務質量 提示:多線接入與云服務的質量是有關系的。 答案:ACD ★134/765、經典網絡的內網網段不支持用戶自定義,專有網絡用戶可自定義內網網段。 對 B、錯 提示:經典網絡的都是隨系統分配,不支持用戶自定義網段。ⅤPC網絡可以支持用戶自由定義網絡,按需配置 網絡,可自定義P地址范圍與路由表等。 答案:A 3★135/765、在創建阿里云的云產品實例時,可以選擇默認類型的專有網絡VPC和交換機,這兩項配置確定了專 有網絡類型的云產品創建時在相應地域和可用區下唯一的默認網絡位置,與非默認的專有網絡和交換機之間的區 別主要在于默認類型的VPC和交換機只能由阿里云為您創建。下列關于默認交換機的描述錯誤的是 A、默認交換機只能創建在默認專有網絡中 B、如果您有已經創建的專有網絡vPC和交換機,在創建專有網絡VPC類型的云產品實例時,云產品實例就不會 創建在默認交換機中 C、默認交換機與非默認交換機支持相同操作方式,且規格限制一致 D、默認交換機由阿里云為您創建,您自行創建的均為非默認交換機 提示默認專有網絡與非默認專有網絡的操作方式與規格限制一致。相關鏈接 答案B 3★136/765、您開通了阿里云的云服務器ECS實例之后,可以免費開通云盾的安全能力對您的云服務器 ECS實例的安全進行保護。(正確答案的數量:3個) 、DDoS基礎防護 B、內容安全 、安騎士 D、服務器安全托管 提示服務器安全托管不屬于云盾功能,而是屬于安全管家的服務。 答案:ABC 3★137765、阿里云彈性伸縮( Auto Scaling)提供了“彈性自愈”功能,能保持伸縮組中的云服務器ECS實例都 處在正常狀態,從而使業務始終保持正常的負載,提高系統的穩定性。關于“彈性自愈”,以下說法中正確的是? A、如果伸縮組中某臺ECS實例狀態不是運行中,則該ECS實例會被移出伸縮組,同時自動創建一臺新的ECS實 例,添加到伸縮組中來 B、如果伸縮組中某臺ECS實例的狀態不是運行中,阿里云彈性伸縮會啟動ECS實例的故障檢查與修復進程,對 ECS實例進行自動修復 C、如果伸縮組中某臺ECS實例狀態不是運行中,阿里云彈性伸縮首先會自動重啟該ECS,重啟成功后繼續保持 在伸縮組中,如果重啟失敗,則從伸縮組中移除,同時創建新的ECS實例鍵入到伸縮組中來 D、如果伸縮組中某臺ECS實例狀態不是運行中,阿里云彈性伸縮首先會自動重啟該ECS,重啟成功后繼續保持 在伸縮組中,如果重啟失敗則會使用指定的鏡像恢復該ECS實例到初始狀態,繼續保持在伸縮組中 提示彈性自愈即當檢測某臺ECS實例處于不健康狀態時。彈性伸縮自動釋放不健康ECS實例并創建新的ECS實 例,自動添加新ECS實例到負載均衡實例和RDS實例的訪問白名單中。最后的介紹。相關鏈接 答案:A 3★138/765、某企業利用某公共云服務,租用了若干臺虛擬機,并把這些虛擬機放在一個隔離的虛擬網絡中,可 以完全掌控自己的虛擬網絡,包括選擇自有I地址范圍、劃分網段、配置路由表和網關等,這個虛擬網絡在公 共云服務中通常稱作 A、SDN服務 B、NFV服務 C、VPC服務 D、VPN服務 提示題目中說需要構建隔離的虛擬網絡,所以需要用到阿里云專用網絡VPC服務。 答案:C 3★139765、阿里云彈性伸縮( Auto scaling),是根據用戶的業務需求和策略,自動調整其彈性計算資源的管理服 務。支持用戶添加已有的云服務器ECS實例,但該云服務器ECS實例的狀態必須為 運行中 B、已創建 C、已停止 D、準備中 提示彈性伸縮手動添加ECS,ECS的狀態必須為運行中。 答案:A 1★140765、下列哪種 狀態表示負載均衡SLB后端服務器的狀態表示未開啟SLB健康檢查? 、 unavailable B、 available C、 abnormal D、 normal 提示:負載均衡SLB后端服務器的狀態為 unavailable的時候表示其未開啟健康檢查,相關鏈接 答案:A 1★141/765、以下是ECS實例數據盤掛載點的是 ?(正確答案的數量:3個) 、/dev/xvdz B、/dev/xvdd C、/dev/xvda D、/dev/xvdb 提示:正常情況下用 fdisk-l命令,可以査看到新增的硬盤。/dev/xvda為系統盤,/ dev/]vdb dev/xdc./ dev/xvdz都是 數據盤。所以/ dev/avda為系統盤不會選擇。 答案:ABD 3★14/765、阿里云對象存儲OSS提供了海量的文件存儲能力,對于文件管理除了支持簡單上傳、斷點續傳和大 文件分片上傳功能外,還提供了多種刪除文件的功能。如果需要刪除的 Object數目很多,而且刪除的 Object是有 定的規律,比如定期刪除某些天之前的 Object,或者干脆是要清空整個 Bucket,特別適合使用哪個功能來完 成? A、管理控制臺逐個刪除 B、管理控制臺批量刪除 生命周期管理 D、通過 OpenAPI逐個刪除 提示:題目中說需要比如定期刪除某些天之前的 Object,所以可以通過生命周期管理來管理最合適。 答案:C 3★143/765、路由表是阿里云專有網絡VPC路由器上管理路由條目的列表,路由條目定義了通向指定目標網段的 網絡流量的下一跳地址。路由表支持通過方式進行配置。(正確答案的數量:2個) A、遠程登錄到路由器進行控制 B、專有網絡PC的管理控制 C、進入機房直接對路由器進行控制 、阿里云VPC的 OpenAPI 提示:您可以通過專有網絡VPC的管理控制臺以及專有網絡VPC的相關路由表接囗來管理配置路由表,相關鏈接 答案BD 1★144/765、當云服務器ECS實例選擇了 Centos系統時,本地為 Windows操作系統,采用 方式無法正 確的登錄該ECS實例 A、阿里云管理控制臺 B、 SecurecrT C、 Putty D、 Windows自帶的遠程桌面客戶端 提示: Windows自帶的遠程桌面客戶端只能連接 Windows系統的遠程界面,不能連接 Centos系統( Linux系統)。 答案D ★145/765、下列 參數代表的是負載均衡SLB實例的唯一標識? 、 LoadBalancerld B、 RegionId C、 Address D、 LoadBalancername 提示:負載均衡實例即 Loadbalancerld是來區分不同負載均衡SLB實例的唯一標識 答案:A 2★146/765、關于阿里云的云盾DDoS高防IP服務支持的“線路類型說法正確的是 A、僅支持BGP+電信 B、僅支持電信+聯通 C、僅支持聯通+BPG+電信 D、僅支持電信+聯通+BGP+HK線路 提示: 答案D 5★147/765、您啟動了一臺新的阿里云的云服務器ECS實例,要求此實例只允許開放80端口的公網訪問??梢酝?過以下哪個操作來實現此要求而不影響其它實例? A、在該實例所在的默認安全組添加一條公網訪問規則僅允許80端口的公網入流量 B、在該實例所在的默認安全組添加一條公網訪問規則僅允許80端口的公網出訪問,并添加一條公網訪問規則不 允許所有的公網出流量 C、新建一個安全組,并新增一條安全組規則允許80端口的公網入流量,將該云服務器實例放入該安全組 D、新建一個安全組,并新增一條安全組規則允許80端口的公網入流量,將該云服務器實例放入該安全組,并從 原先的默認安全組挪出 提示題目中要求ECS實例只允許開放80端口的公網訪問,所以需要新增安全組規則,允許80端口的公網入方向 訪問,將實例加入該組為了不影響其他實例,并將其從原先的默認安全組移出。 答案D 4★148/765、對阿里云的云服務器ECS實例進行停止操作之后,ECS實例將停止工作,從而中斷您的業務,需謹 慎執行。由于停止操作之后ECS實例處于停止狀態,阿里云將不再對該ECS實例進行收費。 A、對 B、錯 提示:停機不收費僅面向于按量付費的ECS,包年包月的ECS關機仍然繼續收費,只有在ECS實例到期后才不繼續 收費。 答案B 4★149765、關于阿里云的云服務器ECS實例是否支持安裝虛擬化程序的說法正確的包括 。(正確答案 的數量:2個) A、云服務器巸CS實例是基于虛擬化平臺運行的,不支持部署虛擬化程序 B、可以在云服務器ECS實例中部署虛擬化程序,阿里云提供相應的技術支持 C、如果在云服務器ECS實例中部署虛擬化程序,會導致服務器出現不可預測的問題 D、如果在云服務器ECS實例中部署虛擬化程序,服務器出現的問題是可以預測的 提示]如果在云服務器ECS實例中部署虛擬化程序,服務器出現的問題是不可預測的。阿里云強烈不建議在云服 務器ECS實例中部署虛擬化程序,這樣會導致云服務器ECS出現不可預測的問題。 答案:AC 3★150765、阿里云OSS圖片處理服務( Image Service,簡稱IMG),阿里云OSS圖片處理服務有哪些性能? (正確答案的數量:3個) 、海量圖片處理 B、無成本 C、通過簡單的 RESTful接口對圖片進行處理 、可靠性高 提示OSS的圖片處理為收費服務。所以是需要成本的。相關鏈接 答案:ACD 1★151765、阿里云的負載均衡SLB可以把用戶請求分發給后端的云服務器ECS實例,這些云服務器ECS實例的 規格配置必須相同。 A 對錯 提示:負載均衡SLB后端的ECS實例的規格可以不同,用戶只要確保后端ECS實例中的應用服務部署相同且數據一 致即可。相關鏈接 答案B 2★152/765、阿里云的云盾加密服務采用 機制來保證密鑰的安全。 、符合國家密碼管理局要求的算法 B、符合銀監會對密鑰強度的要求 C、防篡改硬件密碼機 D、國際通用密碼算法 提示:加密服務是云上的數據安全加密解決方案。服務底層使用經國家密碼管理局檢測認證的硬件密碼機。密碼 機的關鍵還是加密算法,題目主要問的是機制,所以選擇國家密碼管理局檢測認證的加密算法。 答案:A 4★153765、以下 安全功能需要單獨購買,不是在創建阿里云的云服務器ECS實例的同時可以免費獲得 的 A、基礎DDoS防護 B、木馬查殺 C、防暴力破解 、DDoS高防IP 提示DDoS高防P是需要付費購買的功能?;ADDoS防護是可以免費開通的。 答案D 2★154/765、如果阿里云上的用戶擁有多臺云服務器ECS實例,且沒有專業的運維團隊或者不愿意在運維上花精 力,可以開通阿里云的云盾安騎上,提供專家人工安全體檢、清除木馬、系統加固、人工安全技術支持、托管服 務報告。 A、正確 B、錯誤 提示:安騎士不提供人工安全技術支持、托管服務報告的服務,需要人工安全技術支持、托管服務報告的服務需 要選用安全管家服務。 答案B 1★155/765、對于阿里云態勢感知典型的功能點描述正確的是 A、惡意進程查殺 B、漏洞檢測和修復 C、外部風險掃描:如AK泄露、賬密泄露 D、全量安全日志,自動化入侵回溯 E、其它選項都正確 提示:文檔原文:態勢感知具備異常登錄檢測、網站后門査殺、網站后門査殺、進程異常行為、敏感文件篡改、 異常網絡連接、Liux軟件漏洞、 Windows系統漏洞、 Web-CMS漏洞、應急漏洞、web漏洞掃描、主機基線、 云產品基線、資產指紋、AK和賬號密碼泄露、數據大屏、日志檢索、全量日志分析。相關鏈接 答案E ★156/765、PFX是使用二進制的格式保存的個人證書,一般出現在 Windows server中,現在想把該格式的證書 上傳到阿里云的負載均衡SLB實例,以下說法正確的是 A、負載均衡SLB不支持PFX格式的證書,只能先將其轉換成PEM格式,再上傳 B、負載均衡SLB支持PFX格式的證書,可以將其直接上傳 C、負載均衡SLB不支持PFX格式的證書,只能先將其轉換成DBR格式,再上傳 D、負載均衡SLB不支持PFX格式的證書,只能先將其轉換成P7B格式,再上傳 提示:負載均衡只支持PEM格式的證書。假如是PFX格式或其他部分格式,需要現將其轉換成PEM格式再上傳。 相關鏈接 答案:A 3★157/765、用戶通過網絡使用軟件,無需購買軟硬件、建設機房等,而改用向提供商租用基于web的軟件,來 管理企業經營活動,且無需對軟件進行維護,服務提供商會全權管理和維護軟件。這種模式是云計算提供的 服務。 、SaS(軟件即服務) B、PaS(平臺即服務) C、IaS(基礎設施即服務) D、DaS(數據即服務) 提示:題目中說了是基于web的軟件,消費者只需要通過網絡使用軟件,不需要管理和維護軟件,所以選擇 SaS(軟件即服務)。 答案:A 1★158/765、您的兩臺阿里云的云服務器ECS實例之間內網不能通信,一定不是由于 原因引起的。 A、兩臺云服務器實例在不同地域 B、其中一臺云服務器ECS實例修改過私網P C、兩臺ECS實例在同一個賬號下,同一個地域的不同可用區 D、兩個云服務器ECS實例在不同的安全組 提示兩臺云服務器ECS實例之間內網不能通信,題目中問的一定不是什么原因導致的,所以在同一賬號的同 地域是不會導致云服務器ECS實例之間內網不能通信的。 答案:C 1.當ECS或SLB實例遭到DDoS攻擊,DDoS攻擊的流量超過對應的黑洞閾值后,該公網ip將被黑洞,所有來自外部的流量都將被丟棄,導致相關的業務無法正常訪問。 2.在四層TCp協議服務中,當前不支持后端云服務器的ECS既作為RealServer,又作為客戶端所在的負載均衡實例發送請求。因為,返回的數據包只在云服務器內部轉發,不經過負載均衡,所以在負載均衡實例的后端ECS上去訪問的負載均衡的服務地址是不通的 3.OSS的分享文件使用的是HTTP應用層(7層)的協議。 4.負載均衡SLB實例和后端云服務器ECS實例之間是通過內網通信的。 5.DDoS基礎防護只能防護5GB以下的DDOS攻擊,超過5GB的DDoS攻擊需要用到DDoS高防IP。 6.PPPoE是很老的撥號協議,阿里云負載均衡SLB不支持此協議 7.四層服務的會話保持是基于源IP實現的,七層服務的會話保持是基于Cookie實現的。 8.云盾DDoS基礎防護服務具有以下功能優勢: 優質的防護線路 受到DDoS攻擊不會影響訪問速度;帶寬充足,不會被其他用戶連帶影響;優質帶寬保證業務可用和穩定。 精準防護 精準識別攻擊,秒級開啟防護;自研清洗設備和算法,保證極低誤殺;單點多點清洗不會相互影響。 免安裝免維護 無需采購昂貴清洗設備;自動為云上客戶開通,免安裝;智能業務學習和配置防護規則。 免費 基礎DDoS防護免費;阿里云用戶免費加入安全信譽防護聯盟。 9.如需要確保在ECs實例上任務處理完成才讓彈性伸縮釋放該實例,需要在自定義鏡像中存放執行腳本,并設置命令在操作系統關機時自動執行該腳本。 10.OSS中文件夾的概念僅是一個邏輯概念,在通過API/SDK的方式設置文件夾的時候可以指定object對應的key值包前面的目錄即可是想該功能。 11.CDN節點系統關鍵組件有: LVS做四層均衡負載,Tengine做7層負載均衡 Swift做Http緩存。 12.配置和管理一個負載均衡SLB實例主要涉及操作:屬性配置、監聽配置、后端ECS實例配置 公網IP是購買SLB時系統分配的 或者是單端購買EIP后單獨給SLB綁定。 13.阿里云的負載均衡SLB目前僅支持4層和7層的負載均衡。 14.實現不同地區的多個負載均衡SB的負載,需要通過DNS輪訓來實現。 15.彈性伸縮(Auto Scaling)中既支持自動伸縮,也支持手動添加閑置的ECS實例,手動添加的ECS的規格配置不需要和伸縮配置中的配置相同。 16.阿里云CDN(內容分發網絡)全稱是Alibaba Cloud Content Delivery Network,簡歷并覆蓋在承載網智商、由分布在不同區域的邊緣節點服務器群組成的分布式網絡,替代傳統以WEB Server為中心的數據傳輸模式。CDN加速特別適合在站點訪問量大,且靜態資源被不同用戶重復訪問的比例高的場景中使用,重復訪問率越高 加速效果越明顯。 17.OSS在安全性方面:1.提供且業績多層次安全防護;2.多用戶資源隔離機制,支持異地容災機制;3.提供多種鑒權和授權機制 及白名單、防盜鏈、主子賬號功能。 18.OSS對象存儲服務 每個Bucket存儲空間的名稱全局唯一,Bucket存儲空間一旦創建成功,名稱和所處地域不能修改。 19.ECS系統資源監控DashBoard頁面內容:CPU使用率,磁盤IO,網絡帶寬。 20.SLB包含:來自外部的訪問請求、Listener、LoadBalancer、BackendServer。 Listener:用戶定制的監聽器,定義了負載均衡策略和轉發規則。 LoadBalancer:負載均衡實例; BackendServer:后盾的一組ECS 21.出于安全考慮,目前控制臺針對私有bucket的獲取URL鏈接簽名操作做了優化,使用的AccessKey是臨時生成的秘鑰對,主賬號用戶最長有效時間是18小時,RAM子賬戶用戶及sts用戶最長有效時間是1小時,超時后鏈接就無法訪問了。 22.OSS與自建存儲相比:海量存儲;低成本;安全;多線BGP接入 23.阿里云彈性伸縮創建伸縮組之后地域屬性、負載均衡實例、RDS數據庫實例不可以修改。 24.OSS:刪除Bucket之前, 碎片文件也必須要一起刪除。 25.在ECS上新掛載一塊數據盤,可以使用和它同一個可用區鵝非系統盤快照來創建。 26.CDN快速入門操作流程:1.開通CDN服務;2。添加加速域名。3。配置CNAME 27.邊界網關協議,簡稱BGP(Border Gateway Protocol),主要用于互聯網AS(自治系統)之間的互聯。BGP協議的最主要功能在于控制路由的傳播和選擇最好的路由。使用BGP高防可以解決跨運營商訪問慢、部分小運營商訪問不穩定的情況。 阿里云在骨干機房有出口帶寬大和云服務器獨享的出口帶寬的特點; 多線接入與云服務的質量是有關系的; 通過BGP多線機房,實現全國訪問流暢均衡; 通過多線接入可以實現更高的云服務質量 28.每個ECS實例最多可以加入5個安全組,當超過5個以后就無法繼續加入其它安全組。 29.伸縮組包括:伸縮配置、伸縮規則、伸縮活動。 30.云盾先知計劃是一個幫助企業建立私有應急響應中心的 平臺(幫助企業手機漏洞信息)。 31.在服務器上手動安裝安騎士時需要管理員權限。 32.刪除交換機之前,必須先刪除目標交換機所連接的云產品實例。 33.ECS實例和internet直接連通,一定要開啟公網帶寬或者綁定EIP。 34.CDN廣泛用于網站和應用加速、音視頻點播、文件等場景,通過高性能緩存機制,提高訪問效率和資源可用性。 35.SLB支持按使用流量或者按照固定帶寬付費。 36.在OSS API中通過CopyObject參數的操作可以實現設置object頭:Copy Object接口可以發送一個Put請求到OSS,并在Put請求Header中添加元素x-oss-copy-source來指定源Object。 37.伸縮組里面有伸縮活動正在執行的時候,不可以停用伸縮組。強制停用可能會導致伸縮組伸縮異常。 38.CDN緩存命中率下降的原因:刷新緩存,可能導致短時間內命中率下降;帶寬突增,會導致CDN節點回源較多,命中率會表現下降趨勢;CDN節點訪問新內容,導致CDN節點回源較多;緩存規則調整 39.不同專有網絡之間通過隧道ID進行隔離。專有網絡內部由于交換機和路由器的存在,所以可以像傳統網絡環境一樣劃分子網,每一個子網內部的不同云服務器使用同一個交換機互聯,不同子網間使用路由器互聯。 40.HTTP、HTTPS監聽可使用植入cookie和重寫cookie來進行會話保持。 41.一臺ECS實例最多能掛載16塊云盤作數據盤用,且云盤只能掛載到同一地域下同一可用區內的實力上,不能跨可用區掛載。 42.彈性伸縮 與SLB、RDS緊密集成,可以自動管理SLB后端服務器和RDS白名單,節省操作成本。 43.彈性伸縮: 功能概述: 根據客戶業務需求自動調整ECS實例數量; 自動向負載均衡的后端服務器組中添加或移除相應的ECS實例; 自動向RDS訪問白名單中添加或移除ECS實例的IP 產品特點: 隨需應變:根據需求“恰到好處”地分配資源,無需提前預測需求變化,實施應對需求突增; 自動化:無需人工干預,自動創建和釋放ECS實例,自動配置負載均衡和RDS訪問白名單; 伸縮模式豐富:多模式兼容,可同時配置定時、動態、自定義、固定、健康模式,可通過API對接外在監控系統; 智能:智能調度云計算資源,應對各種負載場景。 44.安全組規則是不支持MAC授權的。 45.彈性伸縮主要是ECS的橫向伸縮,同事也是服務的橫向伸縮,彈性伸縮要求每臺ECS是無狀態的,否則不能保證數據的統一。 46.將負載均衡后端ECS的權重置零,新發起的業務請求是無法經負載均衡轉發到該服務器的,健康檢查相應的會顯示異常。所以該ECS實例不會再得到負載均衡SLB實例分發的外部訪問請求。 47.為了保證網站能按時上線,需要在網站上線前一個月提交備案資料,保證留有重組的備案時間來完成備案操作。 48.ECS服務器會對每個訪問的請求進行身份驗證:Access Key Secret是用來鑒權校驗的,AccessKeyId是用來區分用戶的。阿里云accessKeyId和accessKeySecret是訪問阿里云API的衛衣憑證。Id是類似身份的標識,而secret的作用是簽名您的反問參數 以防被篡改。類似于您的登錄密碼。 49.負載均衡只支持PEM格式的證書,上傳證書前,確保證書、證書鏈、私鑰符合規格要求: Root CA機構頒發的證書 -----BEGIN CERTIFICATE-----,-----END CERTIFICATE----- 每行64個字符,最后一行長度可以不足64 證書內容不能包含空格 中級機構頒發的證書 服務器證書放第一位,中級證書放第二位,中間不能有空行 證書不能包含空格,每行64字節不能有空行 證書公鑰: RSA1024 RSA2048 RSA4096 ECDSA(P-256/P-384/P-521) 50.OSS目前不具備OCR文字識別的處理能力 51.對安全組的調整操作,對用戶的服務連續性沒有影響。 52.CDN內容分發網絡 是安裝每日帶寬峰值計費,所以不存在帶寬不足,服務能力達上限的問題。 53.對圖片進行處理后,所有的操作都會以參數形式加在圖片的URL之后,導致圖片URL變得冗長,不便于管理與閱讀。OSS的圖片處理服務允許您將常見的操作保存為一個別名,即樣式(Style)。利用樣式功能,只需一個很短的圖片URL就能實現對圖片的復雜操作。 54.專有網絡VPC里面的交換機支持部署在同一地域的不同可用區,專有網絡VPC類型的實力可以加入同一專有網絡VPC下的安全組 55.云監控包括了:主機監控、自定義監控、站點監控、云服務監控、報警服務。 56.先知(安全眾測)是一個幫助企業建立私有應急響應中心的平臺(幫助企業收集漏洞信息),盡早發現存在的漏洞可以有效地減少企業可能的損失。 57.經典網絡的IP都是隨系統分配,不支持用戶自定義網段。VPC網絡可以支持用戶字由定義網絡,按需配置網絡,可自定義IP地址范圍與路由表等 58.默認專有網絡和非默認裝有網絡的操作方式與規格顯示一致 59.云盾的DDoS基礎防護、內容安全、安騎士 的安全能力對云服務器ECS實例的安全進行保護 服務器安全托管不屬于云盾功能,而是屬于安全管家的服務。 60.彈性自愈即當檢測到某臺ECS實例出于不健康狀態時,彈性伸縮自動釋放不健康ECS實例并創建新的ECS實例,自動添加新ECS實例到負載均衡實例和RDS實例的訪問白名單中。 61.彈性伸縮手動添加ECS,ECS的狀態必須是運行中。 62.負載均衡SLB后端服務器的狀態為unavailable的時候表示其未開啟健康檢查。 63.正常情況下用fdisk -l命令,可以查看到新增的陰干。 /dev/xvda為系統盤,/dev/xvdb /dev/xvdc .../dev/xvdz都是數據盤 64.可以通過專有網絡VPC的管理控制臺 以及 專有網絡VPC的相關路由表接口來 管理配置路由表 65.負載均衡實例ID即LoadBalancerId是來區分不同負載均衡SLB實例的唯一標識。 66.如果在云服務器ECS實例中部署虛擬化程序,服務器出現的問題是不可預測的。阿里云強烈不建議在云服務器ECS實例中部署虛擬化程序,這樣會導致云服務器ECS出現不可預測的問題。 67.安騎士不提供人工安全技術支持、托管服務報告的服務,需要 人工安全技術支持、托管服務報告的服務需要選用安全管家服務。 68.態勢感知: 具備異常登陸檢測、網站后門查殺、進程異常行為、敏感文件篡改、異常網絡連接、linux軟件漏洞、windows系統漏洞、Web-CMS漏洞、應急漏洞、Web漏洞掃描、主機基線、云產品基線、資產指紋、AK和賬號密碼泄露,數據大屏,日志檢索、全量日志分析。 SaaS軟件即服務 PaaS平臺即服務 IaaS基礎設施即服務 DaaS數據即服務 70.阿里云的專有網絡VPC中用于連接VPC內的各個交換機的設備是 路由器和交換機 路由器(VRouter)是專有網絡的樞紐,作為專有網絡中重要的功能組件,它可以連接VPC內的各個交換機,同時也是連接VPC和其他網路的網關設備 71.互聯網的一次標準的網絡層會話可以用五個元素來唯一標識,通常稱為“網絡通信五元組”:源IP地址,源端口,目的IP地址,目的端口 和傳輸層協議 72.綠網(現:內容安全) 73.防WEB應用系統的密碼破解不屬于安騎士的功能,而是屬于Web應用防火墻的功能。 74.彈性伸縮的伸縮規則定義了具體的擴展或收縮操作,例如加入或移除n個ecs實例 75.負載均衡SLB是對墮胎云服務器ECS實例進行流量分發的負載均衡服務,支持四層和七層的轉發協議。其中四層服務主要是依據a、報文中的目標IP地址和端口;b、負載均衡SLB中設定的轉發策略和規則把流量分發到對應的云服務器ECS實例上去。 76.oss中的文件夾其實就是一個大小為0kB的空文件(叫文件 Object 元素都可以)。 77.XSS 即為Cross Site Scripting 跨站腳本 時發生在目標用戶的瀏覽器層面上的,當渲染DOM樹的過程中發生了不在預期內執行的JS代碼時,就發生了XSS攻擊。 78.同一個安全組下的ECS實例默認是內網互通的,不同的安全組下ECS默認是內網不通的。 同一賬號在同一地域的情況下,通過安全組實現內網互通,要么在同一個安全組下面,要么是兩個安全組相互授權對方可以訪問。 79.負載均衡SLB實例提供后端云服務器ECS視力健的數據自動同步功能,采用的是rsync的遠程同步技術 在通過負載均衡SLB實例對外提供服務前,只需要確保SLB后端有一天ECS應用正常運行 80.用戶只有通過URL簽名 或者 匿名訪問Object時,才會做防盜鏈驗證。 81.阿里云的負載均衡SLB中的listener是服務監聽,每個監聽都對應了后端的一個應用服務。服務監聽包含:監聽端口 ;負載均衡策略;健康檢查配置 82.DDoS(分布式拒絕服務)攻擊,是指借助于客戶端、服務器技術,將多個計算機聯合起來作為攻擊平臺,對一個或者多個目標發動DDoS攻擊,從而成倍得提高攻擊的破壞力,使目標服務器無法提供正常服務,包括:ICMP Flood;UDP Flood;TCP flood;SYN Flood;ACK Flood等 83.數據分析需要借助Hadoop等軟件配合硬件來實現,ECS不適合海量數據分析的工作,也不是ECS的經典應用場景。 84.TCP需要三次握手,UDP是面向非連接的協議 85.如果應用需要較高的容災能力,建議將云服務器ECS實例部署在同一地域的不同可用區內; 是否將云服務器ECS實例放在同一個可用區內,主要取決于對容災能力和網絡延時的要求 如果應用在ECS實例之前需要飛航地的網絡時延,講義將ECS實例創建在相同的可用區內 同一可用區內的ECS實例之間的網絡時延更小 在同一地域內不同可用區之間的內網互通,可用區之間能做到機房級別的故障隔離 86.站點監控可以對目標站點服務的可用性以及響應時間進行監控。系統已經默認預置了8種監控類型,包括http監控、ping監控、tcp監控、udp監控、DNS監控、pop監控、smtp監控、ftp監控。其中每種監控類型里面包含了兩個監控項: 狀態碼status 和 響應時間responseTime 87.手動加入既有的ECS實例的步驟:1.判斷伸縮組的健康狀態、邊界條件和ECS實例的狀態、類型;2.分配ActivityId和執行伸縮活動;3.加入ECS實例;4.修改TotalCapacity;5.添加RDS白名單;6.掛載負載均衡,將權重設為當前伸縮組中已激活的伸縮配置上指定的“負載均衡權重”;7.伸縮活動完成,啟動cooldown 88.云計算的特點:大規模;虛擬化;高可靠性;通用性;按需服務;高可伸縮性;廉價性。支持多租戶 89.同一個負載均衡SLB只能掛載同一個地域的云服務器ECS,不支持跨地域部署。如果需要跨地域部署,可以考慮在多個地域部署負載均衡實例,通過DNS輪詢來實現跨地域負載。 90.專有網絡VPC可實現:網絡的拓撲設計和私網IP地址段的劃分。 91.OSS圖片處理API Channel: 一個用戶最多可以創建10個CHannel; 單個Object(即每張圖片)允許的最大大小為20MB,但是每個Channle中存放的object的數量是沒有限制的; IMG名稱在整個圖片處理服務中具有全局唯一性,且不能更改。 92.負載均衡集群采用 LVS和Tengine實現,其中4層監聽(TCP、UDP)經過LVS后直接到達后端服務器,而7層監聽(HTTP、HTTPS)經過LVS和Tengine最后到達后端服務器,7層性能沒有4層性能好。 因為7層比4層多了一個處理環節,因此,7層性能沒有4層性能好。 93.定時任務獨立于伸縮組存在,不依賴伸縮組的生命周期管理,刪除伸縮組不會刪除定時任務;云監控報警任務獨立于伸縮組存在,不依賴伸縮組的生命周期管理,刪除伸縮組不會刪除報警任務。 94.阿里云 內容分發網絡 CDN支持以下防護配置:防盜鏈功能(Refer黑白名單),IP黑白名單,URL鑒權 95.多媒體轉碼服務MTS服務。 98.對象春初OSS的防盜鏈功能可以杜絕其他站點的下載 99.阿里云ECS的API為:ecs.aliyuncs.com 100.在VPC內選擇一臺云服務器ECS實例作為堡壘機,申請一個EIP綁定到該ECS實例,通過該堡壘機進行其他云服務器ECS實例的管理 101.OSS域名綁定(CNAME)功能目前僅支持OSS以散記域名訪問方式進行綁定。即訪問方式為:(BucketName).${region}.aliyuncs.com 102.添加的eCS需要和伸縮組出于同一個地域Region 103.阿里云CDN不支持直接對IP地址進行加速,使用內容分發CDN徐亞在控制臺綁定域名。 104.閃電立方LightningCube(數據遷移 Data Transport)是阿里云為TB乃至PB級數據遷移提供的服務 云服務器ECS實例的數據盤上的大量非結構化的數據轉存到其他的服務上去 使用OSSImport更方便 105.綠網支持API批量檢測圖片和識別的文字 106.CDN回源的地址可以是回源域名,也可以是回源IP,這時訪問的是ECS的公網IP,不管是否在同一地域都會產生回源流量費 107.Bucket的權限:公共讀寫 公共讀 私有 108.VPC下的云服務器ECS實例可以綁定EIP實現公網的訪問,同時可以將其配置為公網網關,實現VPC內其他ECS實例的公網訪問 109.敏感信息泄露屬于Web應用防火墻的功能,是需要收費的服務。 110.實例創建快照時,實例必須處于運行中 或者 已停止狀態 111.IaaS 基礎設施即服務 (Infrastructure-as-a-service) IaaS公司會提供場外服務器,存儲和網絡硬件,也可以選擇租用。節省了維護成本和辦公場地,公司可以在任何時候利用這些硬件來運行其應用,比如阿里云的ECS 亞馬遜的EC2 騰訊云的CVM都屬于IaaS 112.SLB支持同一Region跨數據中心容災,還可以通過與DNS結合支持跨Region容災 SLB的服務能力與后端ECS的公網帶寬規格無關 113.阿里云的云盾加密服務通過在阿里云上使用經國家密碼管理局檢測認證的硬件密碼機,幫助用戶滿足數據安全方面的監管合規要求,保護云商業務數據的隱私性和機密性。管理云盾加密服務的密鑰時,必須通過 身份卡(USB Key)方式認證。 所有的秘鑰管理都必須依賴身份認證卡 若丟失 阿里云也無法恢復 114.阿里云的負載均衡SLB中的證書(certificate)用于HTTPS協議,當需要使用加密傳輸時,用戶可以將證書上傳至負載均衡SLB實例中,在創建HTTPS協議監聽時綁定證書,提供HTTPS服務。用戶可通過 負載均衡的管理控制臺 以及 負載均衡的API上床HTTPS證書 方式上傳證書。 115.先知計劃 是有獨立于阿里云的安全服務的 提供者“白帽子” 或 “安全公司”為企業提供眾測服務。 116.專有網絡VPC是一個免費的網絡容器 交換機 路由器是免費的 彈性公網IP是收費服務 117.安騎士企業版可以檢測并修復漏洞 118.RDS實例內外網切換會影響其他與RDS實例的鏈接 119.加速域名的源站可以放在阿里云的OSS上 源站域名不能與加速域名相同,否則會造成循環解析,無法回源。 120.當一個bucket(源bucket ,Source Bucket)開啟訪問日志記錄功能夠,OSS自動將訪問的bucket中文件的請求訪問記錄 以小時為單位,按照設置的命名規則,生成一個Object寫入用戶指定的bucket(目標bucket,target Bucket) 日志每小時自動生成一次,通過對生成的日志文件進行分析,可以輕松定位到Oss Bucket上的所有操作。 121.SLB和ECS只需要在一個地域,創建伸縮配置時,ECS實例可以不選擇公網帶寬,但是為了方便管理ECS實例,建議購買至少1Mbps的ECS帶寬 122.修改私網IP需要保證ECS處于已停止的狀態 123.阿里云的負載均衡SLB目前只支持阿里云服務器ECS實例,不支持其他服務器 124.不同專有網絡之間完全隔離,無法內網互通,當前可以通過公網建立VPN實現互通。 125.安裝 安騎士客戶端 后, 需要通過管理控制臺的Key來完成和阿里云官網賬號的關聯。 126.彈性伸縮必須和ECS搭配使用,對其他云產品沒有限制。 127.云服務器ECs實例與OSS之間的請求次數,部分內外網都會計費。走內網流量是不計費的,但是每次的請求次數還是收費的。 128.Internet使用TCP/IP洗衣實現了全球范圍的計算機網絡的互聯 129.修改私網IP地址有兩種方式:如果不需要更換交換機,則直接修改私網iP即可。如果需要更換交換機,則可以變更云服務器ECS實例所在的交換機,然后直接修改云服務器ECS實例的私網IP 130.MapReduce是一種編程模型,用于大規模數據及的并行運算,可以非常好的和云計算相結合以處理海量數據計算。MapReduce將自己的程序運行在分布式系統上,他的計算速度比較慢,計算出來的中間結果等等都會寫到磁盤上,輸出的結果也會到磁盤上,讀寫磁盤就意味著性能不能達到實時的要求,做歷史數據的批處理比較好。 mapReduce的設計目標包括:易于編程、易于擴展、高容錯性 131.EIP(彈性公網IP)可綁定到專有網絡類型的ECS實例、專有網絡類型的私網SLB實例和NAT網關上,不支持綁定到經典網絡的ECS上。 132.使用阿里云負載均衡SLB將負載分發到多臺云服務器ECS實例上去的時候,可獲得發起請求的用戶的真是IP:針對4層(TCP)負載均衡服務,可以直接獲取用戶IP,七層則需要通過請求頭中的X-Forwarded-For獲取 在負載均衡SLB中,可以通過X-Forwarded-For的方式獲取訪問者真實IP 133.安騎士提供的服務:端口檢測、異地登錄提醒、密碼暴力破解、WebShell檢測服務 134.通過VPN專線可以將該網絡與傳統數據中心組成一個按需定制的網絡環境,實現應用的平滑遷移上云 135.阿里云的云監控服務是自動開通,不要單獨開通 136.彈性公網IP(EIP)是可以獨立購買和持有的公網IP地址資源,公網訪問時支持全國所有地域的訪問的。 137.在ECS中掛載磁盤的時候必須的請求參數: DiskId 和 InstanceId 138.在使用阿里云負載均衡SLB時后端服務器可以設置主備服務器組,當主機工作正常時,流量將直接走主機,當主機宕機時,流量將走到備機。主備服務器組是在監聽維度上維護的,并且只支持四層監聽。(TCP/UDP)協議 139.云盾數據風控產品具體可以防范 垃圾注冊 營銷作弊 盜卡支付 安全威脅。CC注冊時Web應用防火墻的功能。 140.VPC基于隧道技術,實現數據鏈路層的隔離,為每個租戶提供一張獨立、隔離的安全網絡。不同專有網絡之間內部網絡完全隔離,只能通過 對外映射的IP(彈性公網IP和NAT IP) 互聯 141.CopyObject接口用于在存儲空間(Bucket)內或 同地域的Bucket之間拷貝文件(Object),所以不需要使用帶寬在此上傳至OSS,可以節省OSS的網絡帶寬 142.在冷卻時間內,伸縮組會拒絕由云監控報警人物出發的伸縮活動請求,但其他類型任務(手動執行任務、定時任務、健康模式)觸發的伸縮活動可以立即執行,繞過冷卻時間。 143.流量清洗的觸發指標有公網IP每秒處理的報文數量(PPS) 和 公網IP每秒處理的流量值(bps) 144.實現OSS Object上傳:簡單上傳指的是使用OSSAPI中的PutObject方法上傳單個文件。簡單上傳適用于一次HTTP請求交互即可完成上傳的場景,比如小文件(小于5GB)的上傳,上傳文件時支持設置ObjectMeta 145.OSS的成本優勢: OSS服務基于多線BGP骨干網絡構建,下行無帶寬限制,上行流量免費 OSS最終用戶不需要投入運維人員與托管費用,后天運維完全由阿里云負責 無需一次按峰值容量的存儲硬件設備,按實際使用容量付費 ······OSS的下行帶寬是沒有限制的,上行(即上傳)的流量是免費的。同事OSS的Bucket空間是滅有上限的,所以不存在擴容的情況,更不存在業務中斷的情況。 146.默認專有網絡VPC不占用阿里云為您分配的專有網絡VPC配額 默認專有網絡與非默認專有網絡的操作方式和規格限制一致 每個地域的默認專有網絡VPC唯一 默認專有網絡VPC由阿里云為您創建,您自行穿件的均為非默認專有網絡VPC 147.SLB LoadBalancer中 ModifyLoadBalancerInternetSpec 接口是用來修改SLB實例的計費方式的 148.SLB綁定證書是為了滿足加密傳輸的HTTP協議要求 149.動靜分離的網站是有利于通過CDN加速的,上云實踐中用戶可以通過利用OSS和CDN對網站進行架構優化,做到網站文件的動靜分離的,提升用戶訪問體驗,實現成本可控 150.在安全方面,OSS服務本身具備了防DDoS攻擊和自動黑洞清洗的功能。 151.云盾DDoS防護功能可以保障ECS SLB WAF VPC EIP NAT云產品的DDoS網絡安全 152.OSI Open System Interconnect 開放系統互聯參考模型 第七層是指 應用層 七層協議:應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層 153.OSS中 單個Object的大小限制是48.8T 154.加速域名日志中記錄的流量數據,使我們應用層日志統計出的流量,但是實際產生的網絡流量卻要比應用層統計到的額流量要高出 7%---15% 主要原因是:1.TCP/IP包頭的消耗,2.TCP重傳 155.安騎士不具備DDoS防護的功能特性 156.ECS磁盤在未創建快照的情況下 是不允許通過其他磁盤的快照進行回滾或數據恢復 157.每個ECS實例最多可以加入5個安全組,且ECS至少加入一個安全組 158.負載均衡的SLB中的公網或者私網訪問的選擇是由用戶在購買時選擇的,并不是系統自動選擇 159.CDN控制臺、OpenAPI都可以下載CDN訪問日志 160.使用windows操作系統的時候,只有機器內存較低(低于2G)的時候,建議使用虛擬內存 161.七層服務可以關閉健康檢查,四層服務無法關閉健康檢查,只有HTTP和HTTPS監聽支持關閉健康檢查。UDP和TCP監聽無法關閉健康檢查。 163.BGP機房的服務器并不是都具備雙機或者多機 冗錯功能。 BGP機房的優點: 1.服務器只需要設置一個IP地址,最佳訪問路由是由網絡上的骨干路由器根據路由跳數與其他技術指標來確定的,不會占用服務器的任何系統資源。服務器的上行路由和下行路由都能選擇最優的路徑,所以能真正實現高速的單IP高速訪問。 2.由于BGP協議本身具有冗余備份、消除環路的特點,所以當IDC服務商有多條BGP互聯線路是可以實現路由的相互本分,在一條線路出現故障時路由會自動切換到其他線路。 3.使用BGP協議還可以使網絡具有很強的擴展性,可以將IDC網絡與其他運營商互聯,輕松實現單IP多線路,做到所有互聯運營商的用戶訪問都很快,這個是雙IP雙線無法比擬的。 165.目前一個SLB實例最多對應50個監聽,每個監聽可獨立設定限定規則 166.CDN的全部緩存節點并沒有采用BGP線路,BGP線路主要為OSS,和DDoS高防IP提供服務,實現不同運營商的網站都可以快速訪問。CDN則是由充足的帶寬和存儲資源。 167.域名解析服務 和郵件服務 斌不是走UDP協議 168.更改云服務器ECS的MAC地址,可能會影響到服務器的網絡通信服務 169.VPC只有配置中(Pending)和可用(Available)兩種狀態 170.阿里云的云盾DDoS基礎防護功能在管理控制臺可以配置針對云服務器的流量清洗的閾值,達到任意一個值即開始流量清洗。 觸發清洗閾值:指的是觸發流量清洗所需要的最低值,包括每秒流量每秒報文數量 每秒HTTP請求數三個觸發清洗的閾值。用戶云服務器上的流量超過三個鐘的任意一個 都會觸發清洗。 171.VPC支持VPN鏈接,但不是他提供的功能,VPN連接還是依賴于其他設備和網絡的。 172.ECS中,無論每次接口調用請求是否成功,系統都會返回一個唯一識別碼(返回參數)RequestId 173.虛擬化技術包括:全虛擬化、半虛擬化、硬件輔助虛擬化 174.快照保存在獨立于自建的OSS空間內 175.如果彈性伸縮的ECS實例無法加入到RDS訪問白名單中,自動創建的ECS會被回滾和釋放,手動創建的ECS不會被回滾和釋放 176.態勢感知(云安全中心)的告警設置僅支持:短信、郵件、站內信 不支持釘釘旺旺 177.RDS是高度兼容Oracle 178.彈性伸縮的伸縮配置中支持配置的鏡像包括:自定義鏡像、公共鏡像、共享鏡像 179.當創建一個云產品實例時,如果沒有可用的專有網絡和交換機,您可以使用默認專有網絡和交換機。在實例創建后,一個默認的專有網絡和交換機也會隨之創建好 180.四層是檢查端口,七層是檢查服務器端返回的狀態碼 181.NAS Network Attached Storage 文件存儲 公共云計算中使用的存儲并非是共享存儲,而是分布式的私有存儲 182.路由器是可以創建自定義路由表的 183.會話保持 默認關閉。啟用后,負載均衡會把來自統一客戶端的訪問請求分發到同一臺后盾云服務器ECS上進行處理。 184.ISV 獨立軟件開發商 185.如需要確保在ECS實例上任務處理完成后才讓彈性伸縮釋放該實例,需要在自定義鏡像中存放執行腳本,并設置命令在操作系統關機時自動執行該腳本。 186 188.拒絕處理請求對應的狀態碼是 403 189.443端口即網頁瀏覽端口,主要是用于HTTPS服務 .com域名一次性最多可以注冊10年 .com域名查詢whois里 Registrar是 域名所有者 190.負載均衡請求不均衡可能有以下幾種原因:1.ECS實例請求連接數較少;2.不同ECS市里的性能不同導致請求不平衡;3.開啟了會話保持功能;4.ECS健康檢查異常;5.TCP Keepalive保持長連接 191.綠網(內容安全)的站點檢測支持對網站的內容和圖片進行檢查,同事支持靜態和動態的站點 192.阿里云官網給用戶免費提供的安全驗證手段:用戶名密碼校驗 登錄驗證碼或安全滑塊 多因子(虛擬MFA)認證 193.復制鏡像僅適用于自定義鏡像。如果需要復制其他類型的鏡像,可先使用鏡像創建實例,在使用該實例創建自定義獎項,然后復制該自定義鏡像 194.OSS服務本身不提供IP黑名單的功能,可以結合內容分發CDN來實現IP黑白名單的功能。 195.CDN系統能夠實現內容加速的功能,需要智能DNS解析的支持 目前智能DNS解析不支持 頁內容緩存的功能的 196.CDN支持對同名更新的實施更新,用戶只要做相關配置后,在不主動提交請求的時候,CSN不會自動去刷新請求 197.SLB API ServerCertificate 目前使用UploadServerCertificate接口一次只能上傳一份服務器證書和對應的私鑰 198.負載均衡SLB下面的ECS必須開啟健康檢查,否則負載均衡SLB無法監聽到后端ECS的狀態則無法正常彈性伸縮 199.阿里云專有網絡VPC和VPN是不同的概念。專有網絡VPC是一個二層隔離的網絡環境;VPN是一種遠程訪問技術,利用公網假設虛擬專用網絡。 VPC使用的是二層的隔離技術,VPC中的交換機屬于三層的交換機 200.CDN加速域名的停用 和刪除 停用該加速域名后,該條加速域名信息仍保留,針對加速域名的請求系統將做自動回源處理。 刪除該加速域名后,將刪除該加速域名的全部相關記錄,對于僅需要暫停使用該加速域名,推薦選擇“停用”方式 201.ECS在容災方面比傳統虛擬主機擁有的優勢:每份數據多份副本 單份數據孫華可在短時間內快速恢復 支持自動備份 ---傳統虛擬主機也具備 202.當用戶流量經過負載均衡某端口時,我們首先判斷其是否能夠匹配上某條轉發規則,如果匹配,則將流量轉發到該規則的后端服務器組上;若不匹配并且在該監聽上設置了虛擬服務器組,那么將流量轉發到該虛擬服務器組上;若用戶沒有在該監聽上設置虛擬服務器組,即將流量轉發到實例級別添加的各后端服務器中。 203.如果SLB實例已掛載了VPC類型的ECS實例,則不支持在該SLB下增加經典網絡類型的ECS實例 204.云服務器ECS實例支持切換交換機,但是不支持切換路由器操作 205.ECS外部系統可以通過API在請求時傳入參數來指定返回的數據格式,默認為XML格式 206.數據風控由阿里聚安全提供 是基于阿里大數據計算能力,通過業內領先的風險決策引擎,解決企業賬號、活動、交易等關鍵業務環節的經濟損失 207.阿里云多線BGP(中國電信、聯通、移動、教育網等)接入,確保全國用戶訪問暢通,提升用戶訪問的質量。所以解決的是避免跨運營商的網絡訪問的速度瓶頸。 208.Google在2003年到2006年公布了關于GFS、MapReduce 和BigTable三篇技術論文 209.數據存儲(OTS)保存客戶海量用能數據,滿足大數據分析的需求 210.數據風控目前只支持在Web中插入指定的JS代碼,其他的暫時不支持 211.交換機創建完成后,無法修改CIDRBlock,且新建交換機所使用的的CIDRBlock不可以與已經存在的交換機的CIDRBlock重復。 212.阿里云使用隧道封裝技術實現了不同專有網絡VPC間二層網絡隔離。在VPC內的云服務器ECS實例之間的三層網絡訪問控制 用 安全組 功能實現。 213.OSS 除了通過PUT Object接口上傳文件到OSS以外,還可以 Multipart Upload 215.OSS支持的監控功能:存儲空間的監控;對OSS服務請求的PV訪問量(PUT、GET的請求數)的監控;對OSS服務請求的UV訪問人次的監控 216.停用伸縮組以后,之前的冷卻時間即失效。所以之后的伸縮活動不會受到冷卻時間的影響 217.設置自動快照創建時間和重復日期時應盡量避開業務高峰,因為創建快照可能會輕微降低磁盤的性能,出現短暫瞬間變慢。 218.一個負載均衡實例對多支持添加50個監聽,每個監聽配置對應后端ECS實例上的一個應用,可以通過對后端ECS實例上的多個應用配置不同主機頭的方式來滿足這一需求。 219.云服務器Elastic Compute Service ECS :云服務器是BGP多線機房,全國訪問流暢均衡,傳統IDC是以單線和雙線為主 220.路由器是刪除VPC時自動刪除的。 221.專有網絡型的ECS實例只能在創建時指定,這類實例只可以屬于單個虛擬交換機 222.源站服務器上獲取“訪客真實IP”: 1.“訪客真實IP”保存在HTTp協議的X-Forwarded-For Header中,可以再Apache和Nginx的自定義LOG中直接獲取到 2.在阿里云CDN的管理控制臺中有一鍵開通”記錄訪客真實IP“功能,用戶設置了這個開關后,可以再訪問日志中直接看到訪客真實IP 223.WEB服務不屬于安騎士的功能點 224.彈性伸縮中的伸縮模式的任務:定時任務和報警任務 沒有優先級之分,兩個同時觸發會隨機執行。 225.由客戶服務端調用風險識別服務API,獲取風險評估結果。風險蘋果結果,可作為其中一個因子參與到業務決策邏輯中,也可根據評估結果直接進行處置。 226.媒體轉碼 Media Transcoding MTS 227.阿里云彈性伸縮和負載均衡SLB一起使用時,兩者必須處于同一地域 228.ECS的網絡類型 對ECS性能沒有影響。 229.linux系統的服務器不支持開啟Selinux服務,如果開啟了Selinux服務,會導致系統異常并無法啟動 230.阿里云內容分發網絡(Content Delivery Network CDN)是建立并覆蓋在承載網之上,并分布在不同區域的邊緣節點服務器群組成的分布式網絡。阿里云CDN分擔源站壓力,避免網絡擁塞,確保在不同區域、不同場景下加速網站內容的分發,提高資源訪問速度 231.彈性伸縮支持數據盤的彈性伸縮。 232.同一組ECS實例可以待見多個網站,并可以同事對這些網站進行負載均衡; 負載均衡不提供CNAME地址,只提供IP地址; 后端服務器的權重之和是沒有限制的; 后端服務池中的ECS可能由于異常導致機器不能正常運行,會出現非運行中的情況 233.SLB ECS Auto Scaling 配合使用: 三者必須在同一地域,才能配合使用 負載均衡SLB實例必須打開健康檢查,否則無法和彈性伸縮配合使用 一個SLB實例可以綁定多個伸縮組 一個伸縮組可以同時支持多個SLB實例 234.BGP(邊界網關協議)主要用于互聯網AS(自治系統之間的互聯,BGP的最主要功能在于控制路由的傳播和選擇最好的路由,阿里云的云服務器ECS產品支持的多線BGP接入,解決的主要問題是:筆迷跨運營商的網絡訪問的速度瓶頸:使用BGP協議還可以使網絡具有很強的擴展性 可以將IDC網絡與其他運營商互聯,輕松實現單IP多線路,做到所有互聯運營商的用戶訪問都很快。 235.一個負載均衡SLB實例可以綁定多個彈性伸縮的伸縮組,且這些伸縮組的伸縮配置可以不同,一個伸縮組可以對應多個負載均衡SLB實例,但是兩只必須在同一個地域中。 236.彈性公網IP的限制有:ECS實例的網絡類型必須是專有網絡、ECS實例的地域必須和EIP的地域相同。 237.不能強行終止伸縮活動,否則可能會導致伸縮組伸縮異常,假如配置錯誤了以后可以自己手動修改伸縮配置來釋放多創建的云服務器ECS 238.EIP解綁后,仍需要支付IP占有費,為避免不必要的計費,可以解綁后釋放EIP 239.每個彈性公網IP只能綁定到同一地域的一個VPC網絡的云產品實例上,不一定要求在同一個可用區 240.平臺即服務:消費者不需要控制底層的設施,但是可以控制運行應用程序的托管環境配置,且平臺包括 網絡、服務器、操作系統、存儲等。 241.云服務器ECS實例通過公網訪問RDS實例的公網地址的時候,不會影響到其他經典網絡通過公網訪問此RDC實例;在VPC中的RDS,其他經典網絡則無法訪問該RDS實例。 242.HTTPDNS 是面向移動開發者推出的一款域名解析產品,具有域名防劫持、精準調度等特性,主要是用在客戶端的時候請求URL防止域名挾持的情況 243.自動伸縮的話,實例的IP會自動增加到負載均衡SLB的白名單中 244.創建EIP后,云監控服務自動開啟,無需手動開啟即可對EIP進行監控 245.彈性伸縮目前只支持ECS及其數據哦按的彈性伸縮,不支持云數據庫RDS、負載均衡等云產品的彈性伸縮 246.如果多個定時任務在相近的時間內觸發執行同一個伸縮組的伸縮規則,則最早觸發的定時任務會先執行伸縮活動。由于同一個伸縮組同一時刻內只能有一個伸縮活動,排在后面的定時任務會在LaunchExpirationTime內自動充實定時觸發,如上一個伸縮活動完成之后,排在后面的定時任務還在LaunchExpirationTime內重試,賊執行該定時任務的伸縮規則并觸發相應的伸縮活動?!? 247.一班情況下,默認路由在有外網情況下會先走外網網卡,如無外網則走內網網卡 248.打通VPC與傳統數據中心,需要基于公網的VPN或者專線 249.OSS: 如果使用OSS自帶域名,均限制在在瀏覽器中 以 “另存為”下載的方式打開文件,而不能直接瀏覽該文件。因此需要將自動以的域名訪問綁定到屬于自己的Bucket上面,即CNAME。域名綁定成功后,為了使用域名正常訪問OSS,還需要添加CNAME記錄指向存儲空間對應的外網域名。 250.公網分發請求至SLB的正確方法: 購買公網IP的負載均衡SLB實例接收公網請求,或者創建VPC內的負載均衡SLB實例,然后再給這個SLB綁定EIP來接收公網請求 用跳板機接收外部請求不規范且冗余,既然有了公網IP,就沒有必要使用跳板機來接收公網請求。 251.OSS針對VPC是有一套自己的內網地址, 252.OSS每小時結算一次調用OSS API的請求費用。目前支持支持按量付費,每萬次請求的單價*美系哦啊哈斯實際請求次數/10000 253.負載均衡SLB再四層TCP轉發是基于源IP的回話保持,四層回話保持的最長時間是3600秒 254.流量轉發四層是通過LVS實現,七層是通過Tengine實現 255.阿里云的云監控產品的監控數據可以采用(只能查看報表,無法下載)方式下載:控制臺中沒有下載按鈕,只能查看,API返回的JSON嚴格意義不算下載文件 256.在控制臺里面,專用網絡VPC下面的ECS,不管是否綁定了EIP,在設置安全組的時候,只可以設置內網規則,外網規則是不可以選的。因為對于其來說,內網規則等同于外網規則。 257.目前負載均衡SLB監聽僅支持TCP、UDP四層 和HTTP、HTTPS七層這四種協議 258.提及到“子賬號”,所以需要通過阿里云的RAM(Resource Access Management) 即用戶身份管理與資源訪問控制服務 259.本地的應用服務器制作鏡像不支持上傳到阿里云作為鏡像提供服務 260.在阿里云專有網絡VPC創建后,路由器也是隨著VPC一起自動創建的,所以不需要手動創建了,這個時候需要繼續創建交換機才能在交換機中創建其他云產品。 261.阿里云在LVS官方問題上進行了定制化: 新增轉發模式FULLNAT,實現LVS-RealServer間跨vlan通訊; 新增synproxy等攻擊TCP標志位DDOS攻擊防御功能 采用LVS集群部署方式 優化keepaliwed性能 262.創建ECS鏡像時,輸入的自定義鏡像名稱 不能為空 263.濾網(內容安全)是以API的形式提供服務,不會占用云服務器ECS實例的CPU資源 264.OSS可靠性方面的優勢: 服務可用性不低于99.9%,不受限于硬件可靠性 存儲規??勺詣訑U展,OSS對外服務不中斷 數據自動多重冗余備份 265.OSS的訪問日志會自動保存,用戶不需要手動保存訪問日志記錄。 266.CC攻擊的DDos攻擊是典型的拒絕服務攻擊,服務器口令暴力破解只是破解了密碼服務正常,網絡后門植入式讓服務端成為肉雞,并不會去影響服務。 267.AccessKeySecret并不支持通過控制臺直接查看,AccessKeySecret只能一次生成,后續不支持再次查看。如果忘記AccessKeySecret,只能在授權登錄后在控制臺重新生成。 268.對頻繁連接的可疑IP進行屏蔽,需要通過IP白名單直接只允許指定的IP訪問即可 269.云計算服務的三種類型(SaaS、Paas、IaaS) 270.如果在非阿里云的服務器上安裝了云盾安騎士客戶端,需要用在管理控制臺生成的安裝驗證key與指定的阿里云官網賬號關聯 確保在管理控制臺能查到此服務器的相關報告。 271.私網IP是可以用于SLB的負載均衡的, 同一地域內勢力之間通過私網IP進行的通訊是不收取流量費的 272.OSS處理完的圖片并不會保存到OSS,而是直接返回給請求的用戶 273.在新建的LinuxECS實例中 啟動OFBiz服務的時候 步驟如下: 進入OFBiz文件夾(cd ofbiz-release12.04) 給ant腳本賦予執行權限(chmod +x ant) 運行安裝腳本(./ant run-install) 啟動ant(./ant run) 274.伸縮配置有以下幾種狀態(LifecycleState): Active:生效狀態,伸縮組會采用處于生效狀態的伸縮配置自動創建ECS實例 Inactive:失效狀態,該伸縮配置存在于伸縮組中,但伸縮組不會采用處于失效狀態的伸縮配置自動創建ECS實例 275.希望實現兩個VPC之間的私網通信,所以需要通過高速通道實現VPC之間的私網通信。 276.阿里云的與服務器ECS實例的快照是指某一時間點上某一塊磁盤的數據拷貝。自動快照時保存在OSS里面,但是是保存在獨立于用戶自己的OSS Bucket里面,不是用戶的BUcket里面。 277.Channel是OSS圖片服務API的基本概念之一,是IMG上的命名空間,也是 計費、權限控制、日志記錄等高級功能的管理實體 278.OSS分塊上傳: 支持斷點上傳;網絡條件較差,經常連接斷開,上傳超過100MB的文件 279.阿里云的彈性伸縮中,創建完成伸縮組后,為了設置用于彈性伸縮的云服務器ECS實例的規格,需要定義 伸縮配置 在創建伸縮配置時,可以指定ECS實例的參數,例如實力規格,鏡像類型,存儲大小,登錄實例用的秘鑰對等。 280.阿里云負載均衡服務SLB提供性能保障型實例,該類型實例提供了可保障的性能指標,它的關鍵指標有: 最大連接數Max Connection 每秒新建連接數 Connection Per Second(CPS) 每秒查詢數 Query Per Second 281.阿里云負載均衡服務SLB支持配置域名或者URL轉發策略,將來自不同域名或者URL的請求轉發給不同的ECS處理:關于域名或者URL轉發策略支持的協議: 只有7層監聽(HTTP、HTTPS協議) 支持配置URL轉發策略 283.LVS做四層均衡負載;Tengine做七層負載均衡 Swift做HTTP緩存 284.公網IP是購買負載均衡SLB時系統分配的,或者是單獨購買EIP后單獨給負載均衡SLB綁定,并不是在負載均衡的配置和管理里面可以設定的。 285.阿里云的負載均衡SLB目前僅支持4層和7層的負載均衡。 286.阿里云SDN(內容分發網絡 Alibaba Cloud Content Delivery network)建立并覆蓋在承載網之上、由分布在不同區域的邊緣節點服務器群組成的分布式網絡,替代傳統以WEB Server為中心的數據傳輸模式 287.OSS在安全性方面的表現: 提供企業級多層次安全防護; 多用戶資源隔離機制,支持異地容災機制 提供多種鑒權和授權機制 及白名單 防盜鏈 主子賬號功能 288.阿里云的負載均衡SLB包含了幾個主要部分:來自外部的訪問請求、Listener/LoadBalancer/BackendServer等 Listener:用戶定制的監聽器,定義了負載均衡策略和轉發規則 289.需要向阿里云的專有網絡VPC與傳統數據中心組成一個按需定制的網絡環境,實現應用的平滑遷移上云。 專有網絡VPC可以與 專線 和VPN 連接方式組合來實現該架構(需要讓專有網絡VPC與傳統數據中心實現內網訪問) 290.OSS分享鏈接采用的安全機制是: 在管理控制臺中獲取文件訪問URL時設置分享鏈接有效時間,超過設定時間就無法下載 291.OSS與自建存儲相比的優點: 海量存儲、低成本、安全、多線BGP接入 292.對象是OSS存儲數據的基本單元,也稱為OSS的文件。對象由元信息ObjectMeta 用戶數據Data 和文件名Key組成 293.VPC:使用了隧道技術,每個VPC都有一個獨立的隧道號,一個隧道號對應著一張虛擬化網絡,達到與傳統VLAN方式類似的隔離效果。 294.使用阿里云的高速通道可以實現專有網絡VPC之間的互聯和私網通信。 高速通道(Espress Connect)是一款基于IPVPN的便捷高效的網絡服務,用于在云商的不同網絡環境間是想高速、穩定、安全的私網通信,包括跨地域、跨用戶的VPC內網互通。專線接入等場景,有效的幫助提高網絡拓撲的靈活性和跨網絡通信的質量和安全性。 VPC中的ECS不可以和經典網絡的ECS實現高效通道的通信。 295.NetworkManager服務來實現網絡的配置和管理,Networkmanager服務啟動以后可能會導致系統內部的網絡配置出現紊亂 296.SLB支持的負載均衡的策略:輪詢、加權輪詢(WRR) 加權最小連接數(WLC) 297.在對阿里云的云服務器ECS實例進行續費操作時還可以做一些云服務器變配的操作, 修改配置操作完成后,必須通過管理控制臺重啟實例或使用RebootInstance接口重啟實例,新配置才能生效。而非操作系統內重啟。 298.WAF解釋為WEB應用防護系統(也稱 網絡應用級入侵防御系統 Web Application Firewall,WAF) DDoS高防IP也是支持Web應用DDoS攻擊防護,支持過濾多種flood,高頻攻擊等攻擊,支持HTTP特征過濾、URI過濾、host過濾。 299.在阿里云上創建專有網絡VPC時,VPC會自動為用戶創建1條系統路由,這條路有的作用是:用于專有網絡內的云產品實例訪問專有網絡外的云服務(該云服務支持VPC內的云產品實例直接訪問) 以100.64.0.0/10為目標網段的路由條目,用于VPC內的云產品通信 300.不同部門使用的子系統應該根據不同子系統的應用配置不同的安全組,每個子系統的安全組分開配置,這樣方便日后的維護管理。 301.OSS默認支持三份副本,通過校驗保證三份副本一致,單副本損壞或丟失,會觸發拷貝,保持三份 302.OSS支持的文件上傳方法: 從OSS管理控制臺直接上傳 通過OpenAPI上傳 通過SDK上傳 通過云市場里的FTP工具上傳 303.對象存儲OSS的防盜鏈是基于HTTP或HTTPS 的header中包含Referer字段來實現的 304.CDN緩存是為了加速頁面的訪問,CDN提供的刷新緩存鵝方法:目錄刷新、URL預熱、URL刷新 305.SLB不需要購買設備,同事支持同城容災。結合云盾提供免費的5G防DDoS攻擊能力;負載均衡SLB的作用就是為了解決單臺服務器單點問題,負載均衡后臺多臺ECS同事對外提供服務從而擴展了應用的服務能力,增強了應用的可用性,SLB實例的收費不僅有流量費 還有實例費、規格費 306.路由器是支持根據具體的路由條目的設置來轉發網絡流量。 VPC中的路由器都是隨VPC的生命周期自動創建和刪除的,用戶不需要手動操作 307.阿里云多線BGP(中國電信、聯通、移動、教育網等)接入,確保全國用戶訪問暢通,提升用戶訪問的質量。 308.操作系統級別監控指標包含 內存使用率、平均負載、磁盤IO讀寫、磁盤使用率 TCP連接數、進程總數等。 309.一個ECS實例最富哦能掛載16塊云盤作數據盤用,并不支持無上限的增加數據盤 310.ECS升級CPU或內存等配置需要重啟才可享受升級后的配置。 311.安騎士的功能點:防止密碼破解 312.SSD云盤的順序讀寫的IOPS都比普通云盤要高,以及訪問延時很低 313.訪問次數(VV):記錄所有訪客1天內訪問了多少次您的網站,相同的訪客有可能多次訪問您的網站。 獨立訪客(UV):1天內相同訪客多次訪問網站,只計算為1個獨立訪客。 網站瀏覽量(PV):用戶每打開一個頁面便記錄1次PV 獨立IP(IP):同一IP無論訪問了幾個頁面,獨立IP數均為1 訪問次數(VV) 名詞:VV = Visit View(訪問次數) 說明:從訪客來到您網站到最終關閉網站的所有頁面離開,計為1次訪問。若訪客連續30分鐘沒有新開和刷新頁面,或者訪客關閉了瀏覽器,則被計算為本次訪問結束。 獨立訪客(UV) 名詞:UV= Unique Visitor(獨立訪客數) 說明:1天內相同的訪客多次訪問您的網站只計算1個UV。以cookie為依據 網站瀏覽量(PV) 名詞:PV=PageView (網站瀏覽量) 說明:指頁面的瀏覽次數,用以衡量網站用戶訪問的網頁數量。多次打開同一頁面則瀏覽量累計; 獨立IP(IP) 名詞:IP=獨立IP數 說明:指1天內使用不同IP地址的用戶訪問網站的數量。 314.黑洞是指服務器受攻擊流量超過本機房黑洞閾值時,阿里云屏蔽服務器的外網訪問。本服務器進入黑洞一段時間后,如果系統監控到攻擊流量停止,黑洞會自動解封。 315.云盾反欺詐服務是阿里巴巴的數據風控服務能力開發的 316.SLB支持同一Region跨數據中心容災,還可以通過與DNS服務結合支持跨Region容災 317.手動修改ECS實例的公網IP后,該ECS實例的網絡通信會受到影響。 318.SLB實例最多對應50ge監聽,每個監聽可獨立設定限定規則 319.公共云計算中使用鵝存儲并非是共享存儲,而是分布式的私有存儲。 阿里云的文件存儲(Network Attached Atorage NAS)提供共享存儲的服務: 多個云服務器實例可以同時訪問同一個共享文件系統 適合跨多個云服務器實例部署的應用程序訪問相同數據來源的應用場景 支持主流的應用程序及工作負載可無縫配合使用,無需任何修改即可讀寫數據 320.阿里云CDN不支持直接對IP地址進行加速,使用內容分發CDN需要在控制臺綁定域名。 321.專有網絡VPC是一個二層隔離的網絡環境,VPN是一種遠程訪問技術,利用公網假設虛擬專用網絡 VPC使用的是二層的隔離技術,VPC中的交換機屬于三層的交換機。 322.云服務器ECS實例支持切換交換機,但是不支持切換路由器操作。 323.路由器和交換機的區別: 路由器可以為局域網自動分配IP和虛擬撥號、交換機只是用來分配網絡數據的 路由器在網絡層,根據IP地址尋址,路由器可以處理“TCP/IP”協議,交換機不行。交換機在中繼層,根據“MAC”地址尋址; 路由器可以把一個IP分給多個主機使用,對外IP相同、交換機可以把很多主機連接起來,對外的IP不同; 路由器可以提供防火墻,交換機不能提供這個功能; 交換機是做擴大局域網接入點的,可以讓局域網連進更多的電腦、路由器是用來做網間連接,也就是用來連接不同網絡的; 324.彈性公網IP的限制有:ECS實例的網絡類型必須是專有網絡,ECS實例的地域必須和EIP的地域相同。 325.SLB四層流量走默認路由 SLB一般情況下,默認路由在有外網的情況下回先走外網網卡,如無外網則走內網網卡。 326.OSS目前只支持按量付費 327.負載均衡SLB不提供CNAME地址,只提供IP地址。 328.路由器是刪除VPC時自動刪除的 329.同一個VPC只能創建同一個地域不同可用區的交換機實現可用區容災,不支持跨VPC創建交換機。 331.敏感信息泄露屬于Web應用防火墻的功能,是需要收費的服務 332.在冷卻時間內,伸縮組會拒絕由云監控報警任務處罰的伸縮活動請求,但其他類型任務(手動執行任務、定時任務)觸發的伸縮活動可以立即執行,繞過冷卻時間 333.自定義的監控項的數量的是沒有數量限制的,且阿里云提供接口可以給開發者上報數據。 334.回滾磁盤必須要求云盤必須已經 掛載到某臺ECS實例上,而且已經停止實例。 335.專有網絡VPC里面的交換機支持部署在同一地域的不同可用區,專有網絡VPC類型的是咧可以加入同一專有網絡VPC下的安全組。 336.專有網絡類型的ECS實例只能在創建時指定,這類實例只可以屬于的單個虛擬交換機 337.專有網絡VPC創建成功之后,CIRDBlock不可以進行修改,交換機創建成功之后,無法修改CIDRBlock,且新建交換機所使用的的CIDPBLock不可以與已經存在的交換機的CIDRBLock重復 338.ISV 獨立軟件開發商 :從安全的角度考慮 需要考慮 操作規范和角色賬號的權限問題 339.CDN節點系統關鍵組件有: LVS做四層均衡負載;Tengine做七層負載均衡,Swift做Http緩存 340.伸縮組包括:伸縮配置 伸縮規則 伸縮活動
來源:OSCHINA
發布時間:2019-10-30 13:47:00
2019年10月9日, Rancher 2.3正式發布 ,這是Rancher Labs迄今為止最重要的產品版本。Rancher 2.3是業界首個GA支持Windows容器的Kubernetes管理平臺,并正式集成了Istio,還引入了創新的“集群模板”功能以增強企業集群的安全性。這些新功能無疑將極大助力企業充分利用Kubernetes變革性的力量,并為企業生產中落地Kubernetes提供更加便捷的途徑,從而進一步實現了Rancher一直以來“Run Kubernetes Everywhere”的理念和戰略。 ? ? 在過去的20天里,Rancher Labs的研發及測試團隊對Rancher 2.3的性能、穩定性、安全性以及功能性等進行了大量的測試和優化,今天上午8時,正式發布了Rancher 2.3.2版本,在這一版本中新增了Istio網關功能、GA了Kubernetes 1.16版本。這是Rancher 2.3.x第一個stable的版本,這意味著它是Rancher官方推薦所有用戶可用于生產環境的穩定版本! ? ? Rancher 2.3功能亮點 ? 首個GA支持Windows容器的K8s管理平臺 ? Rancher 2.3是市場上管理基于Windows Server容器的首批解決方案之一 ,通過把Kubernetes的所有優勢引入Windows,Rancher 2.3極大降低了企業使用Windows容器的復雜性,并為基于Windows遺留應用程序的現代化提供快捷的途徑——無論這些程序是在本地運行還是在多云環境中運行。此外,Rancher 2.3還可以將它們容器化并將其轉換為高效、安全和可遷移的多云應用程序,從而省去重寫應用程序的工作。 ? 正式集成Istio ? Istio,作為業界領先的服務網格,讓開發人員無需編寫特定代碼,即可啟用Kubernetes的關鍵功能,包括容錯、金絲雀發布、A / B測試、監控和指標、追蹤和可觀察性以及身份驗證和授權。Rancher 2.3正式完成了對Istio的集成,極大簡化了Istio的安裝和配置,Rancher中現已內置支持: ? 用于流量和遙測可視化的Kiali儀表板 用于追蹤的Jaeger 用于監控和可觀察性的Prometheus和Grafana ? 通過“集群模板”功能增強Kubernetes安全性 ? Rancher 2.3引入了創新的“集群模板”這一功能。它可以讓企業在整個基礎架構中實施一致的集群配置,進而幫助企業降低安全風險。具體而言,通過使用集群模板: ? 運維人員可以在其所有集群部署中創建、保存并放心使用經過良好測試的Kubernetes配置。 管理員可以啟用配置強制實施,從而抑制配置漂移或不當的配置錯誤。如果創建更多的集群,這些配置不當可能會帶來安全風險。 ? Rancher 2.3.2版本重點 ? Kubernetes 1.16 GA ? Kubernetes 1.16現在已經GA,但是由于Kubernetes 1.16版本中棄用了之前版本的部分舊API,因此Kubernetes 1.16還不是不是默認版本。 ? 增加Istio網關,虛擬服務和目標規則的UI ? 添加了通過UI添加Istio網關的功能,Istio的UI已經成為GA版本。默認情況下,可以通過Istio的UI使用虛擬服務和目標規則的功能。 ? 修復了一些重要的Bug ? 修復了使用TLS最為HTTPS終止時,HA升級由于在舊版本中生成錯誤的證書而導致HA升級失敗的問題 [#23441] 修復了設置runAsNonRoot [#20884] 時無法啟動監控的問題 修復了證書格式錯誤的項目無法再在UI中加載的問題 [#23285] 修復了readiness無法在Kubernetes 1.15和1.16版本的集群上 [#23430] 進行準備就緒探測的問題 修復了rancher/cli2:v2.3.0鏡像無法正常工作的問題 [#23433] ? 升級與更新 ? 更多關于Rancher 2.3.2中問題修復、升級與回滾,請參閱Github鏈接: https://github.com/rancher/rancher/releases/tag/v2.3.2 ? Rancher企業級訂閱客戶如果對Rancher 2.3.2有任何疑問或希望對現有Rancher版本進行平滑升級,歡迎聯系我們的Rancher Support技術團隊。如果想咨詢或購買企業級訂閱支持,歡迎聯系我們! ? 微信:rancher2 郵箱:yiyi@rancher.com 電話:0755-86966507 歡迎添加小助手(wx:rancher2),進官方技術群,了解更多Kubernetes使用攻略
來源:OSCHINA
發布時間:2019-10-30 10:25:00
在對應用程序進行重構和更新的過程中,往往會出現一些挑戰。更新應用程序的頻率越高,復雜性就越是會增加。讓應用程序在容器平臺上運行,并且它們之間可以互相通信和連接,是通向模塊化的、靈活的微服務架構的必經之路。但是微服務的這種靈活性也讓其變得更加復雜。這時就輪到Service Mesh發揮作用了! Service Mesh向企業提供了他們所需要的中心化控制面板,同時依然能夠使用靈活的、基于云的應用程序開發方式。我們可以把Service Mesh看成是用于微服務API的專門的第7層網格,它提供身份驗證、授權、安全和性能服務來優化服務之間的“east/west”流量。更重要的是,它能為你提供應用到這些策略的中心點,而不需要直接將所有這些編碼到應用程序的業務邏輯中。 簡單的Service Mesh類比 Service Mesh就像是城市的水管網絡。你的團隊控制著這些管道,根據需要連接它們并設置它們之間所有的流控制。無論是何種類型或用途,又或是Service Mesh所支持的應用程序的需求在不斷變化,數據都可以通過你的系統進行傳遞。 這種流量控制可以在中心位置進行,也正是在中心位置構建規則,來管理那些相互連接的數據流。這就像是在天上的巨大控制室一樣,你可以在農作物需要額外資源時,給加利福尼亞州的土地澆水,又或是邁阿密那邊濕的太透了,你可以排干它們。最重要的一點是,這些操作都是可以自動執行并且動態調整的。 Service Mesh增強了可靠性和可視化能力 Service Mesh提供從網絡或服務故障處自動恢復過來的智能流量路由功能,這樣就可以追蹤到整個堆棧的問題,甚至能追蹤到服務間的中斷。 如果服務器沒有響應,你的服務網格將會把它從單個服務、或者是活躍的、負載均衡的服務池中剔除掉,轉移到另一個池中,該池經常會檢查是否可運行。當該服務器在合理的時間范圍內開始響應時,它又會被自動push回活躍的負載均衡池中。 通過提供服務層系統各個方面的可視化,Service Mesh還可以用來debug和優化系統。這樣微服務中的臟水問題(murky water)就解決了。隨著時間推移,系統可以進行調整來擴展功能,滿足性能和穩定性的需求。 Service Mesh保護服務間通信 當你的團隊推出應用程序的新版本,或是要將應用程序托管的集群遷移到新的數據中心時,安全團隊通常需要重新頒發證書并授權給系統中新的服務器。這會花費大量的時間和精力,是推動生產改進的阻礙。 有了服務網格,將服務間通信的安全性交給網格處理,這些關注點從應用程序本身抽象了出來,由服務網格處理所有這些限制,比如哪些服務可以相互通信、哪些系統可以訪問哪些服務,以及哪些用戶可以訪問哪些服務。因此,升級網格中的應用程序不需要重新分配安全資源。 這樣一來,還可以讓圍繞網絡和服務間通信的安全問題能從任何內部開發的業務邏輯中獨立出來。如果網絡組建出現安全漏洞,服務網格會去處理圍繞安全更新的更改,而不是重新架構每個應用程序。這就消除了在進行安全更改和更新相關工作時出現的大量停機時間。 研究大型微服務環境下的服務網格 不過服務網格有一個(巨大的)潛在的缺點。它添加了額外的容器,事實上,它讓容器規模加倍了。大多數服務網格的實現使用了sidecar代理,將一個代理實例和每個容器綁定的微服務耦合在一起。這樣一來,它所帶來的好處大于運營成本,這也意味著服務網格對于小型環境來說通常過于龐大了。 但是,如果你正在管理數十個甚至數百個獨立的微服務,不妨考慮服務網格。有了服務網格,你的團隊可以更好的跟蹤問題,確保服務的可用性,維護路由表的正確分布。對這些大型環境,無論是在公共云、在你的企業數據中心、還是在混合云的實現上,它們是云應用程序難題的最后一塊拼圖,也是將你的整個產業聯系在一起的關鍵部分。
來源:OSCHINA
發布時間:2018-12-28 13:00:00
DatwWorks終于升級2.0了,心情萬分激動之余,又有一絲擔憂。因為,沒法再創建新的舊版工作流了。。。 新版拋棄了 “工作流” 這個概念,引入了 “業務流程” 和 “解決方案” 兩個新的概念。于是,作為團隊Leader,我花了很大的精力去鉆研這兩個概念到底該如何應用在我的實際業務中。 1.目的 能盡快應用DataWorks2.0的諸多給力新功能; 盡快解決掉由于無法新建舊版工作流引起的不便; 2.舊版工作流劃分 任務節點一般分為以下幾類: 源數據同步節點 單業務基礎數據層統計節點 跨業務基礎數據層統計節點 結果數據層統計節點 結果數據同步節點 2.1 劃分維度 舊版本的工作流,主要包含以下幾個維度: 2.1.1 源數據庫 數據源是在哪個數據庫中 包括:源數據同步節點 2.1.2 產品線 源數據屬于哪個產品線 包括:源數據同步節點 + 單業務基礎數據層統計節點 2.1.3 目標系統 結果數據是給哪個系統提供的(后臺系統、BI、DataV、……) 包括:結果數據層統計節點 + 結果數據同步節點 2.1.4 業務模塊 結果數據屬于哪個業務模塊(訂單+投訴、訂單+保險、商家+訂單、……) 包括:跨業務基礎數據層統計節點 + 結果數據層統計節點 + 結果數據同步節點 2.1.5 運行周期 每日、每周、每月運行 包括:所有節點 2.1.6 輸入/統計/輸出 包含的節點的類型,是屬于“源數據遷入”、“統計任務”還是“結果數據遷出” 包括:所有節點 2.2 其他劃分原則 盡量減少每個工作流所依賴的上游工作流的個數; 能用一句話給整個工作流起個名字; 每個工作流內的節點數量不超過30個; 3. 舊版工作流與新版業務流程的區別 3.1 運行周期 舊版工作流: 整個 工作流(包含多個內部節點),對應一個運行周期 新版業務流程: 每個 節點,對應一個運行周期 3.2 依賴關系 舊版工作流: 工作流依賴工作流; 內部節點依賴內部節點; 新版業務流程: 業務流程之間,無依賴關系; 節點依賴節點,可以跨業務流程依賴,可以不同運行周期的任務間依賴。 3.3 節點的分類 舊版工作流: 無分類 ,只能通過內部節點的命名來區分 新版業務流程: 可以自動 按節點類型 分類(SQL節點、數據同步節點、機器學習節點、……) 3.4 工作流(業務流程)的分類 舊版工作流: 無分類 ,只能通過工作流的命名來區分 新版業務流程: 可以通過“解決方案”功能來分類(類似于給每個業務流程 打標簽 ),“業務流程”與“解決方案”是“多對多”的關系。 3.5 提交范圍 舊版工作流: 整個 工作流(包含多個內部節點)一起提交 新版業務流程: 單個 任務節點提交。也支持業務流程中多個節點批量提交的方式。 3.6 重命名 舊版工作流: 工作流 不支持 重命名; 內部節點 不支持 重命名; 新版業務流程: 業務流程 支持 重命名; 節點 支持 重命名; 3.7 添加文件夾的位置 舊版工作流: 多級文件夾 →工作流→內部節點 新版業務流程: 業務流程→數據集成/數據開發→ 多級文件夾 →節點 4. 業務流程劃分原則 最后,關于我的業務流程的劃分原則,總結如下: 業務流程是完成一個最小業務的; 業務流程的數量可以稍微多一點兒,可以通過解決方案去查找; 每個業務流程里的節點最好不要太多,每個業務流程里能直觀展示的就只有那么多; 希望大家也能早日用上DataWorks2.0的諸多給力功能!不用繼續在舊版工作流中縫縫補補。 作者: neo.wang 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2018-12-27 15:44:00
小文件背景知識 小文件定義 分布式文件系統按塊Block存放,文件大小比塊大小小的文件(默認塊大小為64M),叫做小文件。 如何判斷存在小文件數量多的問題 查看文件數量 desc extended + 表名 判斷小文件數量多的標準 1、非分區表,表文件數達到1000個,文件平均大小小于64M 2、分區表: a) 單個分區文件數達到1000個,文件平均大小小于64M, b) 整個非分區表分區數達到五萬 (系統限制為6萬) 產生小文件數量多的主要原因 1、表設計不合理導致:分區多導致文件多,比如按天按小時按業務單元(假如有6個業務單元BU)分區,那么一年下來,分區數將會達到365 24 6=52560。 2、在使用Tunnel、Datahub、Console等數據集成工具上傳上傳數據時,頻繁Commit,寫入表(表分區)使用不合理導致:每個分區存在多個文件,文件數達到幾百上千,其中大多數是大小只有幾 k 的小文件。 3、在使用insert into寫入數據時過,幾條數據就寫入一次,并且頻繁的寫入。 4、Reduce過程中產生小文件過多。 5、Job執行過程中生成的各種臨時文件、回收站保留的過期的文件過多。 注意:雖然在MaxCompute系統側會自動做小文件合并的優化,但對于原因1、2、3需要客戶采用合理的表分區設計和上傳數據的方法才可以避免。 小文件數量過多產生的影響 MaxCompute處理單個大文件比處理多個小文件更有效率,小文件過多會影響整體的執行性能;小文件過多會給文件系統帶來一定的壓力,且影響空間的有效利用。MaxCompute對單個fuxi Instance可以處理的小文件數限制為120個,文件數過多影響fuxi instance數目,影響整體性能。 合并小文件命令 set odps.merge.max.filenumber.per.job=50000; --值默認為50000個;當分區數大于50000時需要調整,最大可到1000000萬,大于1000000的提交多次merge ALTER TABLE 表名[partition] MERGE SMALLFILES; 如何合并小文件 分區表: 如果您的表已經是分區表,請檢查您的分區字段是否是可收斂的,如果分區數過多同樣會影響計算性能,建議用日期做分區。 1、定期執行合并小文件命令; 2、如果是按日期建的分區,可以每天對前一天的分區數據用insert overwrite重新覆蓋寫入。 例如: insert overwrite table tableA partition (ds='20181220') select * from tableA where ds='20181220'; 非分區表: 如果您的表是非分區表,您可以定期執行合并小文件命令來優化小文件問題,但強烈建議您設計成分區表: 1、先創建一個新的分區表,建議按日期做分區,合理設置生命周期,以方便進行歷史數據回收; 2、把原非分區表的數據導入新的分區表;(建議先暫停原非分區表的實時寫入業務) 例如: create table sale_detail_patition like sale_detail; alter table sale_detail_insert add partition(sale_date='201812120', region='china'); insert overwrite table sale_detail_patition partition (sale_date='20181220', region='china') select * from sale_detail; 3、修改上下游業務:入庫程序改成寫入新分區表,查詢作業改成從新分區表中查詢; 4、新分區表完成數據遷移和驗證后,刪除原分區表。 注意:如果您使用insert overwrite重新寫入全量數據合并小文件時,請注意一定不要同時存在insert overwrite和insert into同時存在的情況,否則有丟失數據的風險。 如何避免產生小文件 優化表設計 合理設計表分區,分區字段是盡量是可收斂或可管理的,如果分區數過多同樣會影響計算性能,建議用日期做分區,并合理設置表的生命周期,以方便對歷史數據回收,也可控制您的存儲成本。 參考文章: 《MaxCompute 表(Table)設計規范》 、 《MaxCompute表設計最佳實踐》 避免使用各種數據集成工具產生小文件 1、Tunnel->MaxCompute 使用Tunnel上傳數據時避免頻繁commit,盡量保證每次提交的DataSize大于64M,請參考 《離線批量數據通道Tunnel的最佳實踐及常見問題》 2、Datahub->MaxCompute 如果用Datahub產生小文件,建議合理申請shard,可以根據topic的Throughput合理做shard合并,減少shard數量??梢愿鶕opic的Throughput觀察數據流量變化,適當調大數據寫入的間隔時間。 申請Datahub shard數目的策略(申請過多的datahub shard將會產生小文件問題) 1)默認吞吐量單個shard是1MB/s,可以按照這個分配實際的shard數目(可以在此基礎上多加幾個); 2)同步MaxCompute的邏輯是每個shard有一個單獨的task(滿足5分鐘或者64MB會commit一次),默認設置5分鐘是為了盡快能在MaxCompute查到數據。如果是按照小時建partition,那個一個shard每個小時有12個文件。如果這個時候數據量很少,但是shard很多,在MaxCompute里面就會很多小文件(shard*12/hour)。所以不要過多的分配shard,按需分配。 參考建議:??如果流量是5M/s,那么就申請5個shard,為預防流量峰值預留20%的Buffer,可以申請6個shard。 3、DataX->MaxCompute 因為datax也是封裝了tunnel的SDK來寫入MaxCompute的,因此,建議您在配置ODPSWriter的時候,把blockSizeInMB這個參數不要設置太小,最好是64M以上。 作者: 云花 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2018-12-27 15:14:00
MaxCompute/DataWorks權限問題排查建議 __前提:__MaxCompute與DataWorks為兩個產品,在權限體系上既有交集又要一定的差別。在權限問題之前需了解兩個產品獨特的權限體系。 MaxCompute:計算引擎 MaxCompute底層計算引擎有自己的安全權限體系,包括ACL、Policy授權體系。具體可以了解: https://help.aliyun.com/document_detail/27924.html DataWorks:數據工場 DataWorks為MaxCompute上層的云數倉開發工具,擁有自身的權限模型外還支持底層MaxCompute底層數據授權體系。具體詳見: https://help.aliyun.com/document_detail/92594.html 查看MaxCompute上的角色 通過MaxCompute Console命令list roles;可以看到角色體系,role_開頭都為DataWorks基于MaxCompute封裝的角色及權限體系。介紹如下: rolename 對應產品及權限名稱 admin MaxCompute底層引擎默認admin角色 role_project_admin DataWorks項目管理員 role_project_deploy DataWorks部署角色 role_project_dev DataWorks開發角色 role_project_guest DataWorks訪客角色 role_project_pe DataWorks運維角色 role_project_scheduler role_project_security DataWorks生產代持賬號 DataWorks安全管理員 __admin:__MaxCompute計算引擎的默認admin角色, 可以訪問項目空間內的所有對象、對用戶或角色進行管理、對用戶或角色進行授權。與項目空間 Owner 相比, admin 角色不能將 admin 權限指派給用戶 ,不能設定項目空間的安全配置,不能修改項目空間的鑒權模型,admin 角色所對應的權限不能被修改 。一般情況下,如未修改過權限,一般情況下admin角色用戶只有一個為project owner賬號。 odps@ clouder_bi>describe role admin; [users] ALIYUN$***@aliyun-test.com Authorization Type: Admin MaxCompute project owner可以將admin角色授予其他子賬號,用于進行MaxCompute底層的權限模型管理。 role_開頭的角色也可以通過describe role 方式查看其角色所具備的權限點及角色里的用戶列表。以開發者角色為例: odps@ clouder_bi>describe role role_project_dev; [users] RAM$yangyi.pt@aliyun-test.com:yangyitest Authorization Type: Policy A projects/clouder_bi: * A projects/clouder_bi/instances/*: * A projects/clouder_bi/jobs/*: * A projects/clouder_bi/offlinemodels/*: * A projects/clouder_bi/packages/*: * A projects/clouder_bi/registration/functions/*: * A projects/clouder_bi/resources/*: * A projects/clouder_bi/tables/*: * A projects/clouder_bi/volumes/*: * 排查問題建議: 在普及完兩個產品的權限體系之外,更多的用戶會遇到各種權限的疑問或者問題。通??梢酝ㄟ^如下方式來排查: 首先,查看當前用戶或指定用戶所擁有的權限。 show grants; --查看當前用戶自己的訪問權限 show grants for ; --查看指定用戶的訪問權限,僅由ProjectOwner和Admin才能有執行權限 。 show grants for RAM$主帳號:子帳號; 可以看到用戶所具有的角色及相關權限點。 查看指定對象的授權列表,一般獲取表到人。 show acl for [on type ];--查看指定對象上的用戶和角色授權列表 支持的objecTtype: PROJECT, TABLE, JOB, VOLUME, INSTANCE, RESOURCE, FUNCTION,PACKAGE,TOPOLOGY,MATRIX,XFLOW,OFFLINEMODEL,STREAMJOB 查看ACL是否生效(常常發生在授權之后返回OK,但是權限校驗還是失?。?show SecurityConfiguration;--查看項目空間的安全配置 除了通過命令行方式,也可以通過__ ++ DataWorks>項目管理>MaxCompute高級配置 ++ __里的ACL開關來確認是否打開。 Policy授權的查詢 policy授權一般常見有兩種,一個是項目級別的,一個是role級別的。 get policy;--獲取項目級別的policy配置; get policy on role ;--獲取指定的role policy設置。 作者: 祎休 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2018-12-27 14:41:00
基本介紹 Aliplayer提供了縮略圖的功能,讓用戶在拖動進度條之前知道視頻的內容,用戶能夠得到很好的播放體驗,縮略圖是顯示在Controlbar的上面,并且包含當前的時間,阿里云的媒體處理服務提供接口可以生成縮略圖的功能, 先看一下基本的效果: 縮略圖的格式 WebVTT介紹 縮略圖采用了webvtt的文件格式去表示時間和顯示圖片的對應關系,WebVTT不僅可讀性好,而且解析也比較容易,下面是一個27秒包含3個截圖的WebVTT文件內容: WEBVTT 00:00.000 --> 00:09.174 vM7nH0Kl-120.jpg?xywh=0,0,120,53 00:09.174 --> 00:18.348 vM7nH0Kl-120.jpg?xywh=120,0,120,53 00:18.348 --> 00:27.523 vM7nH0Kl-120.jpg?xywh=240,0,120,53 WebVTT是UTF-8編碼格式的文本文件,主要如下: 第一行必需是WEBVTT,表明這是個WebVTT文件文件。 接著是一空行,后面就是時間范圍和要顯示的縮略圖,時間格式是HH:MM:SS.sss,時:分:秒.毫秒, 開始時間 --> 結束時間,-->的兩邊各有一個空格,這兩個時間必需寫在同一行,并且時間都是相對于視頻開始的時間間隔。 時間之后是縮略圖的地址,時間和縮略圖的地址之間不能有空行,縮略圖的描述主要包含圖片的地址,地址后面的xywh參數描述圖片的顯示位置和大小。 圖片地址說明 縮略圖可以是多張圖片,也可以是雪碧圖方式拼成的一張大圖 ,雪碧圖的優點是可以減少圖片的請求數和減少圖片顯示的延遲時間等。 圖片地址的基本格式:{imgUrl}?xywh=x,y,w,h, 參數說明: 名稱 說明 x 水平位置,左上角是0,雪碧圖時使用 y 垂直位置,左上角是0,雪碧圖時使用 w h 圖片的顯示寬度 圖片的顯示高度 獨立圖片的地址格式 每個地址都是不一樣的, 參數只需要指定圖片的顯示寬度和高度,比如: WEBVTT 00:00.000 --> 00:09.174 vM7nH0Kl-120.jpg?wh=120,53 00:09.174 --> 00:18.348 vM7nH0Kl-121.jpg?wh=120,53 雪碧圖的地址格式 每個地址都使用同一個圖片的地址,通過參數指定要顯示的圖片位置和大小,比如下面的雪碧圖: 下面的描述對應的是第一張和第二張圖的位置和大小 WEBVTT 00:00.000 --> 00:09.174 vM7nH0Kl-120.jpg?xywh=0,0,120,53 00:09.174 --> 00:18.348 vM7nH0Kl-120.jpg?xywh=120,0,120,53 Aliplayer的使用 Aliplayer可以獨立的使用縮略圖的功能,用戶只需要指定WebVTT的地址,當然也可以和阿里云的媒體處理服務(MPS)結合使用,通過媒體處理服務生成縮略圖,當通過videoId方式播放時,播放器會自動獲取縮略圖的地址,解析,然后顯示。 如何生成縮略圖 生成縮略圖可以調用阿里云的媒體處理服務的截圖功能,生成縮略圖,僅支持HLS的視頻格式,具體的接口地址: 如何設置截圖 VideoId方式播放 媒體處理服務生成縮略圖以后可以通過VideoId的方式播放,播放器會自動從云端獲取縮略圖地址、獲取內容、解析、顯示,代碼如下: let player = new Aliplayer({ id: 'J_prismPlayer', width: '100%', height: '100%', autoplay: true, vid : '1e067a2831b641db90d570b6480fbc40', accId: '', accSecret: '', stsToken: '', domainRegion: '', authInfo: '', }); 媒體處理播放方式的詳細文檔參考: MPS播放說明 自己指定WebVTT地址 Aliplayer提供了thumbnailUrl屬性用于指定WebVTT的地址,這種方式對于視頻格式就沒有要求了, 當用戶由于特殊原因不能使用videoId的方式播放視頻時,可以自己獲取WebVTT的縮略圖地址,通過thumbnailUrl屬性指定,代碼如下: let player = new Aliplayer({ id: 'J_prismPlayer', width: '100%', height: '100%', autoplay: true, soruce:'https://player.alicdn.com/resource/player/qupai.mp4', thumbnailUrl:'http://100.69.163.12/vM7nH0Kl-120.vtt' }); 作者: nahom 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2019-01-09 16:19:00
摘要: H5 Video是不提供截圖的API的, 視頻截圖需要借助Canvas,通過Canvas提供的drawImage方法,把Video的當前畫面渲染到畫布上, 最終通過toDataURL方法可以導出圖片的base64編碼,基本就完成了圖片截圖的功能。 基本介紹 H5 Video是不提供截圖的API的, 視頻截圖需要借助Canvas,通過Canvas提供的drawImage方法,把Video的當前畫面渲染到畫布上, 最終通過toDataURL方法可以導出圖片的base64編碼,基本就完成了圖片截圖的功能。 功能實現 Canvas接口介紹 drawImage接口 在畫布上繪制圖像、畫布或視頻,也能夠繪制圖像的某些部分,以及/或者增加或減少圖像的尺寸,主要參數為: 參數 描述 img 規定要使用的圖像、畫布或視頻。 sx 可選。開始剪切的 x 坐標位置。 sy 可選。開始剪切的 y 坐標位置。 swidth 可選。被剪切圖像的寬度。 sheight 可選。被剪切圖像的高度。 dx 在畫布上放置圖像的 x 坐標位置。 dy 在畫布上放置圖像的 y 坐標位置。 dwidth dheight 可選。要使用的圖像的寬度。(伸展或縮小圖像) 可選。要使用的圖像的高度。(伸展或縮小圖像) 參考一下這個圖應該就比較清楚的了: 看一個例子,比如一個視頻是640X480,現在需要截取下半部分: function(){ var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var video=document.getElementByTagName("video"); ctx.drawImage(video,0,240,640,240,0,0,640,240); }; toDataURL接口 方法返回一個包含圖片展示的 data URI ??梢允褂?type 參數其類型,默認為 PNG 格式。圖片的分辨率為96dpi 參數 描述 type encoderOptions 可選。圖片格式,默認為 image/png 可選。在指定圖片格式為 image/jpeg 或 image/webp的情況下,可以從 0 到 1 的區間內選擇圖片的質量。如果超出取值范圍,將會使用默認值 0.92。其他參數會被忽略 比如設置導出圖片的質量: var fullQuality = canvas.toDataURL("image/jpeg", 1.0); var mediumQuality = canvas.toDataURL("image/jpeg", 0.5); var lowQuality = canvas.toDataURL("image/jpeg", 0.1); 導出圖片時需注意的: 如果畫布的高度或寬度是0,那么會返回字符串“ data:,”。 如果傳入的類型非“ image/png ”,但是返回的值以“ data:image/png ”開頭,那么該傳入的類型是不支持的。 Chrome支持“ image/webp ”類型。 圖片地址或者視頻地址需要支持跨越訪問,并且在 img或video Dom元素上添加屬性crossOrigin:"anonymous" Aliplayer的截圖功能 Alilayer里實現的截圖除了截圖一張圖片,還可以添加水印,還可以截取鏡像的視頻,效果如下: 截圖功能介紹 創建Canvas,設置大小為實際視頻的大小,根據視頻的鏡像方向,對Canvas做相應的處理,代碼如下: var canvas = document.createElement('canvas'), video = that._player.tag, canvas.width =video.videoWidth,//視頻原有尺寸 canvas.height = video.videoHeight;//視頻原有尺寸 var ctx = canvas.getContext('2d'); ctx.save(); //判斷用戶是否對視頻做過鏡像 var image = that._player.getImage(); if(image == "vertical")//垂直鏡像 { ctx.translate(0,canvas.height); ctx.scale(1, -1); } else if(image == "horizon")//水平鏡像 { ctx.translate(canvas.width, 0); ctx.scale(-1, 1); } //視頻的當前畫面渲染到畫布上 ctx.drawImage(video, 0, 0, w, h); ctx.restore(); 水印功能介紹 Aliplayer水印支持添加的位置、字體、畫筆顏色和填充樣式,在創建播放器的時候指定,代碼如下: let drawText =>(ctx, options) { var watermark = options.snapshotWatermark; if(watermark && watermark.text) { //設置字體樣式 ctx.font = watermark.font; //設置字體填充顏色 if(watermark.fillColor) { ctx.fillStyle = watermark.fillColor; ctx.fillText(watermark.text, watermark.left, watermark.top); } //設置畫筆顏色 if(watermark.strokeColor) { ctx.strokeStyle = watermark.strokeColor; ctx.strokeText(watermark.text, watermark.left, watermark.top); } //畫布上畫出水印 ctx.stroke(); } } 作者: nahom 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2019-01-09 15:47:00
摘要: 2018年12月20日,云棲社區3歲。阿里巴巴常說“晴天修屋頂”,所以我們特別制作了這個專輯——分享給開發者們20個阿里故事,50本書籍。 2015年12月20日,云棲社區上線。2018年12月20日,云棲社區3歲。 阿里巴巴常說“晴天修屋頂”。 在我們看來,寒冬中,最值得投資的是學習,是增厚的知識儲備。 所以社區特別制作了這個專輯——分享給開發者們20個彌足珍貴的成長感悟,50本書單。 多年以后,再回首2018-19年,留給我們自己的,除了寒冷,還有不斷上升的技術能力與拼搏后的成就感。 云棲社區釘釘技術討論群,已有5000+開發者。 云棲社區2019年1月30+場活動預告【持續更新,歡迎加入】 學習,是一種氛圍。 1月9日,技術拓寬技術本身價值,商業價值,更加拓寬的是人生價值的邊界。這是我們送給開發者的第14個感悟。 孤盡,阿里巴巴技術專家,花名取意“孤帆遠影碧空盡”的意思,《阿里巴巴Java開發手冊》的主要編寫者。2016年3月,孤盡帶領約碼項目組編寫《阿里巴巴Java開發手冊》,碼出高效,碼出質量,推動阿里系與業界一起進步,讓代碼變得更舒服,更清澈,更好維護。 2018年5月,孤盡在《向代碼致敬,尋找你的第83行》活動中 曬出了他入職第一年寫的代碼 ,大家趕緊來找找是否有不合規約的地方。 歡迎開發者 關注他 ,并加入 釘群 與孤盡深度討論。 《阿里巴巴Java開發手冊》史上最全資料 點此查看 ! 阿里孤盡:技術拓展價值邊界 楊冠寶(孤盡) 阿里巴巴代碼平臺負責人。 阿里巴巴代碼規約的起草者和推動者。 在阿里歷任研發、架構師、技術主管等不同的角色,承擔過雙十一、國際化、代碼中心等大型項目,有著豐富的一線編程經驗,在大數據、高并發、研發效能領域均有較深的造詣,樂于分享與總結,在國內外做過多次大型交流和培訓。 技術拓寬技術本身價值,商業價值,更加拓寬的是人生價值的邊界。 好的代碼是藝術,好的代碼思維是哲學。程序員在技術進階的路上,敢于象藝術大師一樣不斷地雕琢自己的作品,思考代碼背后的邏輯,不斷地提煉和總結,成就傳奇代碼人生。 記憶、思考、表達、融會貫通是學習的四步曲,第一步是基礎,更是一個體力活。 出版圖書: 《阿里巴巴Java開發手冊》 《碼出高效》 推薦書單: 《Effective Java》 《設計模式之禪》 《深入JVM虛擬機》 作者: 云篆 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2019-01-09 15:10:00
一言不合就發新版本。 年關將至,寒意習習,落葉蕭蕭下,陽光日日稀。RancherOS團隊歷時兩個來月的開發,正式發布RancherOS v1.5.0版本。 在此期間同為Container Linux陣營的CoreOS已經從紅帽再入IBM,潮流之變,業界態勢,讓我們無不更加努力去爭得一席之地。 無論是商業用戶的積累,還是業界變化帶來的社區用戶增長,都在催促我們不斷革新,應該說1.5.0版本是用戶的需求推著我們走出來的。 重大特性更新 本版本的新特征眾多,無法一次性全部說明,以下只表述一些用戶關注度比較高的特性。個別特性詳細說明,我們會不斷推出文章一一展開。 啟動性能提升 一直以來RancherOS的initrd一直采用xz格式壓縮,隨著RancherOS的體積不斷增大,xz壓縮越來越影響系統啟動速度。雖然xz格式能夠帶來比較小的initrd和ISO, 但是我們也需要兼顧啟動速度。v1.5.0版本的initrd已經采用了gzip格式,文件體積有所增大,但是啟動速度有了質的飛躍。 同時我們也優化了system-docker的鏡像加載和cloud-init的啟動,對啟動速度進行了深度優化。 LUKS磁盤加密支持 支持LUKS,允許用戶對跟磁盤分區進行加密,在一些特殊場景下增強了RancherOS的安全性。運行效果參考下圖: WiFi和4G支持 Intel正在micro PC領域不斷發力,RancherOS被納入其生態體系,我們支持了WiFi和4G網絡,用戶可以通過簡單的cloud-config配置就可以開啟, 帶來了十分簡潔的用戶體驗,這部分我們會在后續其他文章中詳細介紹。 Hyper-V支持 很多社區用戶一直希望能在Hyper-V使用RancherOS,先前我們一直提供給用戶一些custom build的方式來實現它,現在我們正式支持了它,并會持續維護。 無論是docker-machine方式還是boot from ISO方式均可以支持。 下一個版本我們也會帶來RancherOS的Azure Cloud支持。 多docker engine支持 這是一個很有趣的特性,目前RancherOS中默認擁有一個user docker。在v1.5.0中,用戶可以用過ROS CLI來創建多個user docker engine, 并且每個docker擁有獨立的ROOTFS和網絡棧,并且可以在console很容易的切換使用任意一個docker。 當然我們并不推薦您在生產中使用,我們的某個商業客戶把這個特性應用在其CI環境中,極大的提升了資源的利用率,減少了物理機器數量的開銷。 改善VMware的支持 RancherOS的廣大用戶中Vmware是占有很大的用戶群,之前我們的版本中只針對docker-machine方式做了一些改善,但是很多用戶還希望使用boot from ISO方式和VMDK方式, 我們相關的鏡像也做了支持,用戶可以直接下載使用它: [VMDK] https://releases.rancher.com/os/v1.5.0/vmware/rancheros.vmdk [Docker Machine] https://releases.rancher.com/os/v1.5.0/rancheros-vmware.iso [Boot From ISO] https://releases.rancher.com/os/v1.5.0/vmware/rancheros.iso ARM的支持 由于Rancher和ARM已經開始了戰略合作,我們會在一起做很多有趣的事。RancherOS的ARM支持也是其中的一部分,原先我們只是對RPi做了支持, 現在我們提供ARM版本的initrd和vmlinuz,用戶可以用它們使用iPXE方式啟動: https://releases.rancher.com/os/v1.5.0/arm64/initrd https://releases.rancher.com/os/v1.5.0/arm64/vmlinuz 我們依然只會對ARM64支持,且v1.5.0的ARM支持只是實驗性質的,并不推薦應用在生產中。 我們會和ARM進行合作進行更廣泛的測試,后續的版本將會是更穩定的。 更加友好的自定義 社區中越來越多的發燒友并不局限使用我們的正式發布版本,他們會根據自己的需求修改RancherOS,構建自己的RancherOS。 我們提供了一些友好的編譯選項,用戶可以自定義自己的RancherOS。 更改默認docker engine RancherOS的每個版本都會有自己設定的默認docker engine,而在用戶的場景下,可能需要一個內部認可的docker engine,且希望它是RancherOS默認的版本。 那么用戶可以在構建時候指定docker engine版本,來構建自己的RancherOS,以docker 17.03.2為例: USER_DOCKER_VERSION=17.03.2 make release 更改默認console RancherOS支持很多console,比如ubuntu、alpine、centos等,由于我們的default console基于busybox,有些用戶并不喜歡它,且不希望每次都去切換console。 那么用戶可以使用這種方式構建一個默認console是自己喜歡的版本,以alpine console為例: $ OS_CONSOLE=alpine make release 其 他 AWS相關鏡像已經上傳到各個region中,可以直接搜索查找并使用,包括AWS中國區。其他主要鏡像列表參考: https://github.com/rancher/os/blob/v1.5.x/README.md#release 更多新特性和Bug Fix請參考v1.5.0的Release Notes 文檔說明: https://rancher.com/docs/os/v1.x/en/ 最后,RancherOS還是一個小眾的開源項目,我們專注Docker在Linux上的精簡體驗,如果喜歡RancherOS,請在Github上給我們一個star,鼓勵我們繼續前行。 RancherOS Github: https://github.com/rancher/os/releases/tag/v1.5.0
來源:OSCHINA
發布時間:2019-01-09 10:45:00
摘要: 本文主要介紹如何使用消費組實時監控多個域中的多個日志庫中的異常數據,并進行下一步告警動作。具備配置簡單、邏輯靈活、支持跨域多Region、實時監測,無需配置索引等特點,并且性能可靠、自動負載均衡與保持高可用性。 解決問題 使用日志服務進行數據處理與傳遞的過程中,你是否遇到如下監測場景不能很好的解決: 特定數據上傳到日志服務中需要檢查數據內的異常情況,而沒有現成監控工具? 需要檢索數據里面的關鍵字,但數據沒有建立索引,無法使用日志服務的告警功能? 數據監測要求實時性(<5秒,例如Web訪問500錯誤),而特定功能都有一定延遲(1分鐘以上)? 存在多個域的多個日志庫(例如每個Region的錯誤文件對應的日志庫),數據量不大,但監控邏輯類似,每個目標都要監控與配置,比較繁瑣? 如果是的,您可以考慮使用日志服務Python消費組進行跨域實時數據監控,本文主要介紹如何使用消費組實時監控多個域中的多個日志庫中的異常數據,并進行下一步告警動作??梢院芎媒鉀Q以上問題,并利用消費組的特點,達到自動平衡、負載均衡和高可用性。 基本概念 協同消費庫(Consumer Library)是對日志服務中日志進行消費的高級模式,提供了消費組(ConsumerGroup)的概念對消費端進行抽象和管理,和直接使用SDK進行數據讀取的區別在于,用戶無需關心日志服務的實現細節,只需要專注于業務邏輯,另外,消費者之間的負載均衡、failover等用戶也都無需關心。 消費組(Consumer Group) - 一個消費組由多個消費者構成,同一個消費組下面的消費者共同消費一個logstore中的數據,消費者之間不會重復消費數據。 消費者(Consumer) - 消費組的構成單元,實際承擔消費任務,同一個消費組下面的消費者名稱必須不同。 在日志服務中,一個logstore下面會有多個shard,協同消費庫的功能就是將shard分配給一個消費組下面的消費者,分配方式遵循以下原則: 每個shard只會分配到一個消費者。 一個消費者可以同時擁有多個shard。 新的消費者加入一個消費組,這個消費組下面的shard從屬關系會調整,以達到消費負載均衡的目的,但是上面的分配原則不會變,分配過程對用戶透明。 協同消費庫的另一個功能是保存checkpoint,方便程序故障恢復時能接著從斷點繼續消費,從而保證數據不會被重復消費。 使用消費組進行實時分發 這里我們描述用Python使用消費組進行編程,實時跨域監測多個域的多個日志庫,全文或特定字段檢查 注意:本篇文章的相關代碼可能會更新,最新版本在這里可以找到: Github樣例 . 安裝 環境 建議程序運行在靠近源日志庫同Region下的ECS上,并使用 局域網服務入口 ,這樣好處是網絡速度最快,其次是讀取沒有外網費用產生。 強烈推薦 PyPy3 來運行本程序,而不是使用標準CPython解釋器。 日志服務的Python SDK可以如下安裝: pypy3 -m pip install aliyun-log-python-sdk -U 更多SLS Python SDK的使用手冊,可以參考 這里 程序配置 如下展示如何配置程序: 配置程序日志文件,以便后續測試或者診斷可能的問題(跳過,具體參考樣例)。 基本的日志服務連接與消費組的配置選項。 目標Logstore的一些連接信息 請仔細閱讀代碼中相關注釋并根據需要調整選項: #encoding: utf8 def get_option(): ########################## # 基本選項 ########################## # 從環境變量中加載SLS參數與選項,endpoint、project、logstore可以多個并配對 endpoints = os.environ.get('SLS_ENDPOINTS', '').split(";") # ;分隔 projects = os.environ.get('SLS_PROJECTS', '').split(";") # ;分隔 logstores = os.environ.get('SLS_LOGSTORES', '').split(";") # ;分隔,同一個Project下的用,分隔 accessKeyId = os.environ.get('SLS_AK_ID', '') accessKey = os.environ.get('SLS_AK_KEY', '') consumer_group = os.environ.get('SLS_CG', '') # 消費的起點。這個參數在第一次跑程序的時候有效,后續再次運行將從上一次消費的保存點繼續。 # 可以使”begin“,”end“,或者特定的ISO時間格式。 cursor_start_time = "2018-12-26 0:0:0" # 一般不要修改消費者名,尤其是需要并發跑時 consumer_name = "{0}-{1}".format(consumer_group, current_process().pid) # 設定共享執行器 exeuctor = ThreadPoolExecutor(max_workers=2) # 構建多個消費組(每個logstore一個) options = [] for i in range(len(endpoints)): endpoint = endpoints[i].strip() project = projects[i].strip() if not endpoint or not project: logger.error("project: {0} or endpoint {1} is empty, skip".format(project, endpoint)) continue logstore_list = logstores[i].split(",") for logstore in logstore_list: logstore = logstore.strip() if not logstore: logger.error("logstore for project: {0} or endpoint {1} is empty, skip".format(project, endpoint)) continue option = LogHubConfig(endpoint, accessKeyId, accessKey, project, logstore, consumer_group, consumer_name, cursor_position=CursorPosition.SPECIAL_TIMER_CURSOR, cursor_start_time=cursor_start_time, shared_executor=exeuctor) options.append(option) # 設定檢測目標字段與目標值,例如這里是檢測status字段是否有500等錯誤 keywords = {'status': r'5\d{2}'} return exeuctor, options, keywords 注意,配置了多個endpoint、project、logstore,需要用分號分隔,并且一一對應;如果一個project下有多個logstore需要檢測,可以將他們直接用逗號分隔。如下是一個檢測3個Region下的4個Logstore的配置: export SLS_ENDPOINTS=cn-hangzhou.log.aliyuncs.com;cn-beijing.log.aliyuncs.com;cn-qingdao.log.aliyuncs.com export SLS_PROJECTS=project1;project2;project3 export SLS_LOGSTORES=logstore1;logstore2;logstore3_1,logstore3_2 數據監測 如下代碼展示如何構建一個關鍵字檢測器,針對數據中的目標字段進行檢測,您也可以修改邏輯設定為符合需要的場景(例如多個字段的組合關系等)。 class KeywordMonitor(ConsumerProcessorBase): """ this consumer will keep monitor with k-v fields. like {"content": "error"} """ def __init__(self, keywords=None, logstore=None): super(KeywordMonitor, self).__init__() # remember to call base init self.keywords = keywords self.kw_check = {} for k, v in self.keywords.items(): self.kw_check[k] = re.compile(v) self.logstore = logstore def process(self, log_groups, check_point_tracker): logs = PullLogResponse.loggroups_to_flattern_list(log_groups) match_count = 0 sample_error_log = "" for log in logs: m = None for k, c in self.kw_check.items(): if k in log: m = c.search(log[k]) if m: logger.debug('Keyword detected for shard "{0}" with keyword: "{1}" in field "{2}", log: {3}' .format(self.shard_id, log[k], k, log)) if m: match_count += 1 sample_error_log = log if match_count: logger.info("Keyword detected for shard {0}, count: {1}, example: {2}".format(self.shard_id, match_count, sample_error_log)) # TODO: 這里添加通知下游的代碼 else: logger.debug("No keyword detected for shard {0}".format(self.shard_id)) self.save_checkpoint(check_point_tracker) 控制邏輯 如下展示如何控制多個消費者,并管理退出命令: def main(): exeuctor, options, keywords = get_monitor_option() logger.info("*** start to consume data...") workers = [] for option in options: worker = ConsumerWorker(KeywordMonitor, option, args=(keywords,) ) workers.append(worker) worker.start() try: for i, worker in enumerate(workers): while worker.is_alive(): worker.join(timeout=60) logger.info("worker project: {0} logstore: {1} exit unexpected, try to shutdown it".format( options[i].project, options[i].logstore)) worker.shutdown() except KeyboardInterrupt: logger.info("*** try to exit **** ") for worker in workers: worker.shutdown() # wait for all workers to shutdown before shutting down executor for worker in workers: while worker.is_alive(): worker.join(timeout=60) exeuctor.shutdown() if __name__ == '__main__': main() 啟動 假設程序命名為"monitor_keyword.py",可以如下啟動: export SLS_ENDPOINTS=cn-hangzhou.log.aliyuncs.com;cn-beijing.log.aliyuncs.com;cn-qingdao.log.aliyuncs.com export SLS_PROJECTS=project1;project2;project3 export SLS_LOGSTORES=logstore1;logstore2;logstore3_1,logstore3_2 export SLS_AK_ID= export SLS_AK_KEY= export SLS_CG=<消費組名,可以簡單命名為"dispatch_data"> pypy3 monitor_keyword.py 性能考慮 啟動多個消費者 如果您的目標logstore存在多個shard,或者您的目標監測日志庫較多,您可以進行一定劃分并并啟動多次程序: # export SLS_ENDPOINTS, SLS_PROJECTS, SLS_LOGSTORES nohup pypy3 dispatch_data.py & # export SLS_ENDPOINTS, SLS_PROJECTS, SLS_LOGSTORES nohup pypy3 dispatch_data.py & # export SLS_ENDPOINTS, SLS_PROJECTS, SLS_LOGSTORES nohup pypy3 dispatch_data.py & ... 注意: 所有消費者使用了同一個消費組的名字和不同的消費者名字(因為消費者名以進程ID為后綴)。 但數據量較大或者目標日志庫較多時,單個消費者的速度可能無法滿足需求,且因為Python的GIL的原因,只能用到一個CPU核。強烈建議您根據目標日志庫的Shard數以及CPU的數量進行劃分,啟動多次以便重復利用CPU資源。 性能吞吐 基于測試,在沒有帶寬限制、接收端速率限制(如Splunk端)的情況下,以推進硬件用 pypy3 運行上述樣例,單個消費者占用大約 10%的單核CPU 下可以消費達到 5 MB/s 原始日志的速率。因此,理論上可以達到 50 MB/s 原始日志 每個CPU核 ,也就是 每個CPU核每天可以消費4TB原始日志 。 注意: 這個數據依賴帶寬、硬件參數等。 高可用性 消費組會將檢測點(check-point)保存在服務器端,當一個消費者停止,另外一個消費者將自動接管并從斷點繼續消費。 可以在不同機器上啟動消費者,這樣當一臺機器停止或者損壞的清下,其他機器上的消費者可以自動接管并從斷點進行消費。 理論上,為了備用,也可以啟動大于shard數量的消費者。 其他 限制與約束 每一個日志庫(logstore)最多可以配置10個消費組,如果遇到錯誤 ConsumerGroupQuotaExceed 則表示遇到限制,建議在控制臺端刪除一些不用的消費組。 監測 在控制臺查看消費組狀態 通過云監控查看消費組延遲,并配置報警 Https 如果服務入口(endpoint)配置為 https:// 前綴,如 https://cn-beijing.log.aliyuncs.com ,程序與SLS的連接將自動使用HTTPS加密。 服務器證書 *.aliyuncs.com 是GlobalSign簽發,默認大多數Linux/Windows的機器會自動信任此證書。如果某些特殊情況,機器不信任此證書,可以參考 這里 下載并安裝此證書。 更多案例 日志服務Python消費組實戰(一): 日志服務與SIEM(如Splunk)集成實戰 日志服務Python消費組實戰(二): 實時日志分發 日志服務Python消費組實戰(三): 實時跨域監測多日志庫數據 本文Github樣例 作者: 成喆 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2019-01-21 14:43:00
本文由云+社區發表 作者:顏國平 摘要:最近幾年,電商行業飛速發展,各種創業公司猶如雨后春筍大量涌現,商家通過各種活動形式的補貼來獲取用戶、培養用戶的消費習慣,即將到來的“ 購物狂歡節”尤其明顯。但任何一件事情都具有兩面性,高額的補貼、優惠同時了也催生了“羊毛黨”?!把蛎h”的行為距離欺詐只有一步之遙,他們的存在嚴重破環了活動的目的,侵占了活動的資源,使得正常的用戶享受不到活動的直接好處。這篇文章主要分享下騰訊自己是如何通過大數據、用戶畫像、建模來防止被刷、惡意撞庫的。 黑產“羊毛黨”現狀介紹 “羊毛黨”一般先利用自動機注冊大量的目標網站賬號,當目標網站搞促銷、優惠等活動的時候,利用這些賬號參與活動刷取較多的優惠,最后通過某寶等電商平臺轉賣獲益。 一.“羊毛黨”分工 據初步估計,全國“羊毛黨”在20萬人左右,他們往往有著明確的分工,已形成了幾大團伙: 1.軟件制作團伙:專門制作各種自動、半自動的黑產工具,比如注冊自動機、刷單自動機等;他們主要靠出售各種黑產工具、提供升級服務等形式來獲利。 2.短信代接平臺:實現手機短信的自動收發。這其中,有一些短信平臺是亦正亦邪,不但提供給正常的商家使用,一些黑產也會購買相關的服務。 3.賬號出售團伙:他們主要是大量注冊各種賬號,通過轉賣賬號來獲利;該團伙與刷單團伙往往屬于同一團伙。 4.刷單團伙:到各種電商平臺刷單,獲取優惠,并且通過第三方的電商平臺出售優惠,實現套xian。 也就是說,這些“羊毛黨“在電商促銷或優惠活動中,已逐步形成了相對完善的刷單及變現工作流程(見圖1:電商刷單團伙工作流程): 圖1:電商刷單團隊的工作流程 二.“羊毛黨”從業特點 從“羊毛黨“的分工與工作流程看,他們具有以下從業特點: 1.專業化:有專業團隊、人員、機器來做。 2.團伙化:已經形成一定規模的團伙,而且分工明確;從刷單軟件制作、短信代收發平臺、電商刷單到變賣套xian等環節,已經形成完整的刷單團伙。 3.地域化:刷單黑產團伙基本分布在沿海的一些經濟發達城市,比如,北京、上海、廣東等城市,這或許跟發達城市更加容易接觸到新事物、新觀念有關。 下圖2顯示了我們TOP5的黑產刷單團伙分別位于:北京、上海、廣州、江蘇、浙江這些沿海較發達的經濟區域。 圖2 TOP5黑產刷單團伙的地域分布 三.對抗刷單的思路 面對黑產刷單,我們有什么對抗思路呢?一般來講,對抗刷單主要從注冊、登陸、活動三個環節入手: 1.**注冊環節:**識別虛假注冊、減少“羊毛黨”能夠使用的賬號量。在注冊環節識別虛假注冊的賬號,并進行攔截和打擊。 2.**登錄場景:**提高虛假賬號登錄門檻,從而減少能夠到達活動環節的虛假賬號量。比如,登錄環節通過驗證碼、短信驗證碼等手段來降低自動機的登錄效率,從而達到減少虛假賬號登錄量、減輕活動現場安全壓力的目的。 3.**活動環節:**這個是防刷單對抗的主戰場,也是減少“羊毛黨”獲利的直接戰場;這里的對抗措施,一般有兩個方面: 1)通過驗證碼(短信、語音)降低黑產刷單的效率。?2)大幅度降低異常賬號的優惠力度。 電商防刷架構 一. 騰訊防刷總體架構 面對瘋狂的黑產刷單,按照對抗刷單的思路,基于騰訊的多維度大數據,騰訊專門設計并構建了電商防刷技術體系??傮w防刷架構見下圖3: 圖3:騰訊防刷單技術架構 從上面的總體架構我們可以看到,整個系統分三層:接入層、實時計算層、存儲&挖掘層。整個系統充分利用了騰訊海量業務生態中的多維度大數據,以及全方位的風控經驗與能力。接下來我們詳細介紹其中的一些核心模塊。 二.防刷單技術架構核心模塊與框架介紹 1.風險學習引擎 對于風險學習引擎而言,效率問題非常關鍵。該模塊線上采用的都是C++實現的DBScan等針對大數據的快速聚類算法,性能卓越;而且主要的工作都是線下進行,所以線上系統也不存在學習的效率問題。 風險學習引擎采用了黑/白雙分類器風險判定機制,可以很好地減少對正常用戶的誤傷。例如,某個IP是惡意的IP,那么該IP上可能會有一些正常的用戶,比如大網關IP。再比如,黑產通過ADSL撥號上網,那么就會造成惡意與正常用戶共用一個IP的情況。 其中,黑分類器風險判定是根據特征、機器學習算法、規則/經驗模型,來判斷本次請求異常的概率。而白分類器風險判定則是判斷屬于正常請求的概率。見下圖4示意: 圖4 風險引擎的宏觀構成 2.分類器邏輯框架 如何實現風險評估的判定呢?我們以黑分類器為例,來詳細剖析下分類器的邏輯框架。 系統總體是采用一種矩陣式的邏輯框架。 黑分類器最初設計是整體檢測判定,即按需隨意地建立一個個針對黑產的檢測規則、模型。但這種設計出來的結果,發現不是這個邏輯漏過了,而是那個邏輯誤傷量大,要對某一類的賬號加強安全打擊力度,改動起來也非常麻煩。 因此,我們最終設計出一套矩陣式的框架(見下圖5),較好地解決上述問題。 圖5 黑分類器的矩陣邏輯框架 矩陣的橫向采用了Adaboost方法,該方法是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的弱分類器,然后把這些分類器集合起來,構成一個最終的分類器。而我們這里每一個弱分類器都只能解決一種帳號類型的安全風險判斷,集中起來才能解決所有賬戶的風險檢測。 這個矩陣邏輯的橫向方法,在工程實現上也帶來三個好處: 1.便于實現輕重分離。比如某平臺虛假賬號集中在郵箱賬號,策略就可以加大對郵箱賬號的打擊力度,影響范圍也局限在郵箱帳號,而不是該平臺所有的賬號。 2.減少模型訓練的難度。模型訓練最大的難度在于樣本的均衡性問題,拆分成子問題,就不需要考慮不同賬號類型之間的數據配比、均衡性問題,大大降低了模型訓練時正負樣本比率的問題。 3.邏輯的健壯性。某一個分類器的訓練出現了問題,受影響的范圍不至于擴展到全局。 矩陣縱向則采用了Bagging方法,該方法是一種用來提高學習算法準確度的方法。它在同一個訓練集合上構造預測函數系列,然后設法將他們組合成一個預測函數,從而來提高預測結果的準確性。 騰訊大數據處理平臺-魔方 毫無疑問,對抗黑產刷單離不開大數據。大數據一直在安全對抗領域發揮著重要的作用,從我們的對抗經驗來看,大數據不僅僅是數據規模很大,而且還包括兩個方面: 1.數據廣度:要有豐富的數據類型。比如,不僅僅要有社交領域的數據、還要有游戲、支付、自媒體等領域的數據,這樣就提供了一個廣闊的視野讓我們來看待黑產的行為特點。 2.數據深度:黑產的對抗,我們一直強調縱深防御。不僅僅要有注冊數據,還要有登錄,以及賬號的使用的數據,這樣我們才能更好的識別惡意。 所以想要做風控和大數據的團隊,一定要注意在自己的產品上多埋點,拿到足夠多的數據,先沉淀下來。 騰訊安全團隊研發了一個叫魔方的大數據處理和分析的平臺,底層集成了MySQL、MongoDB,Spark、Hadoop等技術,在用戶層面我們只需要寫一些簡單的SQL語句、完成一些配置就可以實現例行分析。 這里我們收集了社交、電商、支付、游戲等場景的數據,針對這些數據我們建立一些模型,發現哪些是惡意的數據,并且將數據沉淀下來。 沉淀下來的對安全有意義的數據,一方面就存儲在魔方平臺上,供線下審計做模型使用;另一方面會做成實時的服務,提供給線上的系統查詢使用。 一.騰訊用戶畫像沉淀方法 用戶畫像,本質上就是給賬號、設備等打標簽。但我們這里主要從安全的角度出發來打標簽,比如IP畫像,我們會標注IP是不是代理IP,這些對我們做策略是有幫助的。 我們看看騰訊的IP畫像,目前沉淀的邏輯如下圖6: 圖6 IP畫像系統構成 一般的業務都有針對IP的頻率、次數限制的策略,那么黑產為了對抗,必然會大量采用代理IP來繞過限制。既然代理IP的識別如此重要,那我們就以代理IP為例來談下騰訊識別代理IP的過程。 識別一個IP是不是代理IP,技術不外乎就是如下四種: 1.反向探測技術:掃描IP是不是開通了80,8080等代理服務器經常開通的端口,顯然一個普通的用戶IP不太可能開通如上的端口。 2.HTTP頭部的X_Forwarded_For:開通了HTTP代理的IP可以通過此法來識別是不是代理IP;如果帶有XFF信息,該IP是代理IP無疑。 3.Keep-alive報文:如果帶有Proxy-Connection的Keep-alive報文,該IP毫無疑問是代理IP。 4.查看IP上端口:如果一個IP有的端口大于10000,那么該IP大多也存在問題,普通的家庭IP開這么大的端口幾乎是不可能的。 以上代理IP檢測的方法幾乎都是公開的,但是盲目去掃描全網的IP,被攔截不說,效率也是一個很大的問題。 因此,我們的除了利用網絡爬蟲爬取代理IP外,還利用如下辦法來加快代理IP的收集:通過業務建模,收集惡意IP(黑產使用代理IP的可能性比較大)然后再通過協議掃描的方式來判斷這些IP是不是代理IP。每天騰訊都能發現千萬級別的惡意IP,其中大部分還是代理IP。 二.騰訊用戶畫像類別概覽 騰訊用戶畫像的維度與類別很多,這里僅舉部分用戶畫像數據來說明。比如用戶畫像其中有手機畫像和QQ畫像這兩個重要類別。涉及畫像的標簽見下圖7: 以QQ的畫像為例,比如,一個QQ只登錄IM、不登錄其他騰訊的業務、不聊天、頻繁的加好友、被好友刪除、QQ空間要么沒開通、要么開通了QQ空間但是評論多但回復少,這種號碼我們一般會標注QQ養號(色情、營銷),類似的我們也會給QQ打上其他標簽。 標簽的類別和明細,需要做風控的人自己去設定,比如:地理位置,按省份標記。性別,按男女標記。其他細致規則以此規律自己去設定。 三. 風險判定的基礎邏輯 有了用戶畫像的基礎數據,我們就可以進行風險判定了。騰訊風險判定的系統現已開放為騰訊云的能力,即天御系統。我們來看一下風險判定的基礎邏輯,見下圖8: 圖8 騰訊云天御系統防御邏輯示意圖 實時防御系統使用C/C++開發實現,所有的數據通過共享內存的方式進行存儲,相比其他的系統,安全系統更有他自己特殊的情況,因此這里我們可以使用“有損”的思路來實現,大大降低了開發成本和難度。 但這里在安全策略方面,可能會面臨一個挑戰:多臺機器,使用共享內存,如何保障數據一致性?其實,安全策略不需要做到強數據一致性。 從安全本身的角度看,風險本身就是一個概率值,不確定,所以有一點數據不一致,不影響全局。但是安全系統也有自己的特點,安全系統一般突發流量比較大,我們這里就需要設置各種應急開關,而且需要微信號、短信等方式方便快速切換,避免將影響擴散到后端系統。 電商企業接入天御系統,啟用帶防刷能力的業務架構 通過剖析騰訊對抗“羊毛黨”刷單的防刷系統技術架構與原理,我們了解到了天御系統可以幫助咱們電商企業在促銷、優惠活動時,有效打擊黑產刷單團伙。特別是馬上到來的雙十一“購物狂歡節”,該系統將讓廣大電商企業更好地服務用戶,真正為用戶帶來貼心的實惠與好處。 天御系統可適應的場景包括但不限于: 電商o2o刷單、刷券、刷紅包 防止虛假賬號注冊 防止用戶名、密碼被撞庫 防止惡意登錄 那么如何接入并使用天御系統呢?其實,電商企業接入天御系統僅需要四步,見下圖9: 其中:第一步離線數據分析與第二步搭建實時模型為前期的準備工作,第三步正式接入其實并不耗費多少時間,不過第四步上線后,還需要持續的優化,以進一步提高對抗的能力。 圖9 企業接入天御系統步驟 業務接入天御系統后的架構圖,見下圖10: 圖10 業務接入天御防刷后的架構圖 從上圖可以看到,接入天御防刷是旁路接入,不需要調整現有業務任何核心邏輯、關鍵流程,可以快速上線。另外,運行過程中,即使天御防刷有任何異常也不會影響業務主邏輯。 Q&A Q:風險學習引擎是自研的,還是使用的開源庫? 風險學習引擎包括兩個部分,線上和線下兩部分: 線上:自己利用c/c++來實現。 線下:涉及利用python開源庫來做的,主要是一些通用算法的訓練和調優。 Q:請問魔方平臺中用到的MongDB是不是經過改造?因為MongDB一直不被看好,出現問題也比較多。 我們做了部分改造,主要是DB的引擎方面。 Q:請問黑分類器和白分類器有什么區別? 白分類器主要用來識別正常用戶,黑分類器識別虛假用戶。 Q:風險概率的權重指標是如何考慮的? 先通過正負樣本進行訓練,并且做參數顯著性檢查;然后,人工會抽查一些參數的權重,看看跟經驗是否相符。 Q:安全跟風控職責如何區分呢? 相比安全,風控的外延更豐富,更注重宏觀全局;針對一個公司來講,風控是包括安全、法務、公關、媒體、客服等在內一整套應急處理預案。 Q:如果識別錯了,誤傷了正常用戶會造成什么后果么?比如影響單次操作還是會一直失敗。 如果識別錯了正常用戶不會被誤傷,但是會導致體驗多加了一個環節,如彈出驗證碼、或者人工客服核對等。 作者:顏國平,原騰訊云-天御系統研發負責人。一直負責騰訊自有驗證碼、業務安全、防刷、賬號安全等研發工作。內部支持的產品(游戲、電商、騰訊投資的O2O企業)非常廣泛。在業務安全領域項目經驗豐富,并且具備深度學習、大數據架構搭建等實戰經驗。 此文已由騰訊云+社區在各渠道發布 獲取更多新鮮技術干貨,可以關注我們 騰訊云技術社區-云加社區官方號及知乎機構號
來源:OSCHINA
發布時間:2019-01-21 11:54:00
Series基本功能: axes 返回行軸標簽列表。 dtype 返回對象的數據類型(dtype)。 empty 如果系列為空,則返回True。 ndim 返回底層數據的維數,默認定義:1。 size 返回基礎數據中的元素數。 values 將系列作為ndarray返回。 head() 返回前n行。 tail() 返回最后n行。 DataFrame基本功能 T 轉置行和列。 axes 返回一個列,行軸標簽和列軸標簽作為唯一的成員。 dtypes 返回此對象中的數據類型(dtypes)。 empty 如果NDFrame完全為空[無項目],則返回為True; 如果任何軸的長度為0。 ndim 軸/數組維度大小。 shape 返回表示DataFrame的維度的元組。 size NDFrame中的元素數。 values NDFrame的Numpy表示。 head()返回開頭前n行。 tail()返回最后n行。 T(轉置) 返回DataFrame的轉置。行和列將交換。 實例: import pandas as pd import numpy as np # Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # Create a DataFrame df = pd.DataFrame(d) print ("The transpose of the data series is:") print df.T 執行上面示例代碼,得到以下結果 - The transpose of the data series is: 0 1 2 3 4 5 6 Age 25 26 25 23 30 29 23 Name Tom James Ricky Vin Steve Minsu Jack Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8 axes 返回行軸標簽和列軸標簽列表 實例1: #Create a series with 100 random numbers s = pd.Series(np.random.randn(4)) print ("The axes are:") print s.axes 執行上面示例代碼,得到以下輸出結果 - The axes are: [RangeIndex(start=0, stop=4, step=1)] 實例2: #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Row axis labels and column axis labels are:") print df.axes 執行上面示例代碼,得到以下結果 - Row axis labels and column axis labels are: [RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'], dtype='object')] dtypes 返回每列的數據類型 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("The data types of each column are:") print df.dtypes 執行上面示例代碼,得到以下結果 - The data types of each column are: Age int64 Name object Rating float64 dtype: object empty 返回布爾值,表示對象是否為空; 返回True表示對象為空。 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Is the object empty?") print df.empty 執行上面示例代碼,得到以下結果 - Is the object empty? False ndim 返回對象的維數。 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Our object is:") print df print ("The dimension of the object is:") print df.ndim 執行上面示例代碼,得到以下結果 - Our object is: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Minsu 4.60 6 23 Jack 3.80 The dimension of the object is: 2 shape 其中a表示行數,b表示列數。 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Our object is:") print df print ("The shape of the object is:") print df.shape 執行上面示例代碼,得到以下結果 - Our object is: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Minsu 4.60 6 23 Jack 3.80 The shape of the object is: (7, 3) size 返回元素數。 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Our object is:") print df print ("The total number of elements in our object is:") print df.size 執行上面示例代碼,得到以下結果 - Our object is: Age Name Rating 0 25 Tom 4.23 1 26 James 3.24 2 25 Ricky 3.98 3 23 Vin 2.56 4 30 Steve 3.20 5 29 Minsu 4.60 6 23 Jack 3.80 The total number of elements in our object is: 21 values 以數組形式返回實際數據值。 實例1: 以數組形式返回系列中的實際數據值。 #Create a series with 4 random numbers s = pd.Series(np.random.randn(4)) print ("The actual data series is:") print s.values 執行上面示例代碼,得到以下結果 - The actual data series is: [ 1.78737302 -0.60515881 0.18047664 -0.1409218 ] 實例2: 將DataFrame中的實際數據作為NDarray返回 #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("The actual data in our data frame is:") print df.values 執行上面示例代碼,得到以下結果 - The actual data in our data frame is: [[25 'Tom' 4.23] [26 'James' 3.24] [25 'Ricky' 3.98] [23 'Vin' 2.56] [30 'Steve' 3.2] [29 'Minsu' 4.6] [23 'Jack' 3.8]] head()和tail() 要查看DataFrame對象的小樣本,可使用head()和tail()方法。head()返回前n行(觀察索引值)。顯示元素的默認數量為5,但可以傳遞自定義數字值。tail()返回最后n行(觀察索引值)。顯示元素的默認數量為5. 實例: #Create a Dictionary of series d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Minsu','Jack']), 'Age':pd.Series([25,26,25,23,30,29,23]), 'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} #Create a DataFrame df = pd.DataFrame(d) print ("Our data frame is:") print (df) print ("The first two rows of the data frame is:") print (df.head(2)) print ("The last two rows of the data frame is:") print (df.tail(2)) 輸出: Our data frame is: Name Age Rating 0 Tom 25 4.23 1 James 26 3.24 2 Ricky 25 3.98 3 Vin 23 2.56 4 Steve 30 3.20 5 Minsu 29 4.60 6 Jack 23 3.80 The first two rows of the data frame is: Name Age Rating 0 Tom 25 4.23 1 James 26 3.24 The last two rows of the data frame is: Name Age Rating 5 Minsu 29 4.6 6 Jack 23 3.8
來源:OSCHINA
發布時間:2020-03-28 13:48:00
在媒體行業的轉型升級中,云計算的出現多維度促進了媒體融合,打破傳統媒體行業與新媒體的界限和競爭格局,在媒體素材管理、移動端功能演進的過程中扮演著重要角色,顛覆了傳統媒體新聞采編、發布及傳播的方式。 七牛云平臺可全方位為媒體行業賦能,比如: · 海量數據的存儲承載 · 視頻結構化技術支持 · 直播與點播功能助力 · 人工智能的創新應用 傳統媒體在移動互聯網的沖擊挑戰下紛紛轉型升級,開始打造移動新媒體平臺,以此不斷擴展業務范圍。其中,中國網作為媒體代表,推出了以中國網客戶端為核心的多語種移動產品矩陣和中國網直播等品牌欄目,自 2016 年起,就選擇與七牛云達成深度合作,借力云端實現升級轉型。 媒體平臺的云上升級之路 中國網是國務院新聞辦公室領導的重點新聞網站,是國家重大活動、各大部委新聞發布會、全國「兩會」新聞中心指定的網絡報道和直播媒體。自成立以來,逐步實現了利用近 10 個語種、 11 個文版,24 小時對外發布信息,訪問用戶覆蓋全球 200 多個國家和地區。 截至 2018 年,中國網的移動用戶體量突破千萬,日活 800 萬+,每日輸出稿件達 15000 篇。日益增長的用戶數量和業務的拓展,使得傳統 IT 架構很難適應目前業務的快速發展。利用豐富、靈活、可擴展、安全可靠的服務資源來更好地滿足業務快速增長的需求,是中國網轉型升級迫在眉睫的選擇。 計算、存儲高可靠,業務響應無延遲 作為了解中國的門戶,中國網需不間斷對外發布多語言、多版本的新聞資訊,隨著業務的發展,這對于服務器的壓力愈發增大,龐大的資料和媒體素材也需要大量的存儲空間。當重大事件發生后,海量用戶的同步訪問對于運維的挑戰也逐步升級。如何在成本可控的范圍內,提高供稿效率,提升海內外用戶訪問中國網供稿服務站的速度,是中國網業務發展所遇到的技術難題。 中國網選擇使用七牛云主機與云數據庫服務部署各項后端服務,保障其業務穩定、安全、可靠運行。七牛云主機利用虛擬化的方式,為中國網提供了可靈活擴展的計算資源,縮短業務部署上線以及擴展升級的周期,并大大降低運維成本。同時,中國網將移動端數據存儲至七牛云,用戶訪問速度,媒體素材加載速度獲得大幅提升。在新聞內容不斷拓展的基礎上,保障了數據安全性與業務的穩定不間斷,大大增強了中國網的品牌競爭力及國際化的傳播能力。 手機直播大事件,新聞現場不缺席 新聞傳播不限于以圖配文的傳統稿件形式,在直播風口上,將重大新聞事件以視頻形式實時直播,從而做到更高效快速地觸達更多人群,讓用戶真正所見即所得。中國網在 2016 年,借力七牛云提供的直播云服務,成為中國最大的政務直播平臺。 七牛云直播云服務基于強大的全球化流網絡,打造了端到端直播解決方案,提供低延遲、穩定流暢、高可用的一站式直播云服務。直播 SDK 接入,使得駐外記者可以在任何時間、任何地點,快速、靈活地進行新媒體直播,大大提高新聞傳播的時效性。同時,七牛云全網融合 CDN 節點實現了穩定的同步直播、同步互動,極大優化了海內外用戶觀看直播的體驗。 媒體行業新實踐,AI 蘊藏大能量 除了移動端接入、直播功能拓展之外,基于用戶個性化需求而產生的推薦閱讀正逐漸成為媒體平臺獨特的競爭優勢,只有通過對存儲數據進行大數據及 AI 分析,才能從海量信息中找到真正的滿足用戶個性化需求的內容,對此中國網也進行了大量的嘗試與探索。 在 2018 年兩會期間,中國網曾與七牛云進行合作,根據用戶特征研究樣本信息,推送個性內容。在云存儲與大數據相結合的基礎上,將 AI 技術創新運用于新聞之中,推出「刷臉看新聞」這款產品,用戶通過七牛云 AI 人臉識別,掃描分析用戶特征,為其推送具有匹配度的文章,擴寬了新聞閱讀的方式,增強了用戶體驗感。此款「刷臉看新聞」產品,日后也有望在中國網客戶端上線。 中國網堅持以新聞為前導,以國情為基礎,通過精心整合即時新聞和獨家的深度報道,以多語種、多媒體形式,向世界及時全面地介紹中國,其業務的有序運作背后離不開七牛云的技術支持。云計算正在為媒體平臺提供技術賦能,七牛云愿與媒體行業攜手,通過成熟、先進、可靠的云+智能技術,共同推進媒體融合升級轉型,探索前沿技術在新媒體傳播中的實踐和應用。
來源:OSCHINA
發布時間:2019-01-21 10:49:00
ZStack的 系統測試 系統在真實的硬件環境中運行測試用例;像集成測試一樣,這個系統測試也是全自動的,而且覆蓋的層面包括:功能性測試、壓力測試、性能測試。 概述 雖然集成測試系統,如我們在ZStack—自動化測試系統1:集成測試中所介紹的,強大到可以暴露開發過程中大多數的缺陷,也是有著固有的弱點的。首先,由于測試用例使用模擬器,它們不能測試真實場景,比如在一個物理的KVM主機上創建一個VM。第二,集成測試用例主要關注一個簡單的場景,在一個簡單的人造的環境中;舉個例子,還是創建VM的這個用例,它可能只部署一個最小的環境,包括一個主機和一個L3網絡,僅僅用于滿足創建一個VM的需求。這些弱點,然而也是深思熟慮過的,因為我們想要開發人員能夠在他們開發新特性時快速和容易地寫測試用例,這是一個我們必須采取的權衡。 系統測試,目標在于測試整個軟件,在一個真實的、復雜的環境中,很自然地補充集成測試。ZStack的系統測試系統被設計用于以下兩個目標: 復雜的場景:這些場景應該比真實世界的使用場景更復雜,以測試軟件的極限。舉個例子,掛載和卸載磁盤的測試用例應該持續地、重復地對虛擬機執行,以一種非???,人類無法手動做到的方式。 易于編寫和維護測試用例:就像集成測試系統,系統測試系統接管了大多數無聊重復的任務,讓測試人員有效率地寫測試用例。 這個系統測試系統是一個Python項目,命名為zstack-woodpecker,由以下三個部分組成: 測試框架:一個測試框架,管理所有的測試用例,以及提供必須的庫和工具。 環境部署工具:一個工具,用于從XML配置文件部署一個環境;它非常類似于集成測試系統的部署器。 模塊化測試用例:測試用例是高度模塊化的,而且覆蓋了:功能測試、性能測試和壓力測試。 系統測試 zstack-woodpecker完全由我們自己創建;在決定重新造這個輪子之前,我們試過了流行的Python測試框架,像nose,然后最終選擇了創造一個新的工具,用以最大化地滿足我們的目標。 套件配置 類似所有的其他測試框架,一個zstack-woodpecker中的測試套件是以suite setup開始,以suite teardown結束,在其中有一些測試用例。這里的suite setup和suite teardown是兩個特殊的測試用例,suite setup負責準備后續的測試用例所需的環境,suite teardown負責在所有測試用例結束之后清理這個環境。一個典型的測試套件配置文件看起來像: 敏銳的讀者可能會注意到一些參數是在其他的測試框架中看不到的。 第一個是timeout;每一個測試用例可以定義自己的超時時間,如果在這段時間內不能完成,它將被在最終的結果里被標記成超時。 第二個是repeat,允許你在測試套件中指定這個用例應該被執行多少次。 第三個,也是殺手級的參數是parallel,允許測試人員設定這個套件的并行級別;這是一個使得zstack-woodpecker運行測試用例非??斓年P鍵特性;在上面這個例子中,parallel被設置成8,這意味著將有至多8個用例在同時運行;這不只是加速運行測試用例,也創造了一個復雜的場景,模擬許多用戶在共享同一個環境時執行不同的任務。然而,不是所有的用例都可以被同時執行;在我們的例子中,用例test_delete_l2.py將會刪除被其他用例依賴的L2網絡,所以在其他用例執行時,它不能被執行;這就是第四個參數noparallel發揮作用的地方;一旦它被設置成true,這個用例將會單獨被執行,不會有其他用例可以同時運行。 命令行工具 zstest.py是一個命令行工具,用于幫助測試人員控制測試框架,執行任務,像啟動測試套件,列出測試用例,等等。zstest.py提供了豐富的選項幫助測試人員簡化他們的工作。這些選項中的一些,用于在我們的日常測試中,特別有用,列在了下面。 測試人員可以通過選項-l獲取可用的測試用例,例如:./zstest.py -l 它將會展示如下的結果: 測試套件名,是測試用例的第一級文件夾的名稱;例如,在上圖中你看到了大量的用例以basic開頭(例如:basic/test_reboot_vm.py),是的,basic就是這個測試套件的名字。測試人員可以通過選項-s啟動一個套件,使用套件名的全稱或者部分都行,只要它是獨一無二的,例如:./zstest.py -s basic 或 ./zstest.py -s ba 測試人員也可以選擇性地執行測試用例,通過使用它們的名字或者ID,已經選項-c;例如:./zstest.py -c 1,6 或 ./zstest.py -c suite_setup,test_add_volume.py 記住,你需要運行suite setup的用例:suite_setup.py作為第一個用例,除非你已經這么做了。 由于一個測試套件將會執行所有的測試用例,清理環境,發出一個結果報告,測試人員有時可能想要停止測試套件,并在一個用例失敗時保持環境,這樣他們就可以深入查看失敗結果并調試;選項-n和-S就是為此準備的;-n指示測試框架不要清理環境,-S要求跳過沒有被執行的用例;例如:./zstest.py -s virtualrouter -n -S 另外,選項-b可以拉取最新的源代碼并構建一個全新的zstack.war,這在Nightly測試中特別有用,這種測試被假定為測試最新的代碼:./zstest.py -s virtualrouter -b 一旦所有的測試用例完成,一個報告將會被生成并被打印到屏幕上: 測試框架將會保存所有的日志,并直接輸出每一個失敗日志的絕對路徑,如果存在的話。為了在一般的日志中記錄更多的細節,有一種特殊的日志action log,用于記錄每一個API調用;因為這是一個完全純粹關于API的日志,我們可以容易地找到一個失敗的根本來源,而不用被測試框架的日志分散注意力。另外,它是一種重要的工具,可以自動地生成一個新的用例用于重現失敗,這是一個我們所使用的魔法武器,用于在基于模型的測試(每個用例都隨機地執行各種API)中調試失敗。你可以在ZStack--自動化測試系統3:基于模型的測試中找到細節。Action log的片段如下: 環境部署工具 類似于集成測試,對每一個測試用例來說,準備環境是頻繁且重復的任務;例如,用于測試創建虛擬機的用例需要去配置獨立的資源,像zone,cluster,host等等。Zstack-woodpecker調用zstack-cli,這個ZStack的命令行工具去從一個XML配置文件部署測試環境。例如:zstack-cli -d zstack-env.xml 這里的XML配置文件的格式類似于集成測試所用的,一個片段看起來像這樣: 部署工具通常在運行任何用例前被suite setup調用,測試人員可以在XML配置文件中通過以$符號開頭來定義變量,然后在一個獨立的配置文件中解析。通過這種方式,這個XML配置文件像模板一個工作,可以產生不同的環境。配置文件的例子如下: 注意:正如你可能會猜測的,這個工具可以被管理員用于從一個XML配置文件部署一個云環境;更進一步,管理員們做相反的事情,將一個云環境寫入到一個XML配置文件,通過zstack-cli -D xml-file-name. 對于性能和壓力測試,環境通常需要大量的資源,例如100個zone,1000個cluster。為了避免手動在配置文件中重復1000行,我們引入了一個屬性duplication,用于幫助創建重復的資源。例如: 這段不翻譯了。 模塊化的測試用例 在系統測試中測試用例可以被高度模塊化。每一個用例本質上執行以下三步: 創建要被測試的資源 驗證結果 清理環境 Zstack-woodpecker 本身提供一個完整的庫用于幫助測試人員調度這些活動。API也很好地被封裝在一個,從zstack源代碼自動生成的庫中。測試人員不需要去寫任何的原生的API調用。檢查器,用于驗證測試結果,也已為每一個資源創建;例如,VM檢查器,云盤檢查器。測試人員可以很容易地調用這些檢查器去驗證他們創建的資源,而不需寫成頓成噸的代碼。如果當前檢查器不能滿足某些場景,測試人員也能創建自己的檢查器,并作為插件放入測試框架。 一段測試用例看起來像: 像集成測試一樣,測試人員可以僅以十幾行便寫出一個測試用例。模塊化不只是幫助簡化測試用例的編寫,也為基于模型的測試構建了一個堅實的基礎,下篇文章我們會詳細討論。 總結 在這篇文章中,我們引入了我們的系統測試系統。通過執行比現實世界的用例更復雜的測試,系統測試可以給我們更多的自信,關于ZStack在真實的硬件環境中的表現。使得我們可以快速進化成一個成熟的產品。
來源:OSCHINA
發布時間:2019-01-21 10:30:00
Pandas有兩種排序方式,它們分別是 - 按標簽 按實際值 按標簽排序 使用sort_index()方法,通過傳遞axis參數和排序順序,可以對Series, DataFrame進行排序。 默認情況下,按照升序對行標簽進行排序。 實例: df = pd.Series(['E','B','C']) print(df.sort_index(axis=0,ascending=False)) unsorted_df = pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns = ['col2','col1']) #按行排列 print (unsorted_df.sort_index(axis=0, ascending=False)) # 按列排列 print (unsorted_df.sort_index(axis=1, ascending=False)) 輸出: 2 C 1 B 0 E dtype: object col2 col1 9 -0.680375 0.450634 8 0.354761 -0.919791 7 0.539276 -0.416008 6 -0.067286 0.513746 5 -0.191821 -1.265648 4 -1.075135 0.717537 3 -0.436641 0.007743 2 1.002102 -1.133920 1 -0.193714 0.664201 0 -0.495355 -0.727960 col2 col1 1 -0.193714 0.664201 4 -1.075135 0.717537 6 -0.067286 0.513746 2 1.002102 -1.133920 3 -0.436641 0.007743 5 -0.191821 -1.265648 9 -0.680375 0.450634 8 0.354761 -0.919791 0 -0.495355 -0.727960 7 0.539276 -0.416008 按值排序 像索引排序一樣,sort_values()是按值排序的方法。它接受一個by參數,它將使用要與其排序值的DataFrame的列名稱。 實例: df = pd.Series(['E','B','C']) print(df.sort_values(axis=0,ascending=False)) unsorted_df = pd.DataFrame({'col1':[2,1,1,1],'col2':[1,3,2,4]}) print (unsorted_df.sort_values(by=['col1', 'col2'], ascending=False)) 輸出: 0 E 2 C 1 B dtype: object col1 col2 0 2 1 3 1 4 1 1 3 2 1 2 排序算法 sort_values()提供了從mergeesort,heapsort和quicksort中選擇算法的一個配置。Mergesort是唯一穩定的算法 方法 時間 工作空間 穩定性 速度 'quicksort'(快速排序) 'mergesort'(歸并排序) 'heapsort'(堆排序) O(n^2) O(n*log(n)) O(n*log(n)) 0 ~n/2 0 否 是 否 1 2 3 實例: import pandas as pd import numpy as np unsorted_df = pd.DataFrame({'col1':[2,1,1,1],'col2':[1,3,2,4]}) sorted_df = unsorted_df.sort_values(by='col1' ,kind='mergesort') print (sorted_df) 執行上面示例代碼,得到以下結果 - col1 col2 1 1 3 2 1 2 3 1 4 0 2 1
來源:OSCHINA
發布時間:2020-03-28 13:19:00
在上篇文章里,我們分享了CNCF為廣大Kubernetes用戶建議的9項Kubernetes安全最佳實踐,分享了用戶使用Kubernetes管理集群時的9個能進一步確保集群安全的基本操作。 上篇文章中的建議非常好,但不足之處在于它們都過于依賴GKE了。對于那些使用谷歌服務的用戶來說,GKE固然是一個很好的解決方案。然而,還有更多的人則是在亞馬遜、Azure、阿里云、華為云、DigitalOcean、甚至是他們自己的基礎設施上或其他他們任何想在的地方上運行著Kubernetes集群,那么此時,GKE相關的解決方案對他們而言并沒有太大幫助。 對于這些用戶而言,Rancher作為一個開源的解決方案,是一個很棒的選擇。 Rancher Labs對待安全問題十分嚴肅謹慎。Rancher Labs聯合創始人及首席架構師Darren Shepherd,是2018年年底Kuberntes 被爆出的首個嚴重安全漏洞(CVE-2018-1002105)的發現者。安全性不應該是事后的想法,也不應該是部署了不安全的集群之后才記得要去做的事。就像你建造房子時,不應該把所有物品都搬進去之后,才開始安裝門鎖。 在本文中,我將回顧上篇文章中CNCF提出的每個要點,并向您分析Rancher和RKE能如何在默認設置中滿足這些安全建議。 升級到最新版本 這是一個合理的建議,并且不僅適用于Kubernetes。因為未修補的程序常常是攻擊者的切入點。當某個安全漏洞出現、poc代碼公開可用時,Metasploit之類的工具套件很快就會在其標準套件中包含這些漏洞。此時,任何會從Internet復制和粘貼命令的人都可以控制您的系統。 使用Rancher Kubernetes Engine(RKE)時,無論是單獨使用還是和Rancher一起使用,您都可以選擇要安裝的Kubernetes版本。Rancher Labs使用原生上游Kubernetes,這使公司能夠快速響應安全警報,發布修復版本的軟件。因為RKE是在Docker容器中運行Kubernetes組件的。運維團隊可以對關鍵基礎架構進行零停機升級。 您可以通過Rancher的GitHub主頁、官網等各個渠道接收有關新版本發布的信息。我還強烈建議您在升級之前,先在staging環境中測試新版本。如果升級出錯,Rancher也可以輕松回滾到以前的版本。 啟用基于角色的訪問控制(RBAC) 安裝RKE后,RBAC會默認啟動。如果您只使用RKE或任何其他獨立的Kubernetes部署,則您需要負責配置帳戶、角色和綁定以保護您的集群。 如果您正在使用Rancher,它不僅會安裝安全集群,還會通過Rancher服務器,代理與這些集群的所有通信。Rancher可以插入許多后端身份驗證程序,例如Active Directory、LDAP、SAML、Github等。當以這種方式連接時,Rancher使您能夠將現有的企業身份驗證擴展到Rancher的保護傘下的所有Kubernetes集群,無論這些集群在哪里運行。 Rancher在全局、集群和項目級別啟用角色,使管理員可以在一個位置定義角色并將其應用于所有集群。這種RBAC-by-default和強大的身份驗證和授權控制的組合意味著從使用Rancher或RKE部署集群的那一刻起,集群就是安全的。 使用命名空間建立安全邊界 由于Kubernetes處理默認命名空間的特殊方式,我不建議您使用它。我建議您為每個應用程序創建一個命名空間,將它們定義為邏輯組。 Rancher定義了一個名為Project的附加抽象層。Project是命名空間的集合,可以在其上映射角色。用戶可能有權訪問某一Project,但他們無法看到任何他們無權訪問的Project中運行的任何工作負載,也無法與其進行交互。這樣一來,其實就是有效地創建了單集群多租戶。 使用Projects,管理員可以更輕松地授予對單個集群中多個命名空間的訪問權限。它最大限度地減少了重復配置以及人為錯誤。 將敏感工作負載彼此分開 這是一個很好的建議,因為它假定了一個問題,“如果工作負載受到損害會發生什么?”。提前采取行動可以減少破壞地范圍使攻擊者更難以升級權限,但也并不是完全不可能。所以這可能得花費您額外的時間處理。 Kubernetes允許您設置污點(taints)和容差(torlerations),從而控制可能部署Pod的位置。 Rancher還允許您通過Kubernetes標簽控制工作負載的調度。除了污點和容差之外,在部署工作負載時,您可以為主機設置 必須、應該或可以 具有的標簽,這些標簽會控制Pod的部署位置。 如果您的環境是靜態的,您還可以將工作負載安排到特定節點。 安全的云元數據訪問 該建議指出,敏感的元數據“有時可能被盜或被濫用”,但未能概述“何時”或“如何”的條件。上篇文章中提到了Shopify的賞金細節的泄露, 2018年12月13日的北美KubeCon上提到了這一事件。雖然上篇文章指出GKE具有“元數據隱藏”的功能,但值得注意的是,在最開始泄露憑據的服務,正是Google Cloud元數據API。 此外,沒有任何證據顯示任何其他云提供商存在相同的漏洞。 此漏洞可能存在的唯一位置是托管的Kubernetes服務,例如GKE。如果您直接或通過Rancher將RKE部署到裸機或云計算實例上,您將最終得到一個無法通過云提供商的元數據API泄露憑據的集群。 如果您正在使用GKE,我建議您激活此功能以防止任何憑據通過元數據服務泄漏。我還認為云提供商不應該將憑證嵌入到可通過API訪問的元數據中。即使這樣做是為了方便,但這是一種不必要的風險,可能會產生難以想象的后果。 創建和定義集群網絡策略 直接部署或由Rancher部署的RKE集群默認使用Canal,當然,您也可以選擇Calico或Flannel。Canal和Calico都支持網絡策略。當使用Canal作為網絡提供商時,Rancher部署的集群也支持Project網絡策略。激活后,工作負載可以與其項目中的其他工作負載通信,而系統項目(包括入口控制器等集群范圍的組件)可以與所有項目進行通信。 早期版本的Rancher默認啟用Project網絡策略,但這給一些不了解額外安全性的用戶造成了混亂。因此,為了給用戶提供最佳體驗,此功能現在默認情況下已關閉,但如果您想啟用,也可以在啟動后輕松激活。 運行集群范圍的Pod安全策略 Pod安全策略(PSP)控制Pod必須具有某些功能和配置才能在集群中運行。例如,您可以阻止特權模式、主機網絡或以root身份運行容器。通過Rancher或RKE安裝集群時,您可以選擇是否要默認啟用受限制的PSP。如果選擇啟用它,則您的集群將立即對工作負載權限強制實施強制限制。 受限制的和不受限制的PSP在RKE和Rancher中是相同的,因此它們在安裝時激活的內容是一樣的。Rancher允許無限數量的額外PSP模板,所有這些都可以在全局范圍內處理。管理員定義PSP,然后將它們應用于Rancher管理的每個集群。與前面討論的RBAC配置類似,它將安全配置保存在一個位置,并大大簡化了策略的配置和應用。 加強節點安全 這不是Kubernetes特定的建議,而是一個很好的普適策略。當要與您無法控制的流量進行交互時(例如,在Kubernetes中運行的應用程序的用戶點擊量),應該讓其在攻擊面較小的節點上運行。此外,禁用和卸載不需要的服務也是必要的。還有,應該通過SSH限制root訪問權限并需要sudo密碼加密。在SSH密鑰上使用密碼短語,或使用2FA、U2F密鑰或Krypton等服務將密鑰綁定到用戶擁有的設備。 以上這些是安全系統的基本標準配置示例。 除了受支持的Docker版本之外,Rancher在主機上不需要其他。并且,RKE只需要SSH訪問,它將在繼續安裝Kubernetes之前安裝Kubernetes支持的最新版本的Docker。 如果您想進一步減少攻擊面,可以了解一下RancherOS,這是一個輕量級Linux操作系統,可以將所有進程作為Docker容器運行。System Docker僅運行提供訪問所需的最少數量的進程,并在用戶空間中為實際工作負載運行Docker實例。 啟用審核日志(Audit Logging) Rancher服務器可在RKE集群內部運行,因此除了Kubernetes審核日志之外,激活對服務器本身的API調用的審核日志也很重要。此日志將顯示用戶對任何集群執行的所有操作,包括發生的事件、執行操作的人員、執行操作的時間以及執行操作的集群。從有問題的服務器發送這些日志也很重要。Rancher可以連接到Splunk、Elasticsearch、Fluentd、Kafka或任何系統日志端點,您可以從中生成可疑活動的儀表盤和警報。 有關為Rancher 服務器啟用審核日志的信息,請參閱我們的文檔。 ( https://rancher.com/docs/rancher/v2.x/en/admin-settings/api-audit-log/ ) 有關為RKE集群啟用審核日志的信息,請參閱下一節。 安全保障行動正在進行中 真正保護Kubernetes集群需要9項以上的操作,Rancher有一份安全強化指南( https://rancher.com/docs/rancher/v2.x/en/faq/security/ )和一份自我評估指南( https://releases.rancher.com/documents/security/latest/Rancher_Benchmark_Assessment.pdf ),涵蓋了CIS基準用于保護Kubernetes的100多種控制。 如果您十分在意安全性,那么Rancher、RKE以及RancherOS將會幫助您。
來源:OSCHINA
發布時間:2019-01-29 09:53:00
Pandas對象之間的基本迭代的行為取決于類型。當迭代一個系列時,它被視為數組式,基本迭代產生這些值。其他數據結構,如:DataFrame和Panel,遵循類似慣例迭代對象的鍵。 簡而言之,基本迭代(對于i在對象中)產生: Series - 值 DataFrame - 列標簽 Pannel - 項目標簽 迭代Series 迭代Series 的方法和python字典對象類似 實例: df = pd.Series(['A','B','C']) #遍歷series的值 for item in df: print(item) print('\n') #遍歷series的鍵 for item in df.keys(): print(item) print('\n') #遍歷series的鍵-值 for item, value in df.items(): print(item, value) print('\n') for item in df.items(): print(item) print('\n') for item in df.iteritems(): print(item) 輸出: A B C 0 1 2 0 A 1 B 2 C (0, 'A') (1, 'B') (2, 'C') (0, 'A') (1, 'B') (2, 'C') 迭代DataFrame 迭代DataFrame提供列名 實例: import pandas as pd import numpy as np N=20 df = pd.DataFrame({ 'A': pd.date_range(start='2016-01-01',periods=N,freq='D'), 'x': np.linspace(0,stop=N-1,num=N), 'y': np.random.rand(N), 'C': np.random.choice(['Low','Medium','High'],N).tolist(), 'D': np.random.normal(100, 10, size=(N)).tolist() }) for col in df: print (col) 執行上面示例代碼,得到以下結果 - A C D x y 要遍歷數據幀(DataFrame)中的行,可以使用以下函數 - iteritems() - 迭代(key,value)對 iterrows() - 將行迭代為(索引,系列)對 itertuples() - 以namedtuples的形式迭代行 iteritems() 將每個列作為鍵,將值與值作為鍵和列值迭代為Series對象。 實例: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns=['col1','col2','col3']) for key,value in df.iteritems(): print (key,value) 執行上面示例代碼,得到以下結果 - col1 0 0.802390 1 0.324060 2 0.256811 3 0.839186 Name: col1, dtype: float64 col2 0 1.624313 1 -1.033582 2 1.796663 3 1.856277 Name: col2, dtype: float64 col3 0 -0.022142 1 -0.230820 2 1.160691 3 -0.830279 Name: col3, dtype: float64 iterrows() iterrows()返回迭代器,產生每個索引值以及包含每行數據的序列。 實例: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3']) for row_index,row in df.iterrows(): print (row_index,row) 執行上面示例代碼,得到以下結果 - 0 col1 1.529759 col2 0.762811 col3 -0.634691 Name: 0, dtype: float64 1 col1 -0.944087 col2 1.420919 col3 -0.507895 Name: 1, dtype: float64 2 col1 -0.077287 col2 -0.858556 col3 -0.663385 Name: 2, dtype: float64 3 col1 -1.638578 col2 0.059866 col3 0.493482 Name: 3, dtype: float64 itertuples() itertuples()方法將為DataFrame中的每一行返回一個產生一個命名元組的迭代器。元組的第一個元素將是行的相應索引值,而剩余的值是行值。 示例: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3']) for row in df.itertuples(): print (row) 執行上面示例代碼,得到以下結果 - Pandas(Index=0, col1=1.5297586201375899, col2=0.76281127433814944, col3=- 0.6346908238310438) Pandas(Index=1, col1=-0.94408735763808649, col2=1.4209186418359423, col3=- 0.50789517967096232) Pandas(Index=2, col1=-0.07728664756791935, col2=-0.85855574139699076, col3=- 0.6633852507207626) Pandas(Index=3, col1=0.65734942534106289, col2=-0.95057710432604969, col3=0.80344487462316527) 注意 - 不要嘗試在迭代時修改任何對象。迭代是用于讀取,迭代器返回原始對象(視圖)的副本,因此更改將不會反映在原始對象上。 示例: import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3']) for index, row in df.iterrows(): row['a'] = 10 print (df) 執行上面示例代碼,得到以下結果 - col1 col2 col3 0 -1.739815 0.735595 -0.295589 1 0.635485 0.106803 1.527922 2 -0.939064 0.547095 0.038585 3 -1.016509 -0.116580 -0.523158
來源:OSCHINA
發布時間:2020-03-28 09:53:00
本文介紹Sidecar模式的特點,及其應用的場景。熟悉 Native Cloud 或者 微服務 的童鞋應該知道,在云環境下,技術??梢允嵌喾N多樣的。那么如何能夠將這些異構的服務組件串聯起來,成為了服務治理的一個重大課題。而Sidecar模式為服務治理,提供了一種解決方案。 將應用程序的組件部署到單獨的進程或容器中,以提供隔離和封裝。此模式還可以使應用程序由異構組件和技術組成。 這種模式被稱為Sidecar,因為它類似于連接到摩托車的邊車。在該模式中,邊車附加到父應用程序并為應用程序提供支持功能。 sidecar還與父應用程序共享相同的生命周期,與父項一起創建和退役。邊車圖案有時被稱為搭接圖案并且是分解圖案。 問題背景 應用程序和服務通常需要相關的功能,例如監控、日志、集中化配置和網絡服務等。這些外圍任務可以作為單獨的組件或服務來實現。 如果它們緊密集成到應用程序中,它們可以在與應用程序相同的進程中運行,從而有效地使用共享資源。但是,這也意味著它們沒有很好地隔離,并且其中一個組件的中斷可能會影響其他組件或整個應用程序。此外,它們通常需要使用與父應用程序相同的語言或者技術棧來實現。因此,組件和應用程序彼此之間具有密切的相互依賴性。 如果將應用程序分解為服務,則可以使用不同的語言和技術構建每個服務。雖然這提供了更大的靈活性,但這意味著每個組件都有自己的依賴關系,并且需要特定于語言的庫來訪問底層平臺以及與父應用程序共享的任何資源。此外,將這些功能部署為單獨的服務可能會增加應用程序的延遲。管理這些特定于語言的接口的代碼和依賴關系也會增加相當大的復雜性,尤其是對于托管、部署和管理服務。 解決方案 上述問題的解決方案是,將一組緊密結合的任務與主應用程序共同放在一臺主機(Host)中,但會將它們部署在各自的進程或容器中。這種方式也被稱為“Sidecar(邊車)模式”。 下圖展示了任務與主應用程序的部署關系圖。 Sidecar模式 邊車服務不一定是應用程序的一部分,而是與之相關聯。它適用于父應用程序的任何位置。Sidecar支持與主應用程序一起部署的進程或服務。這就像是如下圖所示的邊三輪摩托車那樣,將邊車安裝在一輛摩托車上,就變成了邊三輪摩托車。每輛邊三輪摩托車都有自己的邊車。類似同樣的方式,邊車服務共享其父應用程序的主機。對于應用程序的每個實例,邊車的實例被部署并與其一起托管。 使用邊車模式的優點包括: 在運行時環境和編程語言方面,邊車獨立于其主要應用程序,因此不需要為每種語言開發一個邊車。 邊車可以訪問與主應用程序相同的資源。例如,邊車可以監視邊車和主應用程序使用的系統資源。 由于它靠近主應用程序,因此在它們之間進行通信時沒有明顯的延遲。 即使對于不提供可擴展性機制的應用程序,也可以使用邊車通過將其作為自己的進程附加到與主應用程序相同的主機或子容器中來擴展功能。 Sidecar模式通常與容器一起使用,并稱為邊車容器。有關容器方面的內容,可以參閱 https://waylau.com/ahout-docker/ 。 Sidecar模式的實現 Spring Cloud Netflix Sidecar框架提供了Sidecar模式的現成解決方案。Spring Cloud Netflix Sidecar框架框架可以提供對其他非Spring Cloud技術棧的微服務的治理。比如,你可以使用Node或者Golang編寫一個Web項目,這個服務同樣可以以Sidecar模式,納入到Spring Cloud管理中去。 下面是實現步驟。 1. 為Web項目添加健康檢查接口 提供REST接口,返回JSON格式內容 {"status" : "up"} 。其中status用于描述微服務的狀態,常見的取值有UP、DOWN、OUT_OF_SERVICE和UNKNOWN等。 2. 編寫Sidecar微服務 創建項目,添加Eureka、Sidecar的依賴: org.springframework.cloud spring-cloud-netflix-sidecar org.springframework.cloud spring-cloud-starter-eureka 啟動類上加上@EnableSidecar注解。這是一個組合注解,它整合了三個注解,分別是@EnableCircuiBreaker和@EnableDiscoveryClient。 在配置文件中加入端口號、服務名稱、Eureka地址以及Web項目的端口以及健康檢查地址,如: server.port=8887 spring.application.name=sidecar-mylife-service eureka.client.serviceUrl.defaultZone=http://localhost:8881/eureka/ eureka.client.instance.prefer-ip-address=true sidecar.port=8080 sidecar.health-uri=http://localhost:8080/health eureka.instance.hostname=localhost 啟動項目,并訪問8887接口,就可以訪問到Web項目中的接口。 3. Sidecar的一些端點 以下是Sidecar的常用端點: /hosts/{serviceId} 指定微服務在Eureka上的實例列表 /ping 返回OK字符串 /{serviceId} 請求對應的微服務 4. 部署應用 將Sidecar與Web服進行部署。一般是部署在相同的主機里面。 有關Spring Cloud的更多內容,可以參閱 Spring Cloud 教程 。 參考引用 原文同步至 https://waylau.com/sidecar-pattern/ Spring Cloud 微服務架構開發實戰: https://github.com/waylau/spring-cloud-microservices-development Spring Boot 企業級應用開發實戰: https://github.com/waylau/spring-boot-enterprise-application-development https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar
來源:OSCHINA
發布時間:2019-01-28 23:55:00
1.只需要引入HBase的客戶端依賴即可。 org.apache.hbase hbase-client 1.2.1 2.HBaseUtils.java 工具類抽取 public class HBaseUtils { private static Configuration configuration; // 1.獲取配置對象 static { configuration = HBaseConfiguration.create(); configuration.set("hbase.zookeeper.quorum","hadoop1:2181,hadoop2:2181,hadoop3:2181"); } // 2.獲取連接對象 public static Admin getAdmin() throws IOException { Connection connection = ConnectionFactory.createConnection(configuration); Admin admin = connection.getAdmin(); return admin; } /*獲取table*/ public static Table getTable() throws IOException { return getTable("user_info"); } public static Table getTable(String tablename) throws IOException { Connection connection = ConnectionFactory.createConnection(configuration); return connection.getTable(TableName.valueOf(tablename)); } /*關閉table*/ public static void close(Table table) throws IOException { if (table != null){ table.close(); } } // 3.釋放admin public static void close(Admin admin) throws IOException { admin.close(); } public static void close(Admin admin,Table table) throws IOException { close(admin); close(table); } } 3.DDL 操作 public class TableDDL { private HBaseAdmin admin; @Before public void before() throws IOException { admin = (HBaseAdmin) HBaseUtils.getAdmin(); } /*創建表*/ @Test public void createTable() throws IOException { // 1.創建表描述器對象 HTableDescriptor ht = new HTableDescriptor(TableName.valueOf("user_info")); // 2.添加列簇 HColumnDescriptor familyColumn1 = new HColumnDescriptor("base_info"); HColumnDescriptor familyColumn2 = new HColumnDescriptor("extra_info"); ht.addFamily(familyColumn1); ht.addFamily(familyColumn2); admin.createTable(ht); } /*刪除表*/ @Test public void deleteTable() throws IOException { TableName tableName = TableName.valueOf("user_info"); HTableDescriptor user_info = new HTableDescriptor(tableName); if (!admin.isTableDisabled(tableName)){ admin.disableTable(tableName); } admin.deleteTable(tableName); } /*修改表*/ @Test public void modifyTable() throws IOException { TableName tableName = TableName.valueOf("user_info"); HTableDescriptor user_info = admin.getTableDescriptor(tableName); // 2.添加列簇 HColumnDescriptor familyColumn1 = new HColumnDescriptor("base_info2"); HColumnDescriptor familyColumn2 = new HColumnDescriptor("extra_info2"); user_info.addFamily(familyColumn1); user_info.addFamily(familyColumn2); admin.modifyTable(tableName,user_info); } /*查詢所有的列簇*/ @Test public void listAllFamily() throws IOException { //查詢所有的列簇 HTableDescriptor user_info = admin.getTableDescriptor(TableName.valueOf("user_info")); HColumnDescriptor[] columnFamilies = user_info.getColumnFamilies(); for (HColumnDescriptor ht : columnFamilies){ System.out.println(ht.getNameAsString()); } } /*刪除一個列簇*/ @Test public void removeFamily() throws IOException { TableName tableName = TableName.valueOf("user_info"); HTableDescriptor user_info = admin.getTableDescriptor(tableName); //刪除 //user_info.removeFamily(Bytes.toBytes("extra_info")); //提交修改 //admin.modifyTable(tableName,user_info); admin.deleteColumn(tableName,Bytes.toBytes("extra_info")); } @After public void after() throws IOException { HBaseUtils.close(admin); } } 4.DML 操作 public class TableDML { private Table table; @Before public void before() throws IOException { table = HBaseUtils.getTable(); } /*插入一條記錄 * put 'ns1:t1','r1','c1','value' * 批量插入的話,直接放入list集合即可 * */ @Test public void put() throws IOException { // 1.創建put對象 Put put = new Put(Bytes.toBytes("001")); //行建 // 2.添加列數據 put.addColumn(Bytes.toBytes("base_info"),Bytes.toBytes("name"),Bytes.toBytes("wang")); table.put(put); } /*查詢一條記錄*/ @Test public void get1() throws IOException { // 1.創建get對象 Get get = new Get(Bytes.toBytes("001")); Result result = table.get(get); NavigableMap base_info = result.getFamilyMap(Bytes.toBytes("base_info")); // 2.便利有序集合 Set> entries = base_info.entrySet(); for (Map.Entry entry : entries){ System.out.println(new String(entry.getKey() + "--->"+new String(entry.getValue()))); } } /*查詢一條記錄*/ @Test public void get2() throws IOException { // 1.創建get對象 Get get = new Get(Bytes.toBytes("001")); Result result = table.get(get); CellScanner cellScanner = result.cellScanner(); // 2.遍歷 while (cellScanner.advance()){ //當前的cell Cell cell = cellScanner.current(); System.out.println(new String(cell.getFamilyArray(),cell.getFamilyOffset(),cell.getFamilyLength()));//列簇 System.out.println(new String(cell.getQualifierArray(),cell.getQualifierOffset(),cell.getQualifierLength()));//列名 System.out.println(new String(cell.getValueArray(),cell.getValueOffset(),cell.getValueLength()));//列值 } } /*查詢一條記錄*/ @Test public void get3() throws IOException { // 1.創建get對象 Get get = new Get(Bytes.toBytes("001")); Result result = table.get(get); CellScanner cellScanner = result.cellScanner(); // 2.遍歷 while (cellScanner.advance()){ //當前的cell Cell cell = cellScanner.current(); System.out.println(new String(CellUtil.cloneRow(cell)));//行建 System.out.println(new String(CellUtil.cloneFamily(cell))); System.out.println(new String(CellUtil.cloneQualifier(cell))); System.out.println(new String(CellUtil.cloneValue(cell))); } } @After public void after() throws IOException { HBaseUtils.close(table); } }
來源:OSCHINA
發布時間:2020-03-27 18:24:00
基本介紹 網絡環境比較復雜、網速不穩定,Aliplayer提供了多分辨率播放的模式,用戶可以手工切換分辨率和播放器選擇最優分辨率,基本UI如下: Source模式 source的方式指定多個清晰度的地址,這個模式在直播場景下使用的比較多,阿里云直播服務可以提供多碼率的播放流地址,詳細請參考: 視頻直播轉碼 。Aliplayer提供了下面清晰度的對應關系: Code Text OD 原畫 FD 流暢 LD 標清 SD 高清 HD 超清 2K 4K 2K 4K source如何支持多清晰度,參考下面的代碼: var player = new Aliplayer({ id: "player-con", isLive:true, source:'{"HD":"https://livecdn.com/appname/testhd.flv", "SD":"https://livecdn.com/appname/testsd.flv", "FD":"https://livecdn.com/appname/testfd.flv", "LD":"https://livecdn.com/appname/testld.flv" }', width: "100%", height: "500px", autoplay: true }, function (player) { console.log("播放器創建成功"); }); videoId模式 播放點播服務的視頻時,采用videoId的模式, Aliplayer會獲取用戶在點播服務轉碼生成的多分辨率的視頻地址,生成多清晰度選擇列表,詳細參考 點播轉碼 。 如果用戶轉碼生成多種視頻格式文件,Aliplayer將會按照mp4->m3u8->flv的順序優先選擇播放,如果有加密視頻和普通視頻一起,點播服務將只會返回加密視頻的播放地址。Aliplayer提供了其他一些屬性可以做精確的獲取點播視頻的播放地址: 屬性名稱 類型 說明 format String 指定播放地址格式可選值為mp4、m3u8、flv、mp3,默認為空 mediaType String 指定返回音頻還是視頻,可選值為video和audio,默認為video,audio主要是針對只包含音頻的視頻格式 qualitySort String 指定排序方式,desc表示按倒序排序(即:從大到小排序),asc表示按正序排序(即:從小到大排序)默認值:‘asc’ definition defaultDefinition String String 顯示視頻清晰度,多個用逗號分隔,比如:’FD,LD’,此值是vid對應流清晰度的一個子集,取值范圍:FD(流暢)LD(標清)SD(高清)HD(超清)OD(原畫)2K(2K)4K(4K) 默認播放視頻清晰度,取值范圍:FD(流暢)LD(標清)SD(高清)HD(超清)OD(原畫)2K(2K)4K(4K),默認是上次播放時選擇的清晰度 播放器的使用代碼為: var player = new Aliplayer({ id: "player-con", width: "100%", height: "500px", autoplay: true, language: "en-us", vid : '1e067a2831b641db90d570b6480fbc40', playauth:'ddddfdfdf' format:'m3u8', mediaType:'video', qualitySort:'desc', definition:'FD,LD', defaultDefinition:'LD' }, function (player) { console.log("播放器創建成功"); }); HLS的多碼率 HLS HTTP Live Streaming 是Apple提出的基于http的流媒體傳輸協議,支持不同帶寬的多碼率地址,基本格式如下: #EXTM3U #EXT-X-VERSION:4 #EXT-X-STREAM-INF:BANDWIDTH=454521,AVERAGE-BANDWIDTH=432061,CODECS="avc1.42c01e,mp4a.40.5",RESOLUTION=340x192,FRAME-RATE=25.000 GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_340.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=691401,AVERAGE-BANDWIDTH=644868,CODECS="avc1.42c01e,mp4a.40.5",RESOLUTION=384x216,FRAME-RATE=25.000 GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_384.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=926476,AVERAGE-BANDWIDTH=850169,CODECS="avc1.42c01f,mp4a.40.5",RESOLUTION=512x288,FRAME-RATE=25.000 #EXT-X-STREAM-INF:BANDWIDTH=7011961,AVERAGE-BANDWIDTH=6374698,CODECS="avc1.640028,mp4a.40.5",RESOLUTION=1920x1080,FRAME-RATE=25.000 GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_1920.m3u8 EXT-X-STREAM-INF:BANDWIDTH里的指定帶寬,下面為此帶寬使用對應分辨率的視頻地址,Aliplayer解析上面的master m3u8內容,展示清晰度列表,并且會根據網絡情況選擇合適的清晰度播放: 阿里云的媒體處理服務支持多分變率的打包, 詳細參考: 如何進行HLS打包 作者: 雋阜 原文鏈接 本文為云棲社區原創內容,未經允許不得轉載。
來源:OSCHINA
發布時間:2019-01-28 17:21:00
每個有狀態且存在復雜狀態轉換的對象都包含一個狀態機 例如org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl 代表一個mr job,其內部就包含一個狀態機: public class JobImpl implements org.apache.hadoop.mapreduce.v2.app.job.Job, EventHandler { protected static final StateMachineFactory stateMachineFactory = new StateMachineFactory(JobStateInternal.NEW) .addTransition(JobStateInternal.NEW, JobStateInternal.FAIL_ABORT, JobEventType.JOB_INIT_FAILED, new InitFailedTransition()) //JobImpl 在NEW狀態 下接收到 JOB_INIT_FAILED類型的事件后 進行InitFailedTransition轉換, 轉換之后 JobImpl的狀態變為InitFailedTransition .addTransition(JobStateInternal.NEW, EnumSet.of(JobStateInternal.INITED, JobStateInternal.NEW), JobEventType.JOB_INIT, new InitTransition()) //JobImpl 在NEW狀態 下接收到 JOB_INIT類型的事件后 進行InitTransition轉換, 轉換之后 JobImpl的狀態可能為INITED、NEW 二者中的一個 //略 .installTopology(); //JobImpl 持有的狀態機 private final StateMachine stateMachine; //構造函數 public JobImpl(JobId jobId, ApplicationAttemptId applicationAttemptId,...) { //略 stateMachine = stateMachineFactory.make(this); //將stateMachineFactory添加的各種Transition 生成狀態機 //略 } } 狀態機構建過程 狀態機構建過程就是將之前stateMachineFactory添加的各種Transition 生成狀態機,最核心的就是生成stateMachineTable。 Map>> stateMachineTable = new EnumMap>>(); stateMachineTable 維護了狀態之間的轉化關系: 一個狀態可以轉成成哪些狀態 一個狀態可以接受哪些類型的事件 一個狀態接受到事件之后做何種處理(Transition) 狀態轉換過程 狀態轉換過程就是事件處理過程 //step1: handler 處理事件 //org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl public void handle(JobEvent event) { //略 getStateMachine().doTransition(event.getType(), event); //略 } //step2: //org.apache.hadoop.yarn.state.StateMachineFactory.InternalStateMachine public synchronized STATE doTransition(EVENTTYPE eventType, EVENT event) throws InvalidStateTransitonException { currentState = StateMachineFactory.this.doTransition (operand, currentState, eventType, event); return currentState; } //step3: //org.apache.hadoop.yarn.state.StateMachineFactory private STATE doTransition (OPERAND operand, STATE oldState, EVENTTYPE eventType, EVENT event) throws InvalidStateTransitonException { Map> transitionMap = stateMachineTable.get(oldState); //獲取當前狀態下可以相應的事件 if (transitionMap != null) { Transition transition = transitionMap.get(eventType); //根據當前事件獲取的轉換 if (transition != null) { return transition.doTransition(operand, oldState, event, eventType); //執行轉換 } }
來源:OSCHINA
發布時間:2020-03-27 17:44:00
2018年下半年,UCloud首爾數據中心因外部原因無法繼續使用,需要在很短時間內將機房全部遷走。為了不影響用戶現網業務,我們放棄了離線遷移方案,選擇了非常有挑戰的機房整體熱遷移。經過5個月的多部門協作,終于完成了既定目標,在用戶無感知下,將所有業務完整遷移到同樣位于首爾的新機房內。 本文將詳述這個大項目中最有難度的工作之一:公共組件與核心管理模塊遷移的方案設計和實踐歷程。 計劃 整個項目劃分為四個大階段(準備階段、新機房建設、新舊遷移、舊機房裁撤下線)。正如一位同事的比喻,機房的熱遷移,相當于把一輛高速行駛高鐵上的用戶遷移到另一輛高速行駛的高鐵上,高鐵是我們的機房,高鐵上的用戶是我們的業務。要讓遷移可行需要兩輛高鐵相對靜止,一個方法是把兩輛高鐵變成一輛,如此兩者速度就一致了。UCloud機房熱遷移采用類似方案,把兩個機房在邏輯上變成一個機房。為此,上層的業務邏輯要在新老機房間無縫遷移,下面的管理系統也要統一成一套。 其中,我們SRE和應用運維團隊主要負責以下幾個工作:1)機房核心zookeeper服務的擴縮容服務;2)核心數據庫中間層udatabase服務的部署和擴容;3)大部分管理服務的部署和遷移;4)核心數據庫的部署和遷移。以上涉及到前期規劃、方案設計、項目實施、穩定性保證、變更校驗等所有方面。 挑戰 我們剛接到機房整體熱遷移需求時,著實有些頭疼,首爾機房屬于較早期部署的機房之一,相關的技術架構比較老舊。而核心數據庫、核心配置服務(zookeeper)、核心數據庫中間層(udatabase)等幾個服務都是比較重要的基礎組件,老舊架構可能會因為基礎層面的變動發生復雜的大范圍異常,從而影響到存量用戶的日常使用。 幸好SRE團隊在過去一年里,針對各種服務的資源數據進行了全面的梳理,我們開發了一套集群資源管理系統(Mafia-RMS) ,該系統通過動態服務發現、靜態注冊等多種手段,對存量和增量的服務資源進行了整理,每一個機房有哪些服務、集群,某個集群有哪些服務器,每一個實例的端口、狀態、配置等信息,都記錄到了我們的資源管理系統中,如下圖所示: 圖1: UCloud SRE資源管理系統-集群管理功能 通過SRE資源管理系統,可以清楚地知道首爾機房存量內部服務的集群信息、每個實例的狀態。我們基于SRE資源系統還構建了基于Prometheus的SRE監控體系,通過上圖右側Monitor按鈕就可以跳轉到監控頁面,獲取整個業務的實時運行狀況。 有了這些資源數據之后,剩下的就是考慮怎么進行這些服務的擴容和遷移工作。 ZooKeeper服務的擴縮容 首先是內部服務注冊中心zookeeper的擴縮容。 UCloud內部大規模使用zookeeper作為內部服務注冊和服務發現中心,大部分服務的互訪都是通過使用zookeeper獲取服務注冊地址,UCloud內部使用較多的wiwo框架(C++) 和 uframework (Golang) 都是基于主動狀態機定時將自己的Endpoint信息注冊到zookeeper中,相同Endpoint前綴的服務屬于同一個集群,因此對于某些服務的擴容,新節點使用相同的Endpoint前綴即可。wiwo和uframework兩個框架的客戶端具備了解析zookeeper配置的能力,可以通過對Endpoint的解析獲取到真實的IP和端口信息。然后通過客戶端負載均衡的方式,將請求發送到真實的業務服務實例上去,從而完成服務間的相互調用。如下圖所示: 圖2:UCloud 首爾機房部署調用及服務注冊/發現路徑圖 首爾老機房的zookeeper集群是一個具有3個節點的普通集群(當時規模相對較小,3個節點足夠)。 然而首爾新機房的規模要大很多,因此新機房zookeeper的集群規模也要擴充,經過我們的評估,將新機房的zookeeper集群擴充到5個節點,基本上可以滿足所需。 其實,一個理想的遷移架構應該是如圖3所示,整個新機房使用和老機房相同的技術架構(架構和版本統一),新架構完全獨立部署,與老機房并沒有數據交互工作,而用戶的業務服務(如UHost/UDB/EIP/VPC等)通過某種方式平滑的實現控制和管理面的遷移,以及物理位置的遷移工作。 圖3:理想狀態下的老舊機房服務遷移示意圖 但是理想狀態在現實中無法達到,內部架構和代碼邏輯的限制,導致業務實例無法平滑實現邏輯和控制層面的遷移,更何況物理層面的遷移。新部署的管理服務需要和老機房的管理服務進行通信,因此,我們調整了新機房服務的部署架構,并適配實際情況分別使用兩種部署模式,如圖4和圖5所示: 圖4: 同集群擴容模式的跨機房服務部署 圖5: 新建集群灰度遷移模式的跨機房服務部署 無論是圖4的同集群擴容模式,還是圖5的新建集群灰度遷移模式,在zookeeper層面必須讓新舊機房的zookeeper集群處于一體的狀態,需要兩個集群的數據一致、實時同步。因此在zookeeper的技術層面,必須將這兩個集群變成一個集群,將原有的3節點的zookeeper集群,經過異地機房擴容的方式擴充到8個節點(1個leader,7個follower),只有這種模式下數據才能夠保持一致性和實時性。 而對于新機房新部署的需要注冊的服務來說,他們的配置文件中對于zookeeper地址的配置,卻不是新建的8個ip的列表,而是只配置新機房5個IP的列表。這樣新老機房的后端服務使用同一套zookeeper,但是配置的卻是不同的IP,這樣做的目的,是為了后續老機房下線裁撤時,所有新機房的服務不需要因為zookeeper集群的縮容而重啟更新配置,只要將集群中老機房所在的3個節點下線,剩余5個節點的配置更新重新選主即可。 因此在zookeeper的機房擴容方案上,我們采用了先同集群擴容后拆分的模式。zookeeper的擴容是整個機房擴建的第一步,后續所有的服務都會依托于該操作新建的5個節點的zookeeper配置;而zookeeper集群的縮容是最后的操作,待所有的服務都擴容完成,所有業務實例遷移完成之后,將zookeeper集群進行縮容重新選主,這樣即可完成整個機房的裁撤。 數據庫中間層udatabase的遷移 接下來是數據庫中間層udatabase的遷移工作。 圖4和圖5兩種模式對于zookeeper的處理方式是相同的,不同點在于后端對于內部管理和控制面服務的擴容遷移方式。udatabase遷移使用圖4模式,這種模式下相當于在原有的集群進行異地機房擴容,擴容的新實例使用和原有集群相同的Endpoint前綴,也就是說它們是屬于同一個集群,當服務啟動后,新擴容的實例的狀態會與原有集群的實例相同,框架(wiwo或uframework)層會通過客戶端方式從zookeeper中發現到該集群節點的變化(新增),同時使用某種負載均衡算法將請求流量路由到新的節點上。這樣屬于同一個集群,但卻處于兩個地址位置的實例都有部分流量,而進行縮容的方式就是直接將老機房同集群的服務下線即可,這樣客戶端就會將所有該集群的流量都轉發到新機房擴容的節點上,從而完成平滑的服務擴容。udatabase通過這樣的方式完成了集群的遷移過程。 新建集群灰度遷移模式 其實圖4模式對于大部分服務來說都是可行的,但為什么還出現了圖5所示的新建集群灰度遷移模式呢?因為某些場景下圖4會有一定的不可控性。假如新建的實例(如圖4中Service A Instance 2)存在軟件穩定性和可靠性的問題,比如配置異常、軟件版本異常、網絡異常,可能導致路由到新節點的請求出現問題,會直接影響在線業務,影響的規模由擴容的節點占集群總節點的比例決定,像我們這種1:1的擴容方式,如果服務有問題可能50%的請求就直接異常了。udatabase使用圖4方案,是因為其代碼的穩定性比較高,功能和配置比較簡單,主要依托于其高性能的轉發能力。 而對于某些功能邏輯都比較復雜的業務來說(如ULB/CNAT),就使用了更穩妥的圖5模式,由于業務層面支持跨集群遷移,因此可以新建一個全新的無業務流量的集群,該集群在zookeeper中的Endpoint路徑前綴和原有的集群不相同,使用一個全新的路徑,然后在業務層面,通過遷移平臺或工具,將后端服務或實例按需遷移,整個過程可控,出現問題立刻回滾,是最安全的遷移方案。我們通用的灰度遷移平臺SRE-Migrate如圖6所示。 圖6:UCloud內部通用業務遷移系統SRE-Migrate 機房部署平臺SRE-Asteroid UCloud產品線和產品名下服務數量繁多,無論是圖4還是圖5的方案,都需要大量的服務部署工作。SRE團隊在2018年中推進的機房部署優化項目,意在解決UCloud新機房建設(國內及海外數據中心、專有云、私有云等)交付時間長和人力成本巨大的問題,2018年底該項目成功產品化落地,覆蓋主機、網絡等核心業務近百余服務的部署管理,解決了配置管理、部署規范、軟件版本等一系列問題。首爾機房遷移也正是利用了這一成果,才能夠在很短的時間內完成近百個新集群的部署或擴容工作,圖7所示就是我們的新機房部署平臺 SRE-Asteroid。 圖7:UCloud內部機房部署平臺SRE-Asteroid 核心數據庫的部署和遷移 最后,是核心數據庫層面的部署和遷移工作如何進行。UCloud內部服務所使用的數據庫服務為MySQL, 內部MySQL集群采用物理機/虛擬機在管理網絡內自行建設,以一個主庫、一個高可用從庫、兩個只讀從庫和一個備份庫的方式部署,使用MHA+VIP的方式解決主庫的高可用問題,使用BGP/ECMP+VIP的方式解決從庫的負載均衡和高可用問題,大體的架構如圖8所示: 圖8:UCloud內部MySQL服務架構圖 首爾新老機房使用的內部MySQL數據庫集群的架構跟上圖類似,為了進行新老機房的集群切換,我們設計了如下的方案,如圖9所示: 圖9:首爾集群內部數據庫集群遷移示意圖 整體來說,為了保證核心數據庫集群能夠穩定完成遷移工作,我們拋棄了雙主庫、雙寫的切換方案,防止因為網絡或其他因素導致新老集群的數據不一致、同步異常等問題。我們采用了最簡單的解決方案,在業務低峰期停止console服務,直接修改數據庫中間層配置切換的方案。 在部署階段,我們在首爾新機房部署了相同高可用架構的MySQL集群,老機房的數據庫邏輯備份導入,將新老機房的集群做成級聯模式(圖9中綠色虛線),新機房的主庫作為老機房的從庫,通過MySQL異步同步的方式(binlog)進行數據同步。我們使用pt-table-checksum工具,定期對兩個集群的數據一致性進行校驗,以保證新老機房的數據完全一致。與此同時使用內部開發的拓撲分析工具,將所有調用老集群數據庫主從庫的業務情況確認清楚(主要是哪些udatabase集群)。 部署完成后,數據一致性和實時性通過級聯得到保障,udatabase仍然訪問老機房的MySQL主庫的VIP(圖9藍色虛線),此時并沒有業務通過直連的方式寫入新機房的主庫(為保證數據的一致性,新機房的主庫暫時設置成只讀模式)。 在確定遷移時間和遷移方案之后,在某個業務低峰期的時間點,公告用戶后,首爾機房整個console的操作停止一段時間(期間首爾機房的API請求可能會失?。?,在確定流量很低的前提下,通過修改數據庫中間層(udatabase cluster)中數據庫主從庫VIP的配置,將業務從老機房MySQL集群切換到新機房MySQL集群,此時該業務所有的請求都會流入到新集群(圖9紅色虛線)。為了防止老集群仍然有業務寫入或讀取,我們將老集群主庫設置為只讀,然后繼續通過tcpdump抓包分析老集群上可能存在的請求并手動處理,最終保證所有業務都使用新的MySQL集群。 由于需要對主機、網絡、存儲和監控等幾個業務都進行集群切換,為保證不互相影響,使用逐個集群處理的方式,整體切換加檢測的時間耗時近1個小時。 在整個機房切換的過程中,只有數據庫集群是有狀態的業務,因此重要性和危險性也比較高,該服務切換完成后,最重要的一個環節也宣告完成,剩下的業務層面(UHost/UDB/EIP等)的遷移工作由各個業務團隊自行完成即可。 收尾 最終所有業務實例完成遷移后,理論上就可以完成本次機房遷移工作了,不過還是要對老機房仍然運行的實例進行流量監測,確認沒有流量后進行下線,停止服務。最后對老機房的zookeeper集群(老機房的3個zookeeper節點)進行請求監測和連接監測,確認沒有本機房以及新機房發來的請求(排除zookeeper集群自主同步的情況),在完成確認后,進行最后的zookeeper集群變更,將整個集群(8個節點)拆分成老機房(3個節點)和新機房(5個節點),老機房的集群直接停止服務,而新機房的新的zookeeper集群完成新的選主操作,確認同步正常和服務正常。 寫在最后 經歷了上文所述的一切操作后,整個首爾機房的遷移工作就完成了,整個項目歷經5個月,其中大部分時間用于業務實例的遷移過程,主要是針對不同的用戶要確定不同的遷移策略和遷移時間;內部管理服務的遷移和部署所花費的時間還是比較少的。UCloud內部針對本次遷移的每一個步驟都制定了詳細的方案規劃,包括服務依賴分析、操作步驟、驗證方式、切換風險、回滾方案等,為了完成如此巨大的新機房熱遷移工作,團隊投入了充足的人力和時間。首爾新機房具有更好的建設規劃、硬件配置和軟件架構,能夠為用戶提供更好的服務,我們相信這一切都是很有價值的。
來源:OSCHINA
發布時間:2019-01-28 16:56:00
基本概念(Cluster Analysis) “物以類聚” 分析方法 系統聚類 快速聚類 類型 Q型聚類:對 樣品 的聚類 R型聚類:對 變量 的聚類 聚類統計量 距離 歐氏距離 馬氏距離 蘭式距離 相關系數 距離矩陣 相關矩陣 距離矩陣計算——dist(),cor() 系統聚類法 基本思想:先將樣品分成類,每個樣品為一類,然后每次將具有最小距離的兩類合并,合并后重新計算類與類之間的距離,直到所有樣品歸為一類為止 類間距離 的計算方法 最短距離法(single) 最長距離法(complete) 中間距離法(median) 類平均法(avera) 重心法(centroid) 離差平方和法(Ward) 通用公式 hclust(D,method=) 快速聚類法kmeans 概念:基本思想是將每一個樣品分配給最近中心(均值)的類中 原理:n個對象分k類,類內 相似度 高,類間相似度低 相似度:類中對象的均值mean來計算 kmeans(x,centers) 不足:只有在類均值被定義的情況下才能使用,對孤立點、噪聲影響敏感 knn,kmed,中位數 變量變換 平移變換 極差變換 標準差變換 主成分 對數 x1=c(2.5,3.0,6.0,6.6,7.2,4.0,4.7,4.5,5.5) x2=c(2.1,2.5,2.5,1.5,3.0,6.4,5.6,7.6,6.9) X=data.frame(x1,x2) D=dist(X,diag = TRUE,upper = FALSE) hc=hclust(D,"complete") hc names(hc) hc$merge hc$height #系統聚類圖 plot(hc) rect.hclust(hc,3) #顯示分類步驟 cutree(hc,9:1) #系統聚類分析步驟 library(mvstats) d7.2=read.table('clipboard',header = T) X7.2=msa.X(d7.2) plot(d7.2,gap=0) D=dist(d7.2) D H=H.clust(d7.2,"euclidean","single",plot=T)#最短距離法 H.clust(d7.2,"euclidean","complete",plot=T)#最長距離法 H.clust(d7.2,"euclidean","median",plot=T)#中間距離法 H.clust(d7.2,"euclidean","average",plot=T)#類平均法 H.clust(d7.2,"euclidean","centroid",plot=T)#重心法 H.clust(d7.2,"euclidean","ward",plot=T)#ward cutree(H,3) #快速聚類法 set.seed(123) x1=matrix(rnorm(1000,0,0.3)) x2=matrix(rnorm(1000,1,0.3)) X=rbind(x1,x2) H=hclust(dist(X)) plot(H) km=kmeans(X,2) km$cluster plot(X,pch=km$cluster) #10變量2000樣品 set.seed(123) x1=matrix(rnorm(10000,0,0.3),ncol = 10) x2=matrix(rnorm(10000,1,0.3),ncol = 10) Y=rbind(x1,x2) km=kmeans(Y,2) km$cluster plot(Y,pch=km$cluster) km 參考資料: https://next.xuetangx.com/course/JNU07011000851/151569
來源:OSCHINA
發布時間:2020-03-27 11:29:00
https://blog.csdn.net/diantun00/article/details/81180694 https://illya-chekrygin.com/2017/08/26/configuring-certificates-for-jenkins-kubernetes-plugin-0-12/
來源:OSCHINA
發布時間:2019-02-27 14:36:00
1.hbase是一個分布式系統,需要依賴HDFS作為存儲介質,并依靠zookeeper來完成監控主從節點上下線。 2.安裝準備如下: 1.HBase角色 HMaster(主節點,一臺Active,一臺StandBy) HReginServer(數據節點,多臺) 2.依賴 HDFS集群、zookeeper集群【啟動】 3.上傳安裝包解壓 tar -zxvf hbase-1.2.1.bin.tar.gz -C apps/ 4.進入conf目錄修改配置文件如下 1.vi hbase-env.sh export JAVA_HOME=/usr/local/java/jdk1.8.0_231 export HBASE_MANAGES_ZK=false #自己的zookeeper,不啟動它內置的 2.vi hbase-site.xml hbase.rootdir hdfs://hadoop01:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum hadoop01:2181,hadoop02:2181,hadoop03:2181 hbase.master.info.port 60010 3.vi regionservers hadoop01 hadoop02 hadoop03 5.拷貝到其他機器 scp -r hbase-1.2.1/ hadoop02:$PWD scp -r hbase-1.2.1/ hadoop03:$PWD 6.啟動前看看hdfs、zookeeper是否啟動 # 1.一臺一臺啟動 bin/hbase-daemon.sh start master bin/hbase-daemon.sh start regionserver # 2.全部啟動,統一時間記得。要不同步會出現錯誤。 bin/start-hbase.sh # 3.要想啟用備用的master,只需要在另外一臺機器執行 bin/hbase-daemon.sh start master # 3.hadoop01:16010可以查看web頁面 7.命令行客戶端 體驗即可,一般要用java程序訪問 cd bin/hbase bin/hbase shell >status >建表等等。。。 8.java客戶端 略
來源:OSCHINA
發布時間:2020-03-27 11:24:00
pod.yaml apiVersion: v1 kind: Pod metadata: name: two-containers labels: label1: ok label2: nok annotations: label3: good label4: nogood namespace: mynamespace spec: restartPolicy: Always containers: #--------------------swarm service-------------------# - name: swarm-container-name0 image: 192.168.175.143:5000/swarm:0.0 imagePullPolicy: Always ports: - name: exposeport containerPort: 9090 hostPort: 9090 env: - name: sex value: boy - name: addr value: guangzhou volumeMounts: - mountPath: /root/test readOnly: true name: mountfunction #--------------------swarm service--------------------# #--------------------jenkins service------------------# - name: jenkins-container-name1 image: 192.168.175.143:5000/android:0.2 imagePullPolicy: Always ports: - containerPort: 8083 hostPort: 8083 - containerPort: 22 hostPort: 2222 volumeMounts: - mountPath: /home/jenkins/.jenkins readOnly: false name: share-data #--------------------jenkins service------------------# #--------------------common setting-------------------# volumes: - name: share-data nfs: server: 192.168.175.143 path: "/home/ubuntu/jenkins/JENKINS_HOME" - name: mountfunction hostPath: path: "/home/ubuntu/STU" nodeSelector: slave: "146" dnsPolicy: "None" dnsConfig: nameservers: - 8.8.8.8 - 10.192.27.32 - 10.192.33.32 #--------------------common setting-------------------# deployment_python_http.yml apiVersion: apps/v1 kind: Deployment metadata: name: service-test-1 spec: replicas: 3 selector: matchLabels: app: service_test_pod1 template: metadata: labels: app: service_test_pod1 spec: containers: - name: simple-http image: 192.168.175.149:5000/swarm:0.0 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 9090 hostPort: 7777 nginx-deploy-v1.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: 192.168.175.143:5000/nginx:0.0 ports: - name: expose-port containerPort: 80
來源:OSCHINA
發布時間:2019-02-27 13:41:03
Hive只在一個節點上安裝即可 1.上傳tar包 2.解壓 tar -zxvf hive-1.2.1.tar.gz -C /apps/ 3.安裝mysql數據庫(切換到root用戶)(裝在哪里沒有限制,只有能聯通hadoop集群的節點) 4.配置hive (a)配置HIVE_HOME環境變量 vi conf/hive-env.sh 配置其中的$hadoop_home 1.配置hive環境變量,編輯 vi /etc/profile #set?hive?env export?HIVE_HOME=/root/apps/hive-1.2.1 export?PATH=${HIVE_HOME}/bin:$PATH source /etc/profile 2.配置hadoop環境變量【安裝hadoop時候已配置】 cd apps/hive-1.2.1/conf 4.1 cp?hive-env.sh.template?hive-env.sh vi hive-env.sh 將以下內容寫入到hive-env.sh文件中 export?JAVA_HOME=/usr/local/java-1.8.231 export?HADOOP_HOME=/root/apps/hadoop-2.6.5 export?HIVE_HOME=/root/apps/hive-1.2.1 4.2 配置元數據 vi hive-site.xml 添加如下內容: javax.jdo.option.ConnectionURL jdbc:mysql://192.168.52.200:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName root username to use against metastore database javax.jdo.option.ConnectionPassword 123456 password to use against metastore database 5.安裝hive和mysq完成后,將mysql的連接jar包拷貝到hive安裝目錄的/lib目錄下 如果出現沒有權限的問題,在mysql授權(在安裝mysql的機器上執行) mysql -uroot -p #(執行下面的語句 *.*:所有庫下的所有表 %:任何IP地址或主機都可以連接) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql' WITH GRANT OPTION; FLUSH PRIVILEGES; grant all privileges on *.* to root@"192.168.52.200" identified by "mysql" with grant option; FLUSH PRIVILEGES; 【注意】:需要配置hadoop和hive的環境變量,在啟動hive之前需要啟動hadoop的hdfs、yarn 6. Jline包版本不一致的問題,需要拷貝hive的lib目錄中jline.2.12.jar的jar包替換掉hadoop中的 /apps/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 7.1 啟動hive程序 bin/hive 【注意】移植很強悍,只需要需改好的hive-1.2.1拷貝到其他機器,不許做任何修改,直接可啟動用,如: scp -r hive-1.2.1/ hadoop02:/root/apps/ 7.2 顯示當前使用的庫,和開啟字段名稱 set hive.cli.print.current.db=true; set hive.cli.print.header=true; 8.0如果啟動hive服務、客戶端呢??? # 啟動服務hiveserver2 10000端口 bin/hiveserver2 # 這里沒有后臺運行 nohup bin/hiveserver2 1>/dev/null 2>&1 & # 后臺運行服 # 開啟beeline客戶端 bin/beeline beeline>!connect jdbc:hive2://hadoop1:10000 用戶名root 直接回車 客戶端很好看?。。。?! # 退出客戶端 beeline>!quit 9.0 建內部表(默認是內部表default) 字段之間 , 分開的 create table trade_detail(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by ','; 9.1 建外部表 建外部表,任意目錄,可以非/usr/warehouse/下,外部表刪除后,hdfs中的數據目錄不會刪除。 create external table td_ext(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by ',' location '/lod/20190202/'; 10. 創建分區表 10.1 普通表和分區表區別:有大量數據增加的需要建分區表 create table log (id bigint, url string) partitioned by (daytime string) row format delimited fields terminated by ','; 10.2 **導入本機數據到分區表 hdfs的hive倉庫中 1.手動上傳 2.hive命令,再次執行的話會追加數據 hive>load data local inpath '/root/log1.log/' log partition(daytime='20190904'); # 指定分區20190904 10.3 分區表加載數據 select * from log where daytime='20190904'
來源:OSCHINA
發布時間:2020-03-27 11:19:00
毋庸置疑,K8s已經成為云容器編排系統的標準,但是,如果缺乏K8s環境相關的安全問題認識的話,會致使各種組件暴露在網絡集群內外的攻擊之下。本文將介紹通過強身份驗證如何確保企業的K8s集群免受外部攻擊。 這是關于Kubernetes安全性的三篇系列文章中的第一篇,在本系列文章中,我們將依次介紹如何確保企業的Kubernetes集群免受外部攻擊、內部攻擊,以及如何處理資源消耗或noisy neighbors問題。 毋庸置疑,Kubernetes已經成為云容器編排系統的標準,據Cloud Native Computing Foundation(CNCF)的定義,它提供了一個“自動化部署、擴展以及跨主機集群操作應用程序容器的平臺”。但是,如果缺乏Kubernetes環境相關的安全問題認識的話,會致使各種組件暴露在網絡集群內外的攻擊之下。 鎖定API服務器,Kubelets Kubernetes環境中有多種可由外部訪問的組件,包括應用程序編程接口(API)服務器、kubelet以及數據存儲。如果沒有正確鎖定和保護它們的話,這些組件有可能會造成數據泄漏和系統損害。 Kubernetes為開發、運維和安全團隊提供了一個API結構,可用于和應用程序和Kubernetes平臺交互。Kubelet是一個在節點上運行并且讀取容器清單的服務,它確保定義了的容器已經啟動并運行。Kubernetes利用etcd分布式鍵值存儲來保存和復制Kubernetes在整個集群中使用的數據?;旧?,最經常受到攻擊的Kubernetes系統是那些根本沒有設置訪問控制的系統。 Goins指出,Kubernetes易于部署,在默認情況下并沒有內置太多確保安全性的東西。例如,直到2017年年中,容器編排系統才開始具有RBAC(基于角色的訪問控制)功能。 Kubernetes 1.8版本的亮點之一是RBAC(基于角色的訪問控制),這是一種用于管理Kubernetes資源周圍權限的授權機制。RBAC允許配置靈活的授權策略,可以在不需要重啟集群的情況下進行更新。 “在很多Kubernetes部署中,一旦出現compromise,用戶可以使用root權限安裝和運行他們想要的軟件?!盙oins說,“黑客和網絡犯罪分子希望進入一個系統,升級他們的權限,接著轉向其他系統,開始收集信用卡和個人身份識別數據等信息?!? 2018年12月在Kubernetes爆出的首個安全漏洞——特權升級漏洞(CVE-2018-1002105),當時是由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現的。該漏洞演示了用戶如何通過Kubernetes API服務器建立和后端服務器的連接。建立連接之后,攻擊者可以通過網絡連接直接向后端集群服務(如kubelets)發送任意的請求。該漏洞讓任何用戶在任何計算節點上都擁有完整的管理員權限。后來發布了專門修復受支持的Kubernetes版本的補丁,在1.10.11,1.11.5和1.12.3中都提供了這樣的補丁。 企業該如何保護K8s集群免受外部攻擊 Goins建議,Kubernetes用戶需要做的第一件事是完全關閉外部API訪問,或者將該功能封裝在某種強身份驗證中設置保護。為了減輕外部攻擊的威脅,信息技術/安全管理員必須確保只有必要的Kubernetes服務能對外暴露。此外,他們必須設置身份驗證并且給所有公開的服務配置正確的網絡安全策略。 Handy Tecchnologies的Alexander Uricoli在一篇博客中寫道:“除非你在kubelet上指定了一些標志(flags),否則它在默認操作模式下,是會接受未經身份驗證的API請求的?!痹谶@篇博客中Uricoli分析了黑客是如何入侵同時個人服務器上的Kubernetes集群的: https://medium.com/handy-tech/analysis-of-a-kubernetes-hack-backdooring-through-kubelet-823be5c3d67c Uricoli說:“看來有人找到了一種方法,可以在一個正在運行的容器上放置一些加密挖掘軟件,然后執行這個過程?!盞ubernetes API服務器雖然面向internet公開,但是受到證書身份驗證的保護。 結果,同事的服務器公開了kubelet端口(tcp 10250和tcp 10255)。Uricoli指出,盡管問題已顯而易見,這樣的入侵仍然應該引起大家對Kubernetes的部署的一些問題的關注。如果你的用戶可以通過網絡節點來訪問你的節點,那么kubelet API就是一個通往集群的API后門,它功能齊全且未經身份驗證。如果用戶已經花了很多心思在webhook、RBAC或其他方法啟用身份驗證和授權上,那么他們也同樣應該將kubelet好好地鎖定上。 互聯網安全中心(CIS)建議用戶為kubelet連接部署HTTPS。CIS在關于為Kubernetes 1.11建立安全配置的指南中寫道,“從API服務器到kubelets的連接可能帶有機密和密鑰等敏感數據。因此,在API服務器和kubeletes之間的任何通信中使用在途加密(in-transit)是非常重要的?!? Kubernetes用戶應該禁用對API服務器的匿名請求。啟用時,沒有被其他配置好的身份驗證方法拒絕的請求將被視為匿名請求,然后API服務器會處理這些請求。根據CIS的說法,Kubernetes的用戶應該依靠身份驗證來授權訪問,并切拒絕匿名請求,而組織應該根據需要實現可控制的訪問。 Goins指出,加強內部集群用戶防御的安全控制——RBAC、隔離以及權限限制——對于保護Kubernetes免受外部攻擊同等重要。 他說:“如果有人使用任何內部用戶的賬戶從外部訪問集群,他們會立刻獲得完全訪問權限?!彼?,這并不是說你需要內部控制來抵御外部的攻擊。而是說如果你沒有這些措施,當受到攻擊的時候你就遭大殃了。 結 語 Rancher Kubernetes平臺擁有著超過一億次下載量,我們深知安全問題對于用戶而言的重要性,更遑論那些通過Rancher平臺在生產環境中運行Docker及Kubernetes的數千萬用戶。 2018年年底 Kubernetes被爆出的首個嚴重安全漏洞CVE-2018-1002105 ,就是由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現的。 2019年1月 Kubernetes被爆出儀表盤和外部IP代理安全漏洞時 ,Rancher Labs也是業界第一時間向用戶響應,確保了所有Rancher 2.x和1.6.x的用戶都完全不被漏洞影響。 未來Rancher將會向用戶分享更多容器及Kubernetes安全技巧。在下一篇博客中,我們將分享三種保護Kubernetes不受內部攻擊的方法:基于角色的訪問、Kubernetes特性(如邏輯隔離,即命名空間)和Rancher資源(如Project)。記得保持關注~
來源:OSCHINA
發布時間:2019-02-27 12:41:00
判別分析(Discriminat Analysis) 概念:多元統計分析中判別樣本所屬類型的一種統計分析方法 方法:在已知的分類之下,對新的樣本,利用此方法選定判別標準,以判斷將該新樣品置于哪個類中 種類 確定性判別:Fisher型 線性型 距離型 非線性型 概率性判別:Bayes型 概率型 損失型 線性判別函數(linear discriminatory function) 求Fisher線性判別函數 計算判別界值 建立判別標準 兩總體距離判別 馬氏距離(統計距離) 協方差矩陣 等方差陣(等價于Fisher判別)——直線判別 異方差陣——曲線判別(qda) 多總體距離判別 協方差矩陣相同——線性判別 協方差矩陣不相同——非線性判別 Bayes判別準則 概率判別 損失判別 概率最大、損失最小 正態總體的Bayes判別 Bayes判別函數求解 先驗概率 密度函數 協方差矩陣 后驗概率計算 #建立Fisher線性判別函數 d6.1=read.table('clipboard',header = T) d#基本統計分析 boxplot(x1~G,d6.1) t.test(x1~G,d6.1) boxplot(x2~G,d6.1) t.test(x2~G,d6.1) #Logistic模型分析 summary(glm(G-1~x1+x2,family = binomial,data=d6.1)) #Fisher判別分析 attach(d6.1) plot(d6.1$x1,d6.1$x2) text(d6.1$x1,d6.1$x2,adj=-0.5) library(MASS) ld=lda(G~x1+x2,d6.1) ld #判斷 lp=predict(ld) G1=lp$class data.frame(G,G1) tab1=table(G,G1) tab1 sum(diag(prop.table(tab1))) #非線性判別模型 qd=qda(G~d6.1$x1+d6.1$x2) qp=predict(qd) G2=qp$class data.frame(G,G1,G2) #多類距離判別 d6.3=read.table('clipboard',header = T) #線性判別(等方差) ld3=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P) ld3 #異方差,二次判別 ld4=qda(G~d6.1$x1+d6.1$x2) ld4 #Bayes判別 ld41=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P,prior=c(1,1,1)/3) ld41 #先驗概率不等 ld42=lda(d6.3$G2~d6.3$Q+d6.3$C+d6.3$P,prior=c(5,8,7)/20) ld42 #概率結果 predict(ld41,data.frame(Q=8,C=7.5,P=65)) predict(ld42,data.frame(Q=8,C=7.5,P=65)) 參考資料: https://next.xuetangx.com/course/JNU07011000851/151569 ???????
來源:OSCHINA
發布時間:2020-03-27 10:05:00
本文作者:y****n 人臉識別技術在 AI 時代不僅可以帶來便利,同時也提高了效率。8月21日,百度大腦開放日在烏鎮舉辦 “乘風新基建,加速產業智能化升級” 專場,桐鄉市經濟和信息化局副局長陳再飛、烏鎮鎮科協秘書長錢永琪、桐鄉市工業互聯網企業聯合會會長于亞東等出席活動。 會上,百度大腦發布了新近開放和升級的 AI 能力, 重磅推出乘風人臉通行考勤平臺,并在現場實操模擬通行考勤場景演示平臺部署過程, 全面展現百度大腦人臉識別服務的端邊云協同的解決方案。同時, 由百度主辦,烏鎮鎮人民政府、桐鄉市經濟和信息化局與桐鄉市工業互聯網聯合會協辦的烏鎮 X EasyDL 產業智能創新大賽也正式啟動。 陳再飛在致辭中表示:“我們將與百度加大合作力度,把打造烏鎮 AI 高地作為共同目標和任務,把開放日等一系列活動辦好、辦扎實,政企合辦 EasyDL 產業智能創新大賽,推動產業創新與升級?!? “乘風平臺”實現端云結合一站式管理 隨著人工智能技術的不斷升級,“刷臉”已成為新的行業趨勢。目前,人臉識別系統已經在寫字樓、智慧園區、景區人臉驗票、考場實名核驗、酒店等場所被廣泛應用。也仍有不少企業使用指紋考勤,或采用傳統的 IC 卡門禁系統,但這樣較為傳統的方式弊病也愈發明顯: 指紋打卡識別失靈、上下班打卡高峰、進出攜帶不方便、遺忘丟卡現象還有很大的安全隱患。 而市場上現有的一些人臉識別的硬件、算法、軟件僅能交付單點的功能性產品,還需要企業自行開發后端業務管理平臺。但人臉識別管理系統業務邏輯復雜,需要與花樣繁多的硬件、算法做適配與兼容,開發成本高、周期長、部署/運維難度大,對企業也是極大的挑戰。 為了更好地解決這些難題,本次開放日百度發布了乘風人臉通行考勤平臺,該平臺依托百度大腦人臉識別能力,提供端到端的一站式通行考勤的解決方案,可以 滿足企業對智慧通行、無感考勤等場景的管理需求,實現跨地域、跨環境的人臉設備在線管理,適配多模態設備接入,實現端云數據同步。 乘風平臺支持公有云和私有化兩種部署和使用方案, 靈活應對各類項目的需求。在前端設備上無論是業務已有的抓拍機器,識別 Pad,或其他第三方廠商設備、用戶自研的硬件設備,百度度目硬件設備都可以兼容,靈活利舊。同時黑名單、訪客、VIP、員工等人臉庫的自定義創建、對應的考勤通行策略的自定義創建,差異化的策略管理皆可靈活編輯。實時的通行考勤記錄與報表,對設備的狀態跨地域管理等業務功能,能夠全面支撐客戶基于人臉識別能力更加高效、安全地進行通行、考勤管控,較好地覆蓋了多地多分公司多店的考勤、通行管理場景。 直播現場,產品經理還進行了實操演示,模擬了考勤通行場景,并演示了整個平臺部署過程。從點擊開始使用,到下載配套軟件、不同設備添加、人臉庫管理,考勤通行策略的制定,到最終系統功能使用, 只需要10分鐘,零代碼開發即可完成, 同時展現出乘風人臉通行考勤平臺靈活易用、兼容性強、功能完善的顯著優勢。 不斷創新升級 百度大腦 AI 進行時 乘風平臺之所以能夠具備這樣的優勢,還要得益于百度大腦一直以來持續領先的 AI 技術能力,此次開放日上百度大腦產品經理向開發者們展示了百度大腦開放平臺7-8月新增和升級的 AI 能力。 在人臉識別方面, 有4項能力升級優化,包括人臉離線識別 SDK 升級、H5 視頻活體檢測能力升級、H5 端人臉實名認證解決方案升級、黑眼圈/眼袋檢測能力開放邀測; 在文字識別方面, 共有6項能力升級優化,2項能力公測上線,7項新能力開放邀測,涉及通用場景文字識別、卡證文字識別、財務票據文字識別、醫療票據文字識別、汽車場景文字識別以及其他場景文字識別。 在內容審核方面, 百度大腦不斷優化圖像、文本審核能力,持續豐富審核維度、提升識別精度; 在語音技術方面, 在線語音合成上線2個新款精品音庫,并支持按次數方式購買,低至0.5元/千次; 在語言與知識方面, 智能招聘解決方案開放邀測、合同智能處理開放邀測、智能對話定制與服務平臺 UNIT 3項能力全新升級。由于本月也是百度大腦語言與知識主題月,因此還有主題月系列活動等著大家參與。 除此之外,可以提供完善的學習和實訓環境的百度 AI Studio 也在不斷更新相關內容,助力 AI 算法工程師的成長;百度 AI 市場也更新了數據,AI 商品發布達到1300+,成交金額達到千萬級。 可以說,從技術到硬件,從場景到應用, 百度大腦始終在堅持“軟硬一體化”發展,更有效的降低各行業應用 AI 技術的門檻。 截至目前,百度大腦已是服務規模最大的 AI 開放平臺,已開放 269項 技術能力,有 超210萬 開發者使用。 政企聯合舉辦大賽 用 EasyDL 加速產業 AI 轉型 在百度和波士頓咨詢公司的聯合調研中, 約86%的市場需求需要定制開發業務場景下的 AI 模型。 正是基于這樣的市場訴求,百度推出了 EasyDL 零門檻 AI 開發平臺,用戶根據可視化頁面提示,通過采集與標注數據、訓練模型、部署模型的核心操作流程,即可獲得公有云 API、本地服務器部署、設備端 SDK、軟硬一體方案等類型 AI 服務,方便企業將 AI 服務快速集成在自身業務系統中。 現場還通過一系列 EasyDL 實際落地場景的案例介紹,向大家展示了各行各業如何應用 EasyDL 實現產業創新和 AI 轉型。例如:慧安信科通過使用百度 EasyDL 實現實時 監管非機動車輛亂停亂放現象; 安徽恒科結合 EasyDL 訓練的機械車輛識別模型, 實時監控工地光纜下是否有機車出現, 保障光纜安全;搭把手通過使用百度 EasyDL 軟硬一體開發套件 ,制作智能廚余垃圾回收箱 等。目前 EasyDL 產品服務已經廣泛應用到工業、安防、互聯網、零售、物流、智能硬件、教育 、醫療、電商等各個行業,成為諸多企業的首選。 為了吸引更多企業、開發者感受 AI 的魅力,此次開放日上,百度攜手烏鎮鎮政府、桐鄉市經濟和信息化局、桐鄉市工業互聯網聯合會正式啟動烏鎮 X EasyDL 產業智能創新大賽, 無論企業還是個人,只要有 AI 應用落地的場景與需求,都可以通過本屆大賽,定制 AI 服務,解決行業實際問題。 目前大賽已在百度大腦 AI 開放平臺 AI Studio 比賽板塊開啟報名通道。報名需要提交使用 EasyDL 訓練 AI 模型信息、創意思路、產業價值等相關內容。 大賽于9月底將完成初審和復審,并公布決賽名單;10月22日將迎來線下決賽路演與頒獎。 原文鏈接地址: https://developer.baidu.com/topic/show/291191
來源:OSCHINA
發布時間:2020-08-26 10:40:00
去年,阿里云發布了本地 IDE 插件 Cloud Toolkit,僅 IntelliJ IDEA 一個平臺,就有 15 萬以上的開發者進行了下載,體驗了一鍵部署帶來的開發便利。時隔一年的今天,阿里云正式發布了 Visual Studio Code 版本,全面覆蓋前端開發者,幫助前端實現一鍵打包部署,讓開發提速 8 倍。 Cloud Toolkit 是免費的本地 IDE 插件,幫助開發者更高效地開發、測試、診斷并部署應用。通過插件,可以將本地應用一鍵部署到任意服務器,甚至云端(ECS、EDAS、ACK、ACR 和 小程序云 等);并且還內置了 Arthas 診斷、Dubbo工具、Terminal 終端、文件上傳、函數計算 和 MySQL 執行器等工具。獲查看詳情: https://cn.aliyun.com/product/cloudtoolkit VSCode 版本的插件,目前能做到什么? 安裝插件之后,開發者可以立即體驗以下任何一個功能: 將本地 Visual Studio Code 中的代碼,一鍵打包、部署到任意的阿里云 ECS 服務器; 將本地 Visual Studio Code 中的代碼,一鍵打包、部署到任意的遠程服務器; 向任意的阿里云 ECS 或者 任意遠程服務器 發送并執行指定的命令(即將發布); VSCode 版本的插件正不斷更新迭代中,不久將會有更多強大的功能上線,請期待!或向我們提出需求! 如何下載插件? 開發者可以通過在線安裝或離線安裝方式來下載插件: 在線安裝:從 Visual Studio Code 的 Marketplace 進行安裝,訪問插件頁面: https://marketplace.visualstudio.com/items?itemName=alibabacloud-cloudtoolkit.toolkit-vscode&ssr=false#overview 離線安裝:在插件的群里(文末掃碼進群)獲得離線安裝包,進行離線安裝; 阿里云 Cloud Toolkit 和其他任何插件安裝方式一致,因此不做贅述,下面為大家詳細介紹插件功能。 一鍵打包部署 一、添加服務器 如下圖所示,在 Visual Studio Code 左側,點擊阿里云圖標,在出現的菜單中,點擊 Alibaba Cloud Toolkit - Host View 打開機器視圖界面。 然后點擊右上角 Add Host 按鈕,出現添加機器界面,如下圖。按照表單提示,填入對應的機器 IP,端口、用戶名和密碼即可。 二、部署 點擊 Run Configurations - Deployments - Deploy to Host 創建一個新的部署配置,配置界面如下: 在 Deploy to Host 對話框設置部署參數,然后單擊 Apply,即可保存。 部署參數說明: Name:未配置定義一個名字,以便更容易區分多個配置; File:選擇打包方式; Project:選擇待部署工程的根目錄; Build Output Directory:打包之后的 Output 目錄; Webpack Configuration:Webpack 配置; Target Host:部署的遠程目標服務器; Target Directory:遠程目標服務器上的指定部署目錄; After deploy:輸入應用啟動命令,如 sh /root/restart.sh,表示在完成應用包的部署后,需要執行的命令 —— 對于 Java 程序而言,通常是一句 Tomcat 的啟動命令。 查看更多:https://yq.aliyun.com/articles/743855?utm_content=g_1000103370 上云就看云棲號:更多云資訊,上云案例,最佳實踐,產品入門,訪問:https://yqh.aliyun.com/
來源:OSCHINA
發布時間:2020-02-11 20:57:00
安裝kudu-python包參照官方文檔: https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/kudu_development.html To install the Kudu Python client: Update all the packages on your system using the following command: sudo yum -y update Install the extra packages for the Enterprise Linux distribution: sudo yum -y install epel-release Install the Python package manager: sudo yum -y install python-pip Verify the version of the PIP manager that you just installed: pip --version Install Cython: sudo pip install cython Download the following files: wget http://username:password@archive.cloudera.com/p/cdh6/6.3.3/redhat7/yum/RPMS/x86_64/kudu-1.10.0+cdh6.3.x-1822539.x86_64.rpm wget http://username:password@archive.cloudera.com/p/cdh6/6.3.3/redhat7/yum/RPMS/x86_64/kudu-client-devel-1.10.0+cdh6.3.x-1822539.x86_64.rpm Install the kudu package from the local directory: sudo yum -y localinstall ./kudu-* Install the package used for developing Python extensions: sudo yum -y install python-devel Upgrade the setup tools: sudo pip install --upgrade pip setuptools Install the C++ compiler: sudo yum -y install gcc-c++ Install the Kudu-python client: sudo pip install kudu-python==1.10.0 Install kudu-python: sudo pip install kudu-python 上面,有個需要cloudera賬戶密碼的wget地址。其實只要來這個地址,就可以不用登陸就能下載了: https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/RPMS/x86_64/ 實際上,要下載的包有三個,分別是: kudu-1.10.0+cdh6.3.2-1605554.el7.x86_64.rpm 2019-11-12 13:43 161.00MB kudu-client-devel-1.10.0+cdh6.3.2-1605554.el7.x86_64.rpm kudu-client0-1.10.0+cdh6.3.2-1605554.el7.x86_64.rpm 2019-11-12 13:44 2019-11-12 13:43 57.00KB 4.00MB 就可以了。 我繞了一個彎路,按照官方文檔裝失敗了。 然后就在usr/lib64下面,手動地添加了一個 libkudu_client.0.so 文件(軟連接) 從我的CDH自動部署的Kudu項目里面找出來的。 https://community.cloudera.com/t5/Support-Questions/Using-kudu-with-Python/td-p/59185/ 然后再使用pip或者setuptools工具,把kudu包裝了上去。
來源:OSCHINA
發布時間:2020-02-11 15:14:00
一文看懂pandas的透視表pivot_table 一、概述 1.1 什么是透視表? 透視表是一種可以對 數據動態排布并且分類匯總的表格格式?;蛟S大多數人都在Excel使用過數據透視表,也體會到它的強大功能, 而在pandas中它被稱作pivot_table。 1.2 為什么要使用pivot_table? 靈活性高,可以隨意定制你的分析計算要求 脈絡清晰易于理解數據 操作性強,報表神器 二、如何使用pivot_table 首先讀取數據,數據集是火箭隊當家球星James Harden某一賽季比賽數據作為數據集進行講解。 數據地址 。 先看一下官方文檔中pivot_table的函數體: pandas.pivot_table - pandas 0.21.0 documentation pivot_table(data, values=None, index=None, columns=None,aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All') pivot_table有四個最重要的參數 index、values、columns、aggfunc ,本文以這四個參數為中心講解pivot操作是如何進行。 2.1 讀取數據 import pandas as pd import numpy as np df = pd.read_csv( 'h:/James_Harden.csv',encoding= 'utf8') df.tail() 數據格式如下: 2.2 Index 每個pivot_table必須擁有一個index, 如果想查看哈登對陣每個隊伍的得分,首先我們將對手設置為 index : pd.pivot_table(df,index=[ u'對手' ]) 對手成為了第一層索引,還想看看對陣同一對手在不同主客場下的數據,試著將對手與勝負與主客場都設置為index,其實就變成為了兩層索引 pd.pivot_table(df,index=[ u'對手' , u'主客場' ]) 試著交換下它們的順序,數據結果一樣: pd.pivot_table(df,index=[ u'主客場' , u'對手' ]) 看完上面幾個操作, Index就是層次字段,要通過透視表獲取什么信息就按照相應的順序設置字段 ,所以在進行pivot之前你也需要足夠了解你的數據。 2.3 Values 通過上面的操作,我們獲取了james harden在對陣對手時的所有數據, 而Values可以對需要的計算數據進行篩選,如果我們只需要james harden在主客場和不同勝負情況下的得分、籃板與助攻三項數據: pd.pivot_table(df,index=[ u'主客場' , u'勝負' ],values=[ u'得分' , u'助攻' , u'籃板' ]) 2.4 Aggfunc aggfunc參數可以設置我們對數據聚合時進行的函數操作。 當我們未設置aggfunc時,它默認 aggfunc='mean' 計算均值。我們還想要獲得james harden在主客場和不同勝負情況下的總得分、總籃板、總助攻時: pd.pivot_table(df,index=[ u'主客場' , u'勝負' ],values=[ u'得分' , u'助攻' , u'籃板' ],aggfunc=[np.sum,np.mean]) 2.5 Columns Columns類似Index可以設置列層次字段,它不是一個必要參數,作為一種分割數據的可選方式。 #fill_value填充空值,margins=True進行匯總 pd.pivot_table(df,index=[ u'主客場'],columns=[ u'對手'],values=[ u'得分'],aggfunc=[np.sum], fill_value= 0,margins= 1 ) 現在我們已經把關鍵參數都介紹了一遍,下面是一個綜合的例子: table=pd.pivot_table(df,index=[ u'對手' , u'勝負' ],columns=[ u'主客場' ],values=[ u'得分' , u'助攻' , u'籃板' ],aggfunc=[np.mean],fill_value= 0 ) 結果如下: aggfunc也可以使用dict類型,如果dict中的內容與values不匹配時,以dict中為準。 table=pd.pivot_table(df,index=[ u'對手', u'勝負'],columns=[ u'主客場'],values=[ u'得分', u'助攻', u'籃板'],aggfunc={ u'得分':np.mean, u'助攻':[min, max, np.mean]},fill_value= 0) 結果就是助攻求min,max和mean,得分求mean,而籃板沒有顯示。
來源:OSCHINA
發布時間:2020-02-10 22:55:00
# default_exp china # 上面一行用于nbdev中聲明本模塊的名稱。必須是notebook的第一個Cell的第一行。 china 描述:抗擊新冠病毒(6)-# 全國總體情況分析。 功能:載入data/china.csv文件,進行繪圖輸出和分析。 模塊:使用JupyterLab、Python、nbdev等完成。用到的Python模塊包括: re,正則表達式解析。 json,JSON格式解析。 pandas,數據表格分析。 數據來源: http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml 源碼-https://github.com/openthings/anti2020ncov 參考: JupyterLab-數據實驗室 文學式編程-nbdev入門教程 Pandas快速入門 更多參考: https://my.oschina.net/u/2306127?q=pandas 抗擊新冠病毒(1)-開源軟件與數據項目 抗擊新冠病毒(2)-基于Jupyter+nbdev的數據分析 抗擊新冠病毒(3)-探索在線數據資源 抗擊新冠病毒(4)-獲取并保存在線數據 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import * china = pd.read_csv("./data/china.csv") china = china.sort_values(by='日期') 趨勢圖繪制 # 繪制增加量趨勢圖 def draw(dfx): myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc',size=24) fig=plt.figure(figsize=(48,12), dpi=250) p1=fig.add_subplot(1,1,1) p1.set_xticklabels(dfx['日期'], rotation=15, fontsize='small',fontproperties=myfont) #顯示數據。 p1.plot(dfx['日期'],dfx['新增確診'],color='red',linewidth=3,label='新增確診') p1.plot(dfx['日期'],dfx['新增疑似'],color='#BB0000',linewidth=3,label='新增疑似') p1.plot(dfx['日期'],dfx['新增治愈'],color='green',linewidth=3,label='新增治愈') p1.plot(dfx['日期'],dfx['新增重癥'],color='#660000',linewidth=3,label='新增重癥') p1.bar(dfx['日期'],dfx['新增死亡'],color='black',label='新增死亡') plt.title(u'全國新增病例數量(NCP)-2020年01-02月',fontproperties=myfont) plt.legend(loc=0,ncol=1,prop=myfont) plt.grid(True) plt.gcf().autofmt_xdate() plt.show() # 繪制累計指標趨勢圖 def drawa(dfx): myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc',size=24) fig=plt.figure(figsize=(48,12), dpi=250) p1=fig.add_subplot(1,1,1) p1.set_xticklabels(dfx['日期'], rotation=15, fontsize='small',fontproperties=myfont) #顯示數據。 p1.plot(dfx['日期'],dfx['累計確診'],color='red',linewidth=3,label='累計確診') p1.plot(dfx['日期'],dfx['現有疑似'],color='#BB0000',linewidth=3,label='現有疑似') p1.plot(dfx['日期'],dfx['累計治愈'],color='green',linewidth=3,label='累計治愈') p1.bar(dfx['日期'],dfx['累計死亡'],color='black',label='累計死亡') plt.title(u'全國累計病例數量(NCP)-2020年01-02月',fontproperties=myfont) plt.legend(loc=0,ncol=1,prop=myfont) plt.grid(True) plt.gcf().autofmt_xdate() plt.show() 全國新增病例數量(NCP)-2020年01-02月 draw(china) 全國累計病例數量(NCP)-2020年01-02月 drawa(china)
來源:OSCHINA
發布時間:2020-02-10 22:49:00
# default_exp province # 上面一行用于nbdev中聲明本模塊的名稱。必須是notebook的第一個Cell的第一行。 province 描述:抗擊新冠病毒(5)-# 使用pandas進行數據分析. 功能:載入data/china.csv文件,進行繪圖輸出和分析。 模塊:使用JupyterLab、Python、nbdev等完成。用到的Python模塊包括: re,正則表達式解析。 json,JSON格式解析。 pandas,數據表格分析。 源碼-https://github.com/openthings/anti2020ncov 參考: JupyterLab-數據實驗室 文學式編程-nbdev入門教程 Pandas快速入門 更多參考: https://my.oschina.net/u/2306127?q=pandas 抗擊新冠病毒(1)-開源軟件與數據項目 抗擊新冠病毒(2)-基于Jupyter+nbdev的數據分析 抗擊新冠病毒(3)-探索在線數據資源 抗擊新冠病毒(4)-獲取并保存在線數據 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import * prov = pd.read_csv("./data/prov_20200209.csv") #prov #prov['省份'].values.tolist() 各省的病例情況圖 #中文亂碼問題,https://www.linuxidc.com/Linux/2019-03/157632.htm def draw(dfx): myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc') fig=plt.figure(figsize=(48,12), dpi=250) p1=fig.add_subplot(1,1,1) p1.set_xticklabels(dfx['省份'], rotation=30, fontsize='small',fontproperties=myfont) #顯示數據。 p1.plot(dfx['省份'],dfx['確診'],color='red',linewidth=3,label='確診') p1.plot(dfx['省份'],dfx['治愈'],color='green',linewidth=3,label='治愈') p1.bar(dfx['省份'],dfx['死亡'],color='black',label='死亡') plt.title(u'各省病例數量-2020/02/08',fontproperties=myfont) plt.legend(loc=0,ncol=1,prop=myfont) plt.grid(True) plt.gcf().autofmt_xdate() plt.show() # 繪制各省的病例情況圖。 draw(prov) 分省區的地市病例情況圖 city = pd.read_csv("./data/city_20200208.csv") #city # 繪制指定省份的地市病例情況圖。 def drawc(province): dfx = city[city['省份']==province] #print(dfx) #查詢Linux系統的可用字體:fc-list :lang=zh myfont = FontProperties(fname='/usr/share/fonts/truetype/arphic/ukai.ttc') fig = plt.figure(figsize=(48,6), dpi=250) p1 = fig.add_subplot(1,1,1) p1.set_xticklabels(dfx['城市'], rotation=30, fontsize='small',fontproperties=myfont) #顯示數據。 p1.plot(dfx['城市'],dfx['確診'],color='red',linewidth=3,label='確診') p1.plot(dfx['城市'],dfx['治愈'],color='green',linewidth=3,label='治愈') p1.bar(dfx['城市'],dfx['死亡'],color='black',label='死亡') plt.title(province + u'各地市病例數量-2020/02/08',fontproperties=myfont) plt.legend(loc=0,ncol=1,prop=myfont) plt.grid(True) plt.gcf().autofmt_xdate() plt.show() return dfx # 繪制所有省的所有地市統計圖。 ind = 1 for each in prov['省份']: print(ind, each) ind = ind + 1 try: result = drawc(each) except: print("ERROR!") 輸出圖形如下:
來源:OSCHINA
發布時間:2020-02-10 19:21:00
# default_exp getdata # 上面一行用于nbdev中聲明本模塊的名稱。必須是notebook的第一個Cell的第一行。 getdata 描述:抗擊新冠病毒(4)-獲取并保存在線數據。 功能:獲取數據,轉換為列表格式,保存到*.c s v文件,用于后續的分析和繪圖輸出。 模塊:使用JupyterLab、Python、nbdev等完成。用到的Python模塊包括: requests,訪問web服務網站。 re,正則表達式解析。 json,JSON格式解析。 BeautifulSoup,HTML格式解析。 pprint,格式化輸出。 pandas,數據表格分析。 源碼-https://github.com/openthings/anti2020ncov 參考: JupyterLab-數據實驗室 文學式編程-nbdev入門教程 抗擊新冠病毒(1)-開源軟件與數據項目 抗擊新冠病毒(2)-基于Jupyter+nbdev的數據分析 抗擊新冠病毒(3)-探索在線數據資源 #hide from nbdev.showdoc import * #export from bs4 import BeautifulSoup from parser import * #regex_parser import re import json import time import logging import datetime import requests import pprint 預設網絡地址和創建請求頭。 丁香園-新型冠狀病毒肺炎疫情實時動態, https://ncov.dxy.cn/ncovh5/view/pneumonia?from=singlemessage&isappinstalled=0 中國疾控中心, http://www.chinacdc.cn , 分布圖 http://2019ncov.chinacdc.cn/2019-nCoV/ 全國衛健委-新型冠狀病毒肺炎疫情防控, http://www.nhc.gov.cn/xcs/xxgzbd/gzbd_index.shtml 全國衛健委-官方網站, http://www.nhc.gov.cn 世界衛生組織(WHO), https://www.who.int/zh # export # 使用丁香園的數據。 url = "https://ncov.dxy.cn/ncovh5/view/pneumonia?from=singlemessage&isappinstalled=0" headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36' } #保存的文件名。 dateof = '20200207' 從Web服務獲取網頁,并解析為JSON格式。 Python之json使用 #export def getweb(): session = requests.session() session.headers.update(headers) r = session.get(url) soup = BeautifulSoup(r.content, 'lxml') #獲取省市數據。 area_information = re.search(r'\[(.*)\]', str(soup.find('script', attrs={'id': 'getAreaStat'}))) area = json.loads(area_information.group(0)) return area 保存分省的數據到data/prov_日期.csv文件。 # export # 寫入文件,分省數據。 def saveprovice(area): fprovince = "data/" + "prov_" + dateof + ".csv" fp = open(fprovince, "w") fp.write("省份,確診,疑似,治愈,死亡\r") for a in area: fp.write(a['provinceName']+','+ \ str(a['confirmedCount'])+','+ \ str(a['suspectedCount'])+','+ \ str(a['curedCount'])+','+ \ str(a['deadCount'])+ '\r') fp.close() print("writed to "+ fprovince + "\r\n") 保存分市的數據到文件 data/city_日期.csv。 # export # 寫入文件,分市數據。 def savecity(area): fcity = "data/" + "city_" + dateof + ".csv" fc = open(fcity, "w") fc.write("省份,城市,確診,疑似,治愈,死亡\r") for p in area: cities = p['cities'] for c in cities: fc.write(p['provinceName']+','+ \ c['cityName']+','+ \ str(c['confirmedCount'])+','+ \ str(c['suspectedCount'])+','+ \ str(c['curedCount'])+','+ \ str(c['deadCount'])+'\r') fc.close() print("writed to "+ fcity + "\r\n") 查看保存的文件。 這里用到Notebook的魔法操作符,參考: IPython 6/Jupyter的magic操作符 IPython的Magics魔法操作符 !ls -l data 總用量 176 -rw-r--r-- 1 supermap supermap 1445 2月 9 22:49 china.csv -rw-r--r-- 1 supermap supermap 11840 2月 7 23:02 city_20200207.csv -rw-r--r-- 1 supermap supermap 12156 2月 8 18:39 city_20200208.csv -rw-r--r-- 1 supermap supermap 12169 2月 10 18:20 city_20200209.csv -rw-r--r-- 1 supermap supermap 126285 2月 9 15:09 IMG_7082.JPG -rw-r--r-- 1 supermap supermap 780 2月 7 23:02 prov_20200207.csv -rw-r--r-- 1 supermap supermap 784 2月 8 18:39 prov_20200208.csv -rw-r--r-- 1 supermap supermap 790 2月 10 18:20 prov_20200209.csv nbdev 適用工具 # 將notebook轉化為python的*.py代碼,保存到項目名稱的子目錄中。 from nbdev.export import * notebook2script() Converted 00_digdata.ipynb. Converted 01_getdata.ipynb. Converted 10_charts.ipynb. Converted 10_china.ipynb. Converted index.ipynb.
來源:OSCHINA
發布時間:2020-02-10 19:00:00
女人个人私人电话联系杭州的|热久久久久香蕉无品码|爱情岛亚洲永久自拍品质|国产丶欧美丶日本不卡