<label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>

    將想法與焦點(diǎn)和您一起共享

    網(wǎng)站應(yīng)用的服務(wù)化改造發(fā)布者:本站     時(shí)間:2019-03-27 20:03:36

    解決好跨應(yīng)用的連接和數(shù)據(jù)訪問(wèn)后,我們的應(yīng)用也要做好相應(yīng)的改造,如應(yīng)用分層的設(shè)計(jì)、接口服務(wù)化拆分等。
     
    (1 )應(yīng)用分層設(shè)計(jì)
     
    應(yīng)用分層設(shè)計(jì)很有必要。例如最起碼要把對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)統(tǒng)-抽象出來(lái)形成數(shù)據(jù)層,而不是直接在代碼里寫SQL-這會(huì)使 重構(gòu)應(yīng)用和水平拆分?jǐn)?shù)據(jù)庫(kù)非常困難。我們通常從垂直方向劃分應(yīng)用,分成服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)層,每一層盡量做到解耦:上層依賴下層, 而下層不要反向依賴上層。


     
    應(yīng)用分層最核心的目的是每個(gè)層都會(huì)封裝一些信息、完成一些特定的功能需求,層與層之間通過(guò)接口交互,而且交互的數(shù)據(jù)是清晰和固定的,做到隔離和交互??梢詮囊韵聝蓚€(gè)方向判斷分層是否合理。
     
    第一,如果我要增加-些新需求或者修改某些需求時(shí),是否能清楚地知道要到哪個(gè)層去完成,換句話說(shuō),這些分層的職責(zé)是否清晰。
     
    第二,如果每個(gè)層對(duì)我的接口不變,那么每個(gè)層內(nèi)部的修改是否會(huì)導(dǎo)致其他層也發(fā)生修改,即每個(gè)層是否做到了收斂。
     
    分層設(shè)計(jì)中最怕的就是在接口中設(shè)計(jì)一些超級(jí)數(shù)據(jù)結(jié)構(gòu),如傳遞個(gè)對(duì)象, 然后把這個(gè)對(duì)象一直傳遞下去,而且每個(gè)層都可能修改這個(gè)對(duì)象。這種做法導(dǎo)致兩個(gè)問(wèn)題:-是一旦該對(duì)象更改,所有層都要隨之更改;二是無(wú)法知道該對(duì)象的數(shù)據(jù)在哪個(gè)層被修改,在排查問(wèn)題時(shí)會(huì)比較復(fù)雜。因此,在設(shè)計(jì)層接口時(shí)要盡量使用原生數(shù)據(jù)類型如String、Integer 和Long等。
     
    (2)微服務(wù)化
     
    微服務(wù)化,是從水平劃分的角度盡量把服務(wù)分得更細(xì),每個(gè)業(yè)務(wù)只負(fù)責(zé)一個(gè)功能單元,這樣可以把這些微服務(wù)組合成更大的功能模塊。也就是有目的地拆小應(yīng)用,形成單一職責(zé)從而提升系統(tǒng)可維護(hù)性、擴(kuò)展性和開發(fā)效率。
     
    基于Spring Boot構(gòu)建的一個(gè)典型的微服務(wù)深圳網(wǎng)站建設(shè)架構(gòu),它按照不同功能將大的會(huì)員服務(wù)和商品服務(wù)拆成更小原子的服務(wù),將重要穩(wěn)定的服務(wù)獨(dú)立出來(lái),以免經(jīng)常更新的服務(wù)發(fā)布影響這些重要穩(wěn)定的服務(wù)。



    選擇我們,優(yōu)質(zhì)服務(wù),不容錯(cuò)過(guò)
    1. 優(yōu)秀的網(wǎng)絡(luò)資源,強(qiáng)大的網(wǎng)站優(yōu)化技術(shù),穩(wěn)定的網(wǎng)站和速度保證
    2. 15年上海網(wǎng)站建設(shè)經(jīng)驗(yàn),優(yōu)秀的技術(shù)和設(shè)計(jì)水平,更放心
    3. 全程省心服務(wù),不必?fù)?dān)心自己不懂網(wǎng)絡(luò),更省心。
    ------------------------------------------------------------
    24小時(shí)聯(lián)系電話:021-58370032
    99人妻中文字幕视频在,亚洲无码视频在线免费看,久久国产乱子伦免费精品,日本中文字幕色视频网站
    <label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>