自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何從傳統(tǒng)軟件開發(fā)順利過渡到互聯(lián)網(wǎng)技術開發(fā):硬技能

新聞 前端
之前一篇《 如何從傳統(tǒng)軟件開發(fā)順利過渡到互聯(lián)網(wǎng)技術開發(fā) 》,時隔一年,再重新延伸下本文,使其更具有可操作性。

 [[256530]]

題圖:from pixabay

之前一篇《 如何從傳統(tǒng)軟件開發(fā)順利過渡到互聯(lián)網(wǎng)技術開發(fā) 》,時隔一年,再重新延伸下本文,使其更具有可操作性。

為什么要轉型呢?云計算的盛行,導致很多產品已經(jīng)云化。另外,長期專注于業(yè)務開發(fā)導致技術人員自覺乏味,沒有提升空間,自我存在感、成就感大幅下降,而互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等一波又一波的浪潮,一個又一個造富神話,充滿了吸引力,并且有很大的成長空間。

本文也是基于前文的基礎上,從一些簡單的點入手,引入一些經(jīng)常用到的開發(fā)技能點。從單體應用開發(fā),過渡到分布式應用開發(fā),技術棧的變更必然導致學習、工作上產生不小的變化,以下列出幾點,來幫助想要轉型的朋友掌握這些技能,以便更好的融入到新團隊中去。

  • 分布式通訊技術 。單體應用幾乎不涉及到系統(tǒng)間的交互,或者有些通過老舊的WebService的形式進行交互,互聯(lián)網(wǎng)分布式系統(tǒng)傾向于采用輕量化的、更高效率的通訊方式,比如基于HTTP、RPC協(xié)議等,了解基本的原理才能更好的使用它們,常見的,再掌握所以你應當掌握一些常用的分布式框架,比如常見的Apache Dubbo,Spring Cloud,Google gRPC等等。數(shù)據(jù)交互的格式以有輕量的JSON替代原先比較臃腫的xml格式。

  • 緩存技術 。緩存可謂是提高應用效率的大殺器,在互聯(lián)網(wǎng)產品應用非常廣泛,掌握幾個常見的緩存中間件是很有必要的。也很多應用場景中,也只能緩存才能保證應用的完整性,比如秒殺場景。緩存按應用場景也有區(qū)分,如本地緩存EHcache,Guava等,分布式緩存Redis,Memcache,hazelcast等等。

  • 非結構化數(shù)據(jù)存儲 ?;ヂ?lián)網(wǎng)產品更多會產生一些碎片化的數(shù)據(jù),且沒有嚴謹?shù)臄?shù)據(jù)結構,這些些場景上采用非結構化存儲勢在必行。根據(jù)不同的數(shù)據(jù)類型,還可以細化分為不同的NOSQL庫,比如說文檔數(shù)據(jù)庫(MongoDB等)、KV庫(Redis,LevelDB等)、圖庫(Neo4j)、列數(shù)據(jù)庫(Hbase等)、搜索引擎(Solr、ElasticStack等)。

  • 異步、多線程技術 。同步的一問一答,能比較及時的處理業(yè)務,但當業(yè)務量大的時候,為提高系統(tǒng)可用性、處理效率,往往會進行異步、多線程方式進行處理。線程池技術,高并發(fā)編程顯的尤為重要。

  • 消息中間件 。MQ天然具有系統(tǒng)解耦的優(yōu)勢,應用場景也比較豐富,如在分布式事務中作為中間辦來協(xié)調事務、統(tǒng)一的消息(APP推送,短信等等)推送分發(fā)、延遲隊列,特別是在高并發(fā)高承載的情況下進行削峰平谷,緩解系統(tǒng)壓力。比較常見的RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka等等。

  • 分布式事務 。單體系統(tǒng)的事務很容易控制,當系統(tǒng)擴展為很多個子系統(tǒng)時,事務會分面在各個子系統(tǒng)中,只有保證分布式事務的準確性,才能保證數(shù)據(jù)的完整性。目前現(xiàn)在很通用的分布式開源解決方案比較少,大家都在采用自己的方案在做,阿里最近開源的Fescar是一個比較有潛力的方案,還有華為的SAGA方案等等。

  • 安全開發(fā) 。安全開發(fā)在所有系統(tǒng)中都存在,只不過傳統(tǒng)的單體應用開發(fā),特別是外包行業(yè),基本很少考慮。而互聯(lián)網(wǎng)產品面向大眾,所以網(wǎng)絡安全、數(shù)據(jù)安全更為關鍵,比如常見的XSS攻擊、CSRF攻擊、撞庫、拖庫等等,都需要在開發(fā)、測試、運維過程中重點關注。 OWASP TOP 十 或 CWE top 25 都有比較詳細的描述,可以關注下。

  • 運維層面 。Linux常見的操作應當掌握,畢竟我們很多的服務器都是運行的x86架構下的Linux服務器中,即便是不同的分發(fā)版本,命令很多也是通用的。Devops文化已經(jīng)不再陌生,開發(fā)&運維已經(jīng)不可分割開來單獨作業(yè)務,持續(xù)集成(CI)、持續(xù)部署(CD)技術將二者的邊界變的更模糊,共生共存。

下面蝗幾點高級進階點,這些點并非必須要掌握,但后續(xù)肯定會遇到,技多不壓身,有條件的話,可以適當?shù)奶剿饕欢?,擴展眼界,提升格局。

  1. 鏈路追蹤技術 。單個系統(tǒng)里的日志可以按系統(tǒng)交互的先后順序輸出,單系統(tǒng)分拆后,系統(tǒng)日志分別存在于各個子系統(tǒng)中,再區(qū)分請求的先后順序難度就比較大了,導致追蹤定位問題,比較繁瑣復雜。Dapper論文的出現(xiàn),催生出一大批開源組件的出現(xiàn),Zipkin、Pinpoint、CAT等應用比較廣泛的幾個。

  2. 集群部署 。聽起來比較搞大上,無非是將原來一臺機器干的事,分散在不同機器執(zhí)行而已,對外提供較高的可用性、計算能力。對于每個用到的中間件幾乎都會有主從、主備、集群、高可用等部署策略。

  3. 高可用技術 ,與集群技術應該是關聯(lián)性很大的,更多是來應對單點故障,簡寫稱為HA(High available),比如可能會經(jīng)常用到keepalived來保證Nginx、Apache、Tomcat的HA策略;比如會用到Supervisor來保證某些進程掛掉后,自動拉起。

  4. 容器技術 。Docker應用的普及,將云原生應用的提到更高高度。Kubernate等容器編排工具更加快了云原生應用(Cloud Native)的普及,CNCF孵化下的各種開源中間件也為業(yè)務提供了強大的技術支撐。

由于傳統(tǒng)軟開發(fā)過程中較少的涉及到如上一些技術點,所以需要在工作之余進行練習掌握,這對后續(xù)的面試求職也有很大的幫助。沒有工作場景,就沒有掌握相應的技術,沒有相應的技術支撐,就沒有機會進入互聯(lián)網(wǎng)行業(yè),畢竟很多公司都是希望你來就可以上手產出價值,而不是培訓一兩月時間再上崗。

 

責任編輯:張燕妮 來源: 歪脖貳點零
相關推薦

2014-10-08 16:47:02

GITC2014全球互聯(lián)網(wǎng)技術大會

2014-09-10 14:36:55

浪潮互聯(lián)網(wǎng)技術

2014-02-14 14:25:51

谷歌10Gbps互聯(lián)網(wǎng)

2014-09-22 14:24:20

2015-03-02 09:35:07

軟件開發(fā)

2016-07-13 18:00:05

2013-10-21 10:11:33

互聯(lián)網(wǎng)技術大會H3C

2021-03-26 12:59:36

IPFSHTTP傳輸協(xié)議

2014-03-14 16:58:39

CRM

2021-10-11 08:37:14

鴻蒙HarmonyOS應用

2012-02-17 13:43:51

2012-02-09 16:43:53

互聯(lián)網(wǎng)IPv4IPv6

2015-11-23 10:43:05

聯(lián)想GITC

2019-08-08 17:29:15

工業(yè)互聯(lián)網(wǎng)數(shù)字化工業(yè)數(shù)據(jù)

2015-10-26 11:39:54

互聯(lián)網(wǎng)架構設計分布式

2015-07-28 16:17:32

農業(yè)互聯(lián)網(wǎng)

2016-08-27 13:56:10

移動互聯(lián)

2009-11-13 10:12:17

互聯(lián)網(wǎng)技術

2016-07-18 18:47:07

互聯(lián)網(wǎng)+

2014-10-08 16:54:40

GITC2014全球互聯(lián)網(wǎng)技術大會
點贊
收藏

51CTO技術棧公眾號