




信創(chuàng)全稱為“信息技術(shù)應(yīng)用創(chuàng)新”,主要包含應(yīng)用于通信、云計算、大數(shù)據(jù)、人工智能、工業(yè)互聯(lián)網(wǎng)等諸多高新產(chǎn)業(yè)的基礎(chǔ)技術(shù)。基礎(chǔ)技術(shù)則包含基礎(chǔ)硬件、基礎(chǔ)軟件、應(yīng)用軟件、信息安全四大板塊。其中:
基礎(chǔ)硬件主要包括:芯片、服務(wù)器/PC、存儲等;
基礎(chǔ)軟件包括:數(shù)據(jù)庫、操作系統(tǒng)、中間件等;
應(yīng)用軟件包括:辦公軟件、ERP和其它軟件等;
信息安全包括:硬件安全、軟件安全、安全服務(wù)等各類產(chǎn)品。
信創(chuàng)的核心是通過國產(chǎn)和自主創(chuàng)新實現(xiàn)信息技術(shù)產(chǎn)業(yè)的“自主可控、安全可信、高效可用”。
長期以來,歐美國際IT巨頭利用技術(shù)優(yōu)勢占據(jù)了大量的市場份額,壟斷了全球的信息基礎(chǔ)設(shè)施,也幾乎完全控制了IT底層技術(shù)的制定標(biāo)準(zhǔn),把控了整個信息技術(shù)產(chǎn)業(yè)的核心生態(tài)。
我國自改革開放以來,在信息技術(shù)領(lǐng)域發(fā)展迅速,但在底層基礎(chǔ)核心技術(shù)領(lǐng)域依然一直處于模仿和追隨者的被動地位。
近些年,隨著外部環(huán)境的逐漸惡劣,一系列的事件倒逼著我國信創(chuàng)產(chǎn)業(yè)向自主可控的方向發(fā)展。諸如:
2008年微軟的黑屏事件
2010年伊朗震網(wǎng)病毒事件
2013年美國棱鏡門事件
2018年美國中興芯片斷供事件
2019年華為芯片斷供事件
2020年微軟windows7停服事件
于是,2020年在國家政策的大力支持下,信創(chuàng)產(chǎn)業(yè)開始全面爆發(fā)和布局,成為信創(chuàng)元年。
至今,2023年,信創(chuàng)經(jīng)過三年的大力發(fā)展和推廣,覆蓋的領(lǐng)域越來越廣,信創(chuàng)產(chǎn)品和應(yīng)用從最初的黨政領(lǐng)域,向醫(yī)療、教育、交通、金融等行業(yè)全面推進。因此,極光的消息產(chǎn)品在服務(wù)這些行業(yè)時,也面臨著信創(chuàng)的改造和升級。
近些年,極光服務(wù)積極拓展了金融,黨政機關(guān)等多個行業(yè)的私有云客戶。為了配合客戶的信創(chuàng)需求,極光服務(wù)于2022年也開啟了信創(chuàng)改造之路。極光服務(wù)信創(chuàng)改造主要涉及使用到的諸多中間件。
以下是極光服務(wù)重點對接適配的幾個信創(chuàng)中間件:
1、RocketMQ 替換為東方通 TongHtp2.0
在獲得相關(guān)文檔后,極光開發(fā)對東方通提供的十來個資料進行了查閱調(diào)研。
一開始,我們選擇基于異步接口進行系統(tǒng)改造,一般來說,異步接口在每次請求后都會收到一個對應(yīng)的回調(diào),是適用于UMS 業(yè)務(wù)需要的,但在實際調(diào)試時,我們發(fā)現(xiàn)只有第一條才會有回調(diào)返回,這樣的邏輯讓UMS系統(tǒng)無法判斷消息是否已發(fā)送。而東方通表示該異步接口的設(shè)計現(xiàn)狀就是如此,不得已,我們只好對同步接口進行封裝后再集成到UMS 中使用,浪費了一些時間。
在對「文件上傳功能」進行適配時,發(fā)現(xiàn)TongHtp2.0 出現(xiàn)字符流數(shù)據(jù)讀取亂碼的問題,分析發(fā)現(xiàn)是因為TongHtp2.0 不支持gzip格式。在這個情況下,我們需要對業(yè)務(wù)涉及字符流的地方進行特殊編碼處理才能完成兼容適配,最后通過修改成十六進制的編碼解決了這個問題。
由于 TongHtp2.0 依賴.so動態(tài)庫,無法在本地的開發(fā)環(huán)境進行調(diào)試,必須在部署腳本中指定依賴的動態(tài)庫,然后打包放到服務(wù)器上,通過打日志的方式來進行調(diào)試。因為調(diào)試方式復(fù)雜使得適配工期拉長。
經(jīng)過反復(fù)的調(diào)試、溝通討論,最終我們在8 月末順利完成東方通TongHtp2.0 的開發(fā)、自測。
2、Redis 替換為東方通 TongRDS2.2.1.2
9 月,我們在測試環(huán)境中安裝了TongRDS ,編寫了一個測試Client 與測試Server 測試其對Redis 協(xié)議的兼容性,其中Client 用于實現(xiàn)數(shù)據(jù)的寫,Server用于實現(xiàn)數(shù)據(jù)的查詢,我們測試驗證了string、list、set、hash、zset等幾種常見的數(shù)據(jù)類型,同時驗證了ttl 以及數(shù)據(jù)持久化。
在 Redis兼容性驗證之后,由于東方通TongRDS 有原生的Go sdk,因此我們用TongRDS 替換Redis,部署在我們的UMS 測試環(huán)境中,驗證UMS 的業(yè)務(wù)功能是否正常。
3、Nginx 替換為東方通 TongHttpServer
9 月,我們在測試環(huán)境中安裝了TonghttpServer,替換UMS 系統(tǒng)使用的Nginx 后驗證 UMS Portal 基本功能,可以正常運行。
在驗證高級功能時,因為在頻率限制、黑白名單等功能中用到了Nginx Lua,所以需要驗證TonghttpServer 對Nginx lua 的支持和兼容性。我們編寫了Nginx lua 腳本,將其放到TonghttpServer 的對應(yīng)目錄并更新配置文件,重啟后驗證api limit 以及路由轉(zhuǎn)發(fā)功能是否正常。
4、MySQL 替換為 TiDB
經(jīng)過調(diào)研發(fā)現(xiàn),TiDB基本可以兼容 MySQL,因此我們直接利用TiDB 的數(shù)據(jù)遷移工具,將MySQL數(shù)據(jù)庫的存量數(shù)據(jù)遷移到TiDB,進行基本功能驗證即可。
5、 寶蘭德的適配
為了以最快的速度完成信創(chuàng)的兼容,確保上線時間,我們在寶蘭德和東方通的調(diào)研、適配上安排了多個開發(fā)同步進行,當(dāng)遇到阻礙時及時商討方案,調(diào)整選型和人力配置,最后按時完成了開發(fā)提測。以下是我們在寶蘭德適配上遇到的問題和經(jīng)驗分享:
從寶蘭德廠商獲得BESMQ、BCS(對應(yīng)Redis)以及 Web服務(wù)器 bws3.1 的測試Licence,將UMS系統(tǒng)使用的 RocketMQ、Redis以及 Nginx等中間件替換為對應(yīng)的寶藍德組件,開始進行兼容適配工作。
在驗證 BCS(對應(yīng)Redis)時,因為寶蘭德不支持原生的Go 客戶端,所以極光必須自行開發(fā)一個中間服務(wù)做Redis 協(xié)議轉(zhuǎn)發(fā),通過把Go 的協(xié)議轉(zhuǎn)發(fā)給Java 的 SDK來實現(xiàn)。我們先調(diào)用 Java SDK 客戶端對 Redis的幾種數(shù)據(jù)類型(string、set、hash、list、zset)做了兼容性驗證,發(fā)現(xiàn)數(shù)據(jù)讀寫都是正常的。
另外,也寫了一個簡單的協(xié)議轉(zhuǎn)發(fā)服務(wù)proxysrv,用于將umsserver 對 Redis的操作轉(zhuǎn)發(fā)給 BCS的原生SDK,在對基本場景驗證后確認方案可行,但是由于協(xié)議轉(zhuǎn)發(fā)存在性能損耗,同時由于proxy 與 ums server 之間是一個長連接,涉及連接?;畹臋C制,要完美實現(xiàn)可能會有點復(fù)雜,因此決定放棄適配寶蘭德,選用東方通RDS。
在驗證 BESMQ時,同樣遇到了沒有 Go SDK的問題,我們自研開發(fā)了一個代理服務(wù)用于協(xié)議轉(zhuǎn)發(fā),但在自測過程中遇到了連接無法?;畹膯栴},如果要?;顒t需要實現(xiàn)心跳機制,心跳機制相對比較復(fù)雜,因此決定放棄適配,選用東方通TongHtp。
因上述組件選用了東方通,而東方通的 TonghttpServer 已驗證通過,因此未繼續(xù)驗證bws3.1 替代 Nginx。
在經(jīng)過一段時間繁瑣的適配開發(fā)后,極光私有云服務(wù)已改造成能適配絕大部分需求,但對接的過程中也遇到了不少問題,諸如:
各行業(yè)信創(chuàng)標(biāo)準(zhǔn)不統(tǒng)一,尤其同類型不同信創(chuàng)組件,對接接口不一致,適配工作量重復(fù)且繁瑣
國產(chǎn)信創(chuàng)組件搭建穩(wěn)定的測試驗證環(huán)境困難,很多時候只能在客戶集成測試環(huán)境才能完成最終驗證
國產(chǎn)信創(chuàng)組件三方交付配合,尤其在問題定位時,溝通成本較高
展望未來,信創(chuàng)改造是一項長期需要投入的工作,為了提高后續(xù)的接入開發(fā)和交付效率。信創(chuàng)改造依然有許多值得優(yōu)化的地方,目前總結(jié)有以下幾點:
開發(fā)過程中,對中間件的使用接口應(yīng)抽象成泛型,并以插件的形式快速接入不同類型的信創(chuàng)組件
交付過程中,對已能支持的組件,使用配置化的方式支持定制化切換
提高不同信創(chuàng)組件的使用經(jīng)驗和運維能力,包括開發(fā)定制化的工具支持系統(tǒng)組件的可視化,故障監(jiān)控告警,完善標(biāo)準(zhǔn)化文檔等等。
關(guān)于極光
極光(Aurora Mobile,納斯達克股票代碼:JG)成立于2011年,是中國領(lǐng)先的客戶互動和營銷科技服務(wù)商。成立之初,極光專注于為企業(yè)提供穩(wěn)定高效的消息推送服務(wù),憑借先發(fā)優(yōu)勢,已經(jīng)成長為市場份額遙遙領(lǐng)先的移動消息推送服務(wù)商。隨著企業(yè)對客戶觸達和營銷增長需求的不斷加強,極光前瞻性地推出了消息云和營銷云等解決方案,幫助企業(yè)實現(xiàn)多渠道的客戶觸達和互動需求,以及人工智能和大數(shù)據(jù)驅(qū)動的營銷科技應(yīng)用,助力企業(yè)數(shù)字化轉(zhuǎn)型。
熱門文章
相關(guān)文章
極光官方微信公眾號
關(guān)注我們,即時獲取最新極光資訊
現(xiàn)在注冊,領(lǐng)取新人大禮包