国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

五阿哥鋼鐵電商平臺(tái)Docker容器云平臺(tái)建設(shè)實(shí)踐——你想知道的都在這里!

jeffrey_up / 3055人閱讀

摘要:容器云架構(gòu)方案。容器云架構(gòu)方案基于容器技術(shù),運(yùn)維技術(shù)團(tuán)隊(duì)開發(fā)了五阿哥網(wǎng)站的容器云平臺(tái)。多云對(duì)接私有云和公有云進(jìn)行統(tǒng)一托管,包含網(wǎng)絡(luò)區(qū)域配置,實(shí)例開通及的環(huán)境初始化配置等。技術(shù)選型及實(shí)踐鏡像標(biāo)準(zhǔn)眾所周知,的鏡像是分層的。

前言

五阿哥鋼鐵電商平臺(tái)(www.wuage.com)是由鋼鐵行業(yè)第一的中國五礦與互聯(lián)網(wǎng)第一的阿里巴巴聯(lián)手打造,并充分運(yùn)用雙方股東優(yōu)勢(shì)資源,即:阿里巴巴在大數(shù)據(jù)、電商運(yùn)營、互聯(lián)網(wǎng)產(chǎn)品技術(shù)上的巨大優(yōu)勢(shì),尤其是在B2B終端買家上的獨(dú)有市場(chǎng)基礎(chǔ),以及中國五礦67年的行業(yè)經(jīng)驗(yàn),和遍布全球的200多個(gè)營銷和物流網(wǎng)點(diǎn),致力于為鋼鐵行業(yè)帶來全新而持續(xù)的發(fā)展。Docker容器云平臺(tái)是運(yùn)維技術(shù)團(tuán)隊(duì)為內(nèi)部服務(wù)整合、開發(fā)的一套容器管理平臺(tái),支持基礎(chǔ)設(shè)施私有云和公有云對(duì)接,實(shí)現(xiàn)云上和云下實(shí)例使用一套平臺(tái)進(jìn)行管理,業(yè)務(wù)實(shí)例按需彈性擴(kuò)容和縮容,規(guī)范化的項(xiàng)目管理流程、測(cè)試、上線流程,旨在將開發(fā)、測(cè)試人員從基礎(chǔ)環(huán)境的配置與管理中解放出來,使其更聚焦于自己的業(yè)務(wù)開發(fā)。

本文主要結(jié)合在五阿哥業(yè)務(wù)場(chǎng)景情況,從以下三個(gè)部分講解:

1、為什么使用Docker技術(shù) 。

2、Docker容器云架構(gòu)方案。

3、技術(shù)的選型和實(shí)踐。

為什么使用Docker技術(shù)

1.硬件資源利用率的問題,造成部分成本的浪費(fèi)

在網(wǎng)站功能中不同的業(yè)務(wù)場(chǎng)景有計(jì)算型的,有IO讀寫型的,有網(wǎng)絡(luò)型,有內(nèi)存型的,集中部署應(yīng)用就會(huì)導(dǎo)致資源利用率不合理的問題。比如,一個(gè)機(jī)器上部署的服務(wù)都是內(nèi)存密集型,那么CPU資源就都很容易浪費(fèi)了。

2.單物理機(jī)多應(yīng)用無法進(jìn)行有效的隔離,導(dǎo)致應(yīng)用對(duì)資源的搶占和相互影響

一個(gè)物理機(jī)器跑多個(gè)應(yīng)用,無法進(jìn)行所使用的CPU,內(nèi)存,進(jìn)程進(jìn)行限制,如果一個(gè)應(yīng)用出現(xiàn)對(duì)資源的搶占問題,就會(huì)引起連鎖反應(yīng),最終導(dǎo)致網(wǎng)站部分功能不可用。

3.環(huán)境、版本管理復(fù)雜,上線部署流程缺乏,增加問題排查的復(fù)雜度

由于內(nèi)部開發(fā)流程的不規(guī)范,代碼在測(cè)試或者上線過程中,對(duì)一些配置項(xiàng)和系統(tǒng)參數(shù)進(jìn)行隨意的調(diào)整,在發(fā)布時(shí)進(jìn)行增量發(fā)布,一旦出現(xiàn)問題,就會(huì)導(dǎo)致測(cè)試的代碼和線上運(yùn)行的代碼是不一致的,增加了服務(wù)上線的風(fēng)險(xiǎn),也增加了線上服務(wù)故障排查的難度。

4.環(huán)境不穩(wěn)定,遷移成本高,增加上線風(fēng)險(xiǎn)

在開發(fā)過程中存在多個(gè)項(xiàng)目并行開發(fā)和服務(wù)的依賴問題,由于環(huán)境和版本的復(fù)雜性很高,不能快速搭建和遷移一個(gè)環(huán)境,導(dǎo)致無法在測(cè)試環(huán)境中無法模擬出線上的流程進(jìn)行測(cè)試,很多同學(xué)在線上環(huán)境進(jìn)行測(cè)試,這里有很高的潛在風(fēng)險(xiǎn),同時(shí)導(dǎo)致開發(fā)效率降低。

5.傳統(tǒng)虛擬機(jī)和物理機(jī)占用空間大,啟動(dòng)慢,管理復(fù)雜等問題

傳統(tǒng)虛擬機(jī)和物理機(jī)在啟動(dòng)過程進(jìn)行加載內(nèi)核,執(zhí)行內(nèi)核和init進(jìn)行,導(dǎo)致在啟動(dòng)過程占用很長(zhǎng)時(shí)間,而且在管理過程中會(huì)遇到各種各樣的管理問題。

Docker容器云架構(gòu)方案

基于Docker容器技術(shù),運(yùn)維技術(shù)團(tuán)隊(duì)開發(fā)了五阿哥網(wǎng)站的容器云平臺(tái)。整體架構(gòu)圖如下:

基礎(chǔ)設(shè)施

基礎(chǔ)設(shè)施包含網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)等計(jì)算資源。

多云對(duì)接

私有云(VMware)和公有云(aliyun)進(jìn)行統(tǒng)一托管,包含網(wǎng)絡(luò)區(qū)域配置,VM實(shí)例開通及Docker的環(huán)境初始化配置等。

彈性調(diào)度

Docker容器云平臺(tái)集群節(jié)點(diǎn)管理,Saltstack進(jìn)行配置管理,鏡像中心管理業(yè)務(wù)鏡像,統(tǒng)一監(jiān)控,統(tǒng)一日志管理,定時(shí)任務(wù)管理。

服務(wù)編排

服務(wù)注冊(cè),服務(wù)發(fā)現(xiàn),容器節(jié)點(diǎn)在線的擴(kuò)容和縮容,服務(wù)優(yōu)雅上線,回滾降級(jí),規(guī)范Java,Node,Python,iOS,Android等規(guī)范化的上線。

統(tǒng)一門戶

規(guī)范化整個(gè)業(yè)務(wù)流程,簡(jiǎn)潔的用戶流程,可動(dòng)態(tài)管理整個(gè)云環(huán)境的所有資源。

技術(shù)選型及實(shí)踐 鏡像標(biāo)準(zhǔn)

眾所周知,Docker的鏡像是分層的。對(duì)鏡像分層進(jìn)行約定:
第一層是操作系統(tǒng)層,由CentOS/Alpine等基礎(chǔ)鏡像構(gòu)成,安裝一些通用的基礎(chǔ)組件;
第二層是中間件層,根據(jù)不同的應(yīng)用程序,安裝它們運(yùn)行時(shí)需要使用到的各種中間件和依賴軟件包,如,nginx、tomcat等;
第三層是應(yīng)用層,這層僅包含已經(jīng)打好包的各應(yīng)用程序代碼。

經(jīng)驗(yàn)總結(jié):如何讓自己的鏡像變的更小,PUSH的更快?

dockerfile構(gòu)建應(yīng)用鏡像,在中間件層遇到一些需要安裝的軟件包時(shí),盡可能的使用包管理工具(如yum)或以git clone方式下載源碼包進(jìn)行安裝,目的是將軟件包的copy和安裝控制在同一層,軟件部署成功后清除一些無用的rpm包或源碼包,讓基礎(chǔ)鏡像的尺寸更小。

Java應(yīng)用鏡像中并沒有將jdk軟件包打入鏡像,將jdk部署在每臺(tái)宿主上,在運(yùn)行鏡像時(shí),通過掛載目錄的方式將宿主機(jī)上的java家目錄掛載至容器指定目錄下。因?yàn)樗鼤?huì)把基礎(chǔ)鏡像撐得非常大;

在構(gòu)建應(yīng)用鏡像時(shí),docker會(huì)對(duì)這兩層進(jìn)行緩存并直接使用,僅會(huì)重新創(chuàng)建代碼出現(xiàn)變動(dòng)的應(yīng)用層,這樣就提高了應(yīng)用鏡像的構(gòu)建速度和構(gòu)建成功后向鏡像倉庫推送的速度,從整體流程上提升了應(yīng)用的部署效率。

編排工具

Rancher圖形化管理界面,部署簡(jiǎn)單、方便, 可以與AD、LDAP、GITHUB集成,基于用戶或用戶組進(jìn)行訪問控制,快速將系統(tǒng)的編排工具升級(jí)至kubernetes或者swarm,同時(shí)有專業(yè)的技術(shù)團(tuán)隊(duì)進(jìn)行支持,降低容器技術(shù)入門的難度。

基于以上優(yōu)點(diǎn)我們選擇Rancher作為我們?nèi)萜髟破脚_(tái)的編排工具,在對(duì)應(yīng)用的容器實(shí)例進(jìn)行統(tǒng)一的編排調(diào)度時(shí),配合Docker-Compose組件,可以在同一時(shí)間對(duì)多臺(tái)宿主機(jī)執(zhí)行調(diào)度操作。同時(shí),在服務(wù)訪問出現(xiàn)峰值和低谷時(shí),利用特有的rancher-compose.yml文件調(diào)用“SCALE”特性,對(duì)應(yīng)用集群執(zhí)行動(dòng)態(tài)擴(kuò)容和縮容,讓應(yīng)用按需求處理不同的請(qǐng)求。
[https:/zhuanlan.zhihu.com/p/2...]()

網(wǎng)絡(luò)模型

由于后端開發(fā)基于阿里的HSF框架,生產(chǎn)者和消費(fèi)者之間需要網(wǎng)絡(luò)可達(dá),對(duì)網(wǎng)絡(luò)要求比較高,需要以真實(shí)IP地址進(jìn)行注冊(cè)和拉取服務(wù)。所以在選擇容器網(wǎng)絡(luò)時(shí),我們使用了Host模式,在容器啟動(dòng)過程中會(huì)執(zhí)行腳本檢查宿主機(jī)并分配給容器一個(gè)獨(dú)立的端口,來避免沖突的問題。

持續(xù)集成

監(jiān)測(cè)代碼提交狀態(tài),對(duì)代碼進(jìn)行持續(xù)集成,在集成過程中執(zhí)行單元測(cè)試,代碼Sonar和安全工具進(jìn)行靜態(tài)掃描,將結(jié)果通知給開發(fā)同學(xué)同時(shí)部署集成環(huán)境,部署成功后觸發(fā)自動(dòng)化測(cè)試(自動(dòng)化測(cè)試部分后續(xù)會(huì)更新https://zhuanlan.zhihu.com/id...)。

靜態(tài)掃描結(jié)果:

持續(xù)部署

是一種能力,這種能力非常重要,把一個(gè)包快速部署在你想要的地方。平臺(tái)采用分布式構(gòu)建、部署,master管理多個(gè)slave節(jié)點(diǎn),每個(gè)slave節(jié)點(diǎn)分屬不同的環(huán)境。在master上安裝并更新插件、創(chuàng)建job、管理各開發(fā)團(tuán)隊(duì)權(quán)限。slave用于執(zhí)行job。

基于上述架構(gòu),我們定義了持續(xù)部署規(guī)范的流程:

開發(fā)同學(xué)向gitlab提交代碼;

拉取項(xiàng)目代碼和配置項(xiàng)文件,執(zhí)行編譯任務(wù);

拉取基礎(chǔ)鏡像,將編譯好的應(yīng)用包打入生成最新的應(yīng)用鏡像,推送到鏡像倉庫;

根據(jù)當(dāng)前應(yīng)用及所屬環(huán)境定制化生成docker-compose.yml文件,基于這個(gè)文件執(zhí)行rancher-compose命令,將應(yīng)用鏡像部署到預(yù)發(fā)環(huán)境(發(fā)布生產(chǎn)前的測(cè)試環(huán)境,相關(guān)配置、服務(wù)依賴關(guān)系和生產(chǎn)環(huán)境一致)。

預(yù)發(fā)環(huán)境測(cè)試通過后將應(yīng)用鏡像部署至線上環(huán)境,測(cè)試結(jié)果通知后端測(cè)試同學(xué)。

監(jiān)控管理

通過zabbix 自動(dòng)注冊(cè)(AutoRegistration),Grafana通過調(diào)用zabbix的API接口進(jìn)行監(jiān)控指標(biāo)的統(tǒng)一展示。

日志管理

容器在運(yùn)行時(shí)會(huì)在只讀層之上創(chuàng)建讀寫層,所有對(duì)應(yīng)用程序的寫操作都在這層進(jìn)行。當(dāng)容器重啟后,讀寫層中的數(shù)據(jù)(包含日志)也會(huì)一并被清除。雖然可以通過將容器中日志目錄掛載到宿主機(jī)解決此類問題,但當(dāng)容器在多個(gè)宿主機(jī)間頻繁漂移時(shí),每個(gè)宿主機(jī)上都會(huì)有留存應(yīng)用名的部分日志,增加了開發(fā)同學(xué)查看、排查問題的難度。

綜上所述,日志服務(wù)平臺(tái)作為五阿哥網(wǎng)站日志倉庫,將應(yīng)用運(yùn)行過程中產(chǎn)生的日志統(tǒng)一存儲(chǔ),并且支持多種方式的查詢操作。

通過在日志服務(wù)的管理界面配置日志采集路徑,在容器中部署agent把應(yīng)用日志統(tǒng)一投遞到logstore中,再在logstore中配置全文索引和分詞符,以便開發(fā)同學(xué)能夠通過關(guān)鍵字搜索、查詢想要的日志內(nèi)容。
經(jīng)驗(yàn)總結(jié):如何避免日志的重復(fù)采集問題?

日志服務(wù)agent需要在配置文件“ilogtail_config.json”中增加配置參數(shù)“check_point_filename”,指定checkpoint文件生成的絕對(duì)路徑,并且將此路徑掛載至宿主機(jī)目錄下,確保容器在重啟時(shí)不會(huì)丟失checkpoint文件,不會(huì)出現(xiàn)重復(fù)采集問題。

服務(wù)注冊(cè)

etcd是一個(gè)具備高可用性和強(qiáng)一致性的鍵值存儲(chǔ)倉庫,它使用類似于文件系統(tǒng)的樹形結(jié)構(gòu),數(shù)據(jù)全部以“/”開頭。etcd的數(shù)據(jù)分為兩種類型:key和directories,其中key下存儲(chǔ)多帶帶的字符串值,directories下則存放key的集合或者其他子目錄。

在五阿哥環(huán)境中,每個(gè)向etcd注冊(cè)的應(yīng)用服務(wù),它們的根目錄都以”/${APP_NAME}_${ENVIRONMENT}”命名。根目錄下存儲(chǔ)每個(gè)應(yīng)用實(shí)例的Key信息,它們都以“${IP}-${PORT}”的方式命名。
下圖是使用上述約定,存儲(chǔ)在etcd上某應(yīng)用實(shí)例的數(shù)據(jù)結(jié)構(gòu):

可以看到我是使用get方法向etcd發(fā)送請(qǐng)求的,請(qǐng)求的是部署在預(yù)發(fā)環(huán)境(PRE)的搜索服務(wù)(search);在它的根目錄“/search_PRE”下,僅存儲(chǔ)了一個(gè)應(yīng)用實(shí)例的信息,這個(gè)實(shí)例的key是“172.18.100.31-86”;對(duì)應(yīng)的value是“172.18.100.31:86‘’,整個(gè)注冊(cè)過程是這樣的:

①通過代碼為容器應(yīng)用程序生成隨機(jī)端口,和宿主機(jī)正在使用的端口進(jìn)行比對(duì),確保端口沒有沖突后寫入程序配置文件;
②把通過python和etcd模塊編寫的服務(wù)注冊(cè)工具集成在腳本中,將IP地址和上一步獲取的隨機(jī)端口以參數(shù)的方式傳遞給服務(wù)注冊(cè)工具;
③待應(yīng)用程序完全啟動(dòng)后,由服務(wù)注冊(cè)工具以約定好的數(shù)據(jù)結(jié)構(gòu)將應(yīng)用實(shí)例的寫入etcd集群,完成服務(wù)注冊(cè)工作;
④容器定時(shí)向etcd發(fā)送心跳,報(bào)告存活并刷新ttl時(shí)間;
⑤容器腳本捕獲rancher發(fā)送至應(yīng)用實(shí)例的singnal terminal信號(hào),在接收到信號(hào)后向etcd發(fā)送delete請(qǐng)求刪除實(shí)例的數(shù)據(jù)。
注:在ttl基礎(chǔ)上增加主動(dòng)清除功能,在服務(wù)正常釋放時(shí),可以立刻清除etcd上注冊(cè)信息,不必等待ttl時(shí)間。

經(jīng)驗(yàn)總結(jié):容器在重啟或者意外銷毀時(shí),讓我們一起看一下這個(gè)過程中容器和注冊(cè)中心都做了什么事情?

應(yīng)用在注冊(cè)是攜帶key 和value時(shí)攜帶了ttl超時(shí)屬性,就是考慮到當(dāng)服務(wù)集群中的實(shí)例宕機(jī)后,它在etcd中注冊(cè)的信息也隨之失效,若不予清除,失效的信息將會(huì)成為垃圾數(shù)據(jù)被一直保存,而且配置管理工具還會(huì)把它當(dāng)做正常數(shù)據(jù)讀取出來,寫入web server的配置文件中。要保證存儲(chǔ)在etcd中的數(shù)據(jù)始終有效,就需要讓etcd主動(dòng)釋放無效的實(shí)例信息,來看一下注冊(cè)中心刷新的機(jī)制,代碼直接奉上:

服務(wù)發(fā)現(xiàn)

confd是一個(gè)輕量級(jí)的配置管理工具,支持etcd作為后端數(shù)據(jù)源,通過讀取數(shù)據(jù)源數(shù)據(jù),保證本地配置文件為最新;不僅如此 ,它還可以在配置文件更新后,檢查配置文件語法有效性,以重新加載應(yīng)用程序使配置生效。這里需要說明的是,confd雖然支持rancher作為數(shù)據(jù)源,但考慮易用性和擴(kuò)展性等原因,最終我們還是選擇了etcd。

和大多數(shù)部署方式一樣,我們把confd部署在web server所在的ECS上,便于confd在監(jiān)測(cè)到數(shù)據(jù)變化后及時(shí)更新配置文件和重啟程序。confd的相關(guān)配置文件和模板文件部署在默認(rèn)路徑/etc/confd下,目錄結(jié)構(gòu)如下:
/etc/confd/
├── conf.d
├── confd.toml
└── templates
confd.toml是confd的主配置文件,使用TOML格式編寫,因?yàn)閑tcd是集群部署,有多個(gè)節(jié)點(diǎn),將interval、nodes等選項(xiàng)寫到了這個(gè)配置文件里。
cond.d目錄存放web server的模板配置源文件,也使用TOML格式編寫。該文件用于指定應(yīng)用模板配置文件路徑(src)、應(yīng)用配置文件路徑(dest)、數(shù)據(jù)源的key信息(keys)等。

templates目錄存放web server下每個(gè)應(yīng)用的模板配置文件。它使用Go支持的text/template語言格式進(jìn)行編寫。在confd從etcd中讀取到最新應(yīng)用注冊(cè)信息后,通過下面的語句寫入模板配置文件中:
{{range getvs "/${APP_NAME}/*"}}

    server {{.}};

{{end}}

通過supervisor管理confd進(jìn)程。confd在運(yùn)行后會(huì)每隔5秒對(duì)etcd進(jìn)行輪詢,當(dāng)某個(gè)應(yīng)用服務(wù)的K/V更新后,confd會(huì)讀取該應(yīng)用存儲(chǔ)在etcd中的數(shù)據(jù),寫入到模板配置文件中,生成這個(gè)應(yīng)用配置文件,最后由confd將配置文件寫入到目標(biāo)路徑下,重新加載nginx程序使配置生效。(代碼請(qǐng)參考:https://zhuanlan.zhihu.com/id...)

總結(jié)

以上是五阿哥運(yùn)維技術(shù)團(tuán)隊(duì)針對(duì)Docker容器云平臺(tái)建設(shè)實(shí)踐,目前已經(jīng)將權(quán)限開放給開發(fā)同學(xué),實(shí)現(xiàn)云上和云下實(shí)例使用一套平臺(tái)進(jìn)行管理,業(yè)務(wù)實(shí)例按需彈性擴(kuò)容和縮容,規(guī)范化的項(xiàng)目管理和發(fā)布流程,實(shí)例和業(yè)務(wù)可按需進(jìn)行擴(kuò)容和縮容,實(shí)現(xiàn)7*24小時(shí)“一站式”的持續(xù)交付,開發(fā)同學(xué)更聚焦于自己的業(yè)務(wù)開發(fā),提高了公司的研發(fā)過程的效能。

接下來會(huì)不斷優(yōu)化和適配各種業(yè)務(wù)場(chǎng)景,逐漸完善容器云平臺(tái),同時(shí)會(huì)將容器云平臺(tái)各種功能,總結(jié)的經(jīng)驗(yàn)和教訓(xùn)不斷分享給大家,給大家在工作中一些參考,避免走重復(fù)的“彎路”。

作者簡(jiǎn)介:劉曉明,五阿哥(www.wuage.com)公司運(yùn)維技術(shù)負(fù)責(zé)人,擁有10年的互聯(lián)網(wǎng)開發(fā)和運(yùn)維經(jīng)驗(yàn)。一直致力于運(yùn)維工具的開發(fā)和運(yùn)維專家服務(wù)的推進(jìn),賦能開發(fā),提高效能。最后給自己代個(gè)鹽~~歡迎大家有空時(shí)翻下我牌子(知乎號(hào):布道 ),看看之前的文章,順便關(guān)注下專欄“開發(fā)運(yùn)維”。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/27220.html

相關(guān)文章

  • 大佬為你揭秘微信支付的系統(tǒng)架構(gòu),你想知道都在這里

    摘要:年之前,微信支付業(yè)務(wù)快速發(fā)展,需要一款數(shù)據(jù)庫能夠安全高效的支撐微信支付商戶系統(tǒng)核心業(yè)務(wù),這個(gè)重任落在了騰訊數(shù)據(jù)庫團(tuán)隊(duì)自研上。由于是用于微信支付的核心數(shù)據(jù)庫,騰訊被定位為安全高效,穩(wěn)定,可靠的數(shù)據(jù)庫集群。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由李躍森發(fā)表于云+社區(qū)專欄李躍森,騰訊云PostgreSQL首席架構(gòu)師,騰訊數(shù)據(jù)庫團(tuán)隊(duì)架構(gòu)師,負(fù)責(zé)微信支付商戶系統(tǒng)核心數(shù)...

    Terry_Tai 評(píng)論0 收藏0
  • 數(shù)人|當(dāng)K8S遇上微服務(wù)-京東金融PaaS平臺(tái)思考與實(shí)踐

    摘要:平臺(tái)上的微服務(wù)架構(gòu)應(yīng)用再來看一下我眼中的基于當(dāng)前最流行的微服務(wù)架構(gòu)的設(shè)計(jì)是什么樣的,即我們平臺(tái)上要運(yùn)行的典型應(yīng)用是什么樣的。 showImg(https://segmentfault.com/img/remote/1460000010900878); 8月19日的數(shù)人云Container Meetup上,張龍老師做了《基于Kubernetes的PaaS平臺(tái)的設(shè)計(jì)和思考》的精彩分享,分別...

    Imfan 評(píng)論0 收藏0
  • 阿里上年中鉅惠來啦!你想知道都在這里

    摘要:七月流火,燃情盛夏值此季節(jié),阿里云又推出了年中鉅惠,精選百款產(chǎn)品,助力創(chuàng)業(yè)新勢(shì)力。阿里云云盾安全防護(hù)體系,不僅合規(guī),更加安全。七月流火,燃情盛夏!值此季節(jié),阿里云又推出了年中鉅惠,精選百款產(chǎn)品,助力創(chuàng)業(yè)新勢(shì)力。從7月26日開始,每天上午10點(diǎn)、下午4點(diǎn)將會(huì)放出爆款產(chǎn)品,進(jìn)行限量秒殺,大家不要錯(cuò)過。注冊(cè)登陸還可抽取 iPhone 12 Pro、Cherry 機(jī)械鍵盤、企業(yè)電子書大禮包等好禮。 ...

    TesterHome 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<