掘金 AMA:聽螞蟻金服 mPaaS 團隊技術專家--凝睇講客戶端推送 & 997 那些事

清蒸不是水煮發表於2019-01-13

第十六期 AMA 掘金團隊請來了來自十六期嘉賓是來自螞蟻金服 mPaaS(移動研發平臺)團隊 的技術專家-- 凝睇做了為期三天的 Ask Me Anything (AMA) 活動(活動已結束)。

我們在此精選了一些來自使用者的提問及凝睇的回答。

關於凝睇

目前主要負責 mPaaS 產品服務端研發,在螞蟻工作 7 年多。這些年他的工作基本都圍繞著 Java,期間主要負責過支付寶手機 WAP 主站,alipass (支付寶卡券),客戶端資料同步平臺(Sync)的研發,並帶這些產品參與過多次雙 11、雙 12 和支付寶春節紅包大促活動。

掘金 AMA:聽螞蟻金服 mPaaS 團隊技術專家--凝睇講客戶端推送 & 997 那些事

社群小夥伴精選提問--技術直接相關

在到達率方面,如何保證訊息在推送過程中不會丟失? ─ @噯de陽

您好,我想問下推送這塊,你們和極光、小米有啥區別,或者說你們的優勢在哪裡?以及在到達率方面,如何保證訊息在推送過程中不會丟失。

到達率其實主要看在弱網環境下的長連結的質量,讓訊息儘可能在有效期內完成送達,目前螞蟻體系的長連結是螞蟻私有的網路協議以及一系列的網路建聯策略,其主要的目的是,減少協議本身資料包大小,然後儘量保證在網路不太好的情況下能儘可能的通過一些動態的策略保證連結能建上,並保持時間長一點。

丟失是不用擔心的,推送服務本身,會有ack和重試機制。

請問可以在檔案流中獲取,檔案修改時間以及建立時間? ─ @_楊瀚博

請問可以在檔案流中獲取,檔案修改時間以及建立時間?excel檔案中二進位制編碼頭中,除了魔數以外的的其他位元組都有那些含義?

回覆

Path p = Paths.get(pathStr);
    BasicFileAttributes view
       = Files.getFileAttributeView(p, BasicFileAttributeView.class)
              .readAttributes();
    System.out.println(view.creationTime()); 試試這個
複製程式碼

應該是JDK 7 之後的特性,Excel的還真玩的不多,估計這篇文章你也看到過了吧。 blog.csdn.net/luedipiaofe…

mpaas底層有運用到容器化部署技術嗎? -@Chan醬

mpaas底層有運用到容器化部署技術嗎? 我打算利用Kubernetes給公司的應用提供部署服務,遮蔽各種基礎設施的細節。如果做這方面的工作需要考慮什麼比較關鍵的問題嗎? 對於日誌收集,監控,配置問題,我發現利用sidecar的容器工作模式去實現非常優雅,不知道還有沒有更好的解決方案?

目前部署方式我們可以通過非容器化的指令碼部署方式,也可以支援容器化部署。在mpaas這邊,普通的Java應用對於容器化的適配還是比較方便的,但是對於一些本身對一些系統介面有所依賴的會略麻煩一些,比如構建,自動化測試之類,需要在容器裡面再容器化來做資源分配和隔離的場景,需要著重關注穩定性的問題。

綜合下來,還是sidecar模式比較舒服。

關於客戶端網路層的優化,有哪幾個地方可以切入? -@J_Knight_

您好,請問一下關於客戶端網路層的優化,有哪幾個地方可以切入?而且在監控網路效能方面有哪些實踐可以分享一下嘛?

幾個方向可以先搞起來,首先是用長連結代替短連結,增加連結的複用率,減少每次請求的時間,然後資料的序列化方式可以用PB,再則進一步可以自定義傳送協議,本地dns(通過一定的策略下發ip列表)減少dns解析耗時和報錯,更細的可一些動態建聯策略,併發建連,1rtt這種

監控方面,主要還是靠客戶端埋點日誌,上傳到伺服器上做大資料分析

移動閘道器有什麼好的實踐嗎? -@yuyo

移動閘道器有什麼好的實踐嗎?有了GraphQL是不是可以不用移動閘道器了?不知道GraphQL在阿里有什麼好的實踐嗎?

移動閘道器主要面向移動客戶端的,不僅僅是restful風格的閘道器,同時還可以支援TCP,http,https,http2,spdy等協議,還有我們深度定製的自由mmtp協議。資料的序列化方式也可以支援多種,不單純的是json,此外,移動閘道器需要做一些針對移動端的邏輯處理。統一session校驗,資料驗籤、還有最基礎的,介面管控,流控,更進一步的還有支援去中心化等功能。此外還會配合網路接入(spanner/nginx)做非常多效能優化,資料優化的工作。

社群小夥伴精選提問--非技術直接相關

問下職業規劃問題,七年在一家公司不會疲軟嗎? ─ @Lanwy

問下職業規劃問題,七年在一家公司不會疲軟嗎?這七年你的崗位和工作內容發生了怎麼樣的變化?如果像我這樣在一家研究所四五年沒啥技術提升,是不是該換個環境了

哈,時間長了總會有些想法,只是內部的機會也比較多,想動的時候可以先嚐試內部轉崗,挑一些自己想要的方向,也會有很多的挑戰.身邊10多年的同事大有人在,7年說長也長,說短也短,一件事情做個3年,7年其實也做不了幾件大事情

技術研發,方向很寬,前3年圍繞業務程式設計,中間三年做了客戶端與服務端的資料同步中介軟體,圍繞高穩定,大併發,效能優化,順便耳濡目染多接觸了一些其他網路元件,偶然的機會開始參與mpaas,剛好讓之前的經歷有新的用處,順便也給自己做了一些補充?

請問阿里比較看重哪些方面?沒有名校名企背景的有機會嗎? -@Ly夢k

您好,請問阿里比較看重哪些方面?沒有名校名企背景的有機會嗎?

從招聘的角度,主要關注對技術本身等我渴望度,比如當前環境所用的技術內容,不要僅僅停留在使用階段,要進一步的去了解機制,原理,原始碼,優劣勢....然後適當等我補充當前業界比較關注的技術內容,沒有名校背景一樣有機會的,當然也需要更加努力一點....

想問大佬下大佬是如何進行時間管理的? -@錢學敏

想問大佬下大佬是如何進行時間管理的

時間管理,最基本的原則,就是分,輕重緩急。。。。工作上永遠把重要並且緊急的事情優先處理掉,然後處理緊急的事情,重要的事情儘量在變成緊急之前搞定。

此外,階段性給自己設定一個不太遠,並且可以達到的目標,不一定是工作,也不應是學習,然後搞定這個目標。習慣了這種方式也自然會延伸到工作和學習中去。

你對行業前景怎麼看? -@℡念心

看到您的帖子,特地註冊了一個賬號,想得到您的一些指點。我現在大四實習,一直是學前端。實習公司主要在做大資料,我接觸到很多大資料的東西,雖然在這方面我是個新手,但這很棒。令我困惑的是公司規模比較小,體系非常不完善,分配的任務也很雜,很難集中精力做一件事,幹了半年感覺學到的東西都很粗淺。看了很多前輩的文章,都說良好的體系和專注做一件事是很有必要的,而我現在似乎只能用前端技能找到工作,明顯大資料的前景更好。我希望能得到一些您的指點,畢竟無論如何我的眼界相當有限

前景這個東西只能說當前的被宣傳的比較熱的代名詞。。前端開發的崗位已經持續了很多年了,而且還是依然會被持續需要這,同樣也有非常好的機會和待遇空間。。

當然如果自己對大資料感興趣,工作之餘提前做一些技術儲備還是需要的,技多不壓身。

專注做一件事情是非常重要,擴充自己的知識面也同樣重要。

特選:關於 997 那些事

凝睇故事背景:進支付寶 2 年後腦子一熱發了個 feng,又在浙大考了一個 MBA(本科是資訊管理與資訊系統,管理學學士,也算科班管理學出身吧!?),接著又趕上支付寶 All in Mobile,所以期間 3 年幾乎完全沒有周末!So……996、997 什麼的,那還真不是什麼事兒!

想問下大佬你現在還996或者997嗎,在這種情況下如何提升自己的技術水平呢? -@清卯

連著1個月公司加班到11點,還單雙休,想問下大佬你現在還996或者997嗎,在這種情況下如何提升自己的技術水平呢?我每天都累的不行,忙的時候感覺工作生活沒啥意義

近期到是沒有996.997階段性需要...心總會有累的時候,這個時候不是要停下來,而是要調整下心態,回顧一下過去的事情,捋一捋心情。技術上成長,通過工作內容當然是最好的渠道,但並不是全部,還是要自己適當的安排和調整一下....

給個小建議,當你加班的時候,換個角度想,想你你並不是在加班,而是在奮鬥,為了自己的理想在奮鬥,加班只不過是奮鬥途中的一個小山坡,心裡會舒服點,時間也能過的快一點,嘿嘿!

對於長期996這樣子的生活,沒有時間談戀愛,怎麼解決? -@肖路

想問下大佬,對於長期996這樣子的生活,沒有時間談戀愛,很少有自己的生活,以後可能到退休之前都會是這個樣子,大佬是怎麼想的呢?

程式猿戀愛要趁早,從娃娃抓起

如果真沒時間,就找個運營,產品,視覺,測試這些跟你一起戰鬥的姑娘湊合過吧,等到合適的階段讓她先過上朝9晚5的生活,你繼續996!


本期 AMA 凝睇也回答了很多其他的技術、非技術問題,歡迎去他的 AMA 下面交流技術喲,傳送門

相關文章