成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

當(dāng)我們準(zhǔn)備做前后端分離項(xiàng)目時(shí),我們?cè)诳紤]什么?

開發(fā) 前端 新聞
幾年前做前后端分離項(xiàng)目的原因,是node剛剛橫空出世,業(yè)界開始考慮如何真正的用js去寫后端服務(wù),于是就借鑒阿里中途島項(xiàng)目去嘗試,主要還是用到了node的密集io場景下的轉(zhuǎn)發(fā)。

幾年前做前后端分離項(xiàng)目的原因,是node剛剛橫空出世,業(yè)界開始考慮如何真正的用js去寫后端服務(wù),于是就借鑒阿里中途島項(xiàng)目去嘗試,主要還是用到了node的密集io場景下的轉(zhuǎn)發(fā)。

[[205939]]

我們的新項(xiàng)目是采用前后端分離的方式進(jìn)行開發(fā),這一點(diǎn)主要是基于產(chǎn)品特點(diǎn)考慮而來,產(chǎn)品本身會(huì)有很強(qiáng)的富客戶端的特點(diǎn)。

我們后端服務(wù)面向的客戶端包含:iOS,Android,iPad,H5,還有一些游戲場景。所以最好的方式就是后端提供通用的restapi進(jìn)行數(shù)據(jù)傳輸,而前端展示邏輯則交由不同客戶端自己實(shí)現(xiàn)。

前后端分離項(xiàng)目主要基于微服務(wù)架構(gòu)開發(fā),既然是微服務(wù),所以分布式系統(tǒng)所應(yīng)該面對(duì)的問題一個(gè)也漏不掉。

JAVA微服務(wù)開發(fā)場景下,SpringBoot可謂神器,我們基于SpringBoot開發(fā)了一個(gè)可以快速開發(fā)的腳手架,腳手架本身包含了常用及通用的基本功能,如auth驗(yàn)證,功能鑒權(quán),Mysql,Mq,Redis及通用配置的依賴,這樣開發(fā)工程師在需要開發(fā)新功能時(shí),直接從對(duì)應(yīng)的代碼庫拉下來,編譯之后便可跑起來一個(gè)hello world的restapi項(xiàng)目。剩下的工作就是圍繞業(yè)務(wù)邏輯去寫repository,service,controller代碼了。

通信

服務(wù)之間的通信主要可以通過HTTP,RPC方式,眾所周知RPC調(diào)用的效率要高HTTP好幾個(gè)等級(jí),所以推薦使用RPC,但是綜合考慮系統(tǒng)性能及可用性,快速開發(fā)等因素,我們也大量使用HTTP進(jìn)行服務(wù)調(diào)用,同時(shí)我們也通過Golang對(duì)一些核心api,比如支付,交易類接口進(jìn)行了重寫,所以需要在系統(tǒng)效率及開發(fā)效率之間做好平衡。

接口規(guī)范

雖然是前后端分離項(xiàng)目,大部分是通過restapi方式給客戶端暴露數(shù)據(jù),但是也不可避免在系統(tǒng)中會(huì)存在自己的view頁面,所以在api及controller命名上會(huì)建立:AuthApi,AuthController,約定大于配置,可以幫助我們后端對(duì)不同的請(qǐng)求做隔離和控制。

任務(wù)類系統(tǒng)

項(xiàng)目中不可避免存在大量的任務(wù)程序,主要需要做好數(shù)據(jù)備份,考慮分布式場景下的任務(wù)調(diào)度,資源分配問題,主要根據(jù)場景不同進(jìn)行開發(fā)。
我們采用Zk+定時(shí)任務(wù)自研的調(diào)度系統(tǒng),也可以采用開源的Elastic-Job方案。

依賴梳理

這個(gè)是一個(gè)項(xiàng)目開發(fā)過程中最重要的一點(diǎn),梳理好系統(tǒng)上下游所依賴的服務(wù),同時(shí)梳理好服務(wù)之間的等級(jí)關(guān)系。

依賴關(guān)系主要分為兩部分:依賴別人,被別人依賴;

依賴別人的服務(wù),包含其他系統(tǒng)API及底層的數(shù)據(jù)庫,Redis,MQ等服務(wù),需要做好對(duì)方服務(wù)不可用的準(zhǔn)備,隨時(shí)做好降級(jí),限流及開關(guān)功能,最好做成可配置,自動(dòng)化。
被別人依賴的服務(wù)做成高可用,冪等性,響應(yīng)數(shù)據(jù)的可讀性好等特點(diǎn)。

同時(shí)對(duì)服務(wù)依賴性梳理,哪些系統(tǒng)屬于強(qiáng)依賴,哪些屬于若依賴。

不同依賴的標(biāo)準(zhǔn)做好開關(guān),降級(jí),重試等功能,強(qiáng)依賴比如DB掛了,可以寫日志,寫到MQ。弱依賴可以做成柔性降級(jí),比如寫日志到ES中,ES不可用,可以直接降級(jí)即可。

對(duì)于黃金等級(jí)服務(wù),則一定保證服務(wù)高可用,可以做災(zāi)備,比如依賴集群,多個(gè)機(jī)房,也就是這個(gè)服務(wù)是不可降級(jí)的,必須準(zhǔn)備多套方案保證服務(wù)可用。

關(guān)于依賴降級(jí)可以使用Hystrix做。

用戶友好性

做好最壞的打算,如果后端服務(wù)全部不可用,前端轉(zhuǎn)發(fā)問題等,一定不要給用戶一個(gè)錯(cuò)誤頁面,一定建立多級(jí)緩存,有數(shù)據(jù)托底,無論如何保證頁面上有內(nèi)容的。

總結(jié)

綜上所述,做好工具,梳理好服務(wù)依賴,對(duì)服務(wù)做等級(jí)劃分,弱依賴可以通過降級(jí),限流方式處理。強(qiáng)依賴則必須通過多種災(zāi)備手段保證高可用,不要給用戶感到恐慌的頁面,要有數(shù)據(jù)托底。

責(zé)任編輯:張燕妮 來源: 博客園
相關(guān)推薦

2022-03-11 21:28:31

部署開發(fā)服務(wù)器

2016-08-22 13:31:05

前端架構(gòu)前后端分離

2020-11-16 15:47:05

SaaS軟件轉(zhuǎn)型

2022-11-11 09:28:57

軟件設(shè)計(jì)DDD

2024-07-26 08:35:29

2014-06-25 09:11:48

技術(shù)

2017-03-07 15:43:28

編程語言函數(shù)數(shù)據(jù)結(jié)構(gòu)

2016-08-12 10:11:22

2023-08-28 10:33:09

敏捷Scrum理念

2018-08-23 08:34:21

區(qū)塊鏈分布式賬本比特幣

2021-11-18 21:09:50

流批場景引擎

2022-07-05 09:31:46

基礎(chǔ)設(shè)施容器Docker

2019-12-24 11:19:44

容器DockerLinux

2019-04-04 12:59:03

微服務(wù)企業(yè)數(shù)字化

2024-03-28 14:16:43

容災(zāi)云計(jì)算

2017-04-05 17:59:29

思科CTO下午茶

2016-11-22 23:44:56

2019-04-11 19:11:27

root手機(jī)安卓

2019-02-19 10:22:07

5G5G手機(jī)5G技術(shù)

2019-06-12 19:00:14

前后端分離AppJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 91中文字幕在线 | 精品国产区 | 日韩电影a| 欧美日韩久久久久 | 日韩欧美精品 | 色网在线观看 | 亚洲一区二区三区四区五区午夜 | 日韩一区二区三区视频在线播放 | 久久久久中文字幕 | 国产精品久久久久久久久久免费看 | 国产在线一区观看 | 久久久久91| 99精品欧美一区二区蜜桃免费 | 色狠狠一区 | 91精品国产91久久久久久不卞 | 精品国产乱码久久久久久88av | 一级特黄视频 | 国产精品欧美一区二区三区不卡 | 蜜桃视频成人 | 亚洲一区二区三区免费在线观看 | 国产日韩一区二区 | 亚洲欧美精 | 国产成人免费视频网站高清观看视频 | 国产福利视频 | 成人性生交大片 | 国产精品久久 | 精品欧美久久 | 九九综合 | 国产精品成人一区二区 | 色999视频| 91精品国产综合久久久动漫日韩 | 国产在线二区 | 色婷婷av一区二区三区软件 | 女人牲交视频一级毛片 | 久久人爽 | 亚洲国产网 | 日本欧美视频 | 91高清在线观看 | 亚洲精品一区二区网址 | 日韩aⅴ在线观看 | 欧美成人自拍 |