<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微服務(wù)拆分和設(shè)計,以及應(yīng)用中的風(fēng)險

          共 1477字,需瀏覽 3分鐘

           ·

          2020-03-09 10:48

          現(xiàn)在軟件開發(fā)很大的問題就是緊跟大企業(yè)的腳步,只要大企業(yè)采用了什么技術(shù),很快就會普及下去,開發(fā)人員一般不會細細分析自己是不是真的需要這種技術(shù)。

          這個行為很大程度上是開發(fā)人員的自我的技術(shù)投資,畢竟開發(fā)人員如果有機會采用這些流行技術(shù),也會讓自己在有些場合比較有優(yōu)勢。

          但是這種情況往往浪費人力資源,比如像微服務(wù)這種技術(shù),而這種技術(shù)并不是非常復(fù)雜,而是在于上層設(shè)計。

          由于獨立性,無狀態(tài),可以隨意布置和分布式擴展,所以需要做很多細粒度的拆分,導(dǎo)致開發(fā)實施上都會很麻煩,對每個接口的跟蹤監(jiān)控也更加復(fù)雜。

          我們看從中間件-SOA-微服務(wù)的演進過程中,其實中間件技術(shù)已經(jīng)可以抵御絕大多數(shù)的應(yīng)用場景,利用中間件的思想去搭建中臺也應(yīng)該是開發(fā)人員默認的思想,需要更多場景可以考慮SOA,微服務(wù)說說就好。

          我們看到仍舊好多人員采用微服務(wù)架構(gòu),但是面對所謂的適度的拆分,往往是讓人頭疼。

          適度,適什么度,真么算是合適,這些都是讓人無法躲避的東西。

          首先要確定什么東西放到微服務(wù)環(huán)境,什么東西還是只是做普通服務(wù)調(diào)用,不要把一切都扔上微服務(wù),拆分很重要,并不是所有業(yè)務(wù)都需要用微服務(wù)去分割,集中統(tǒng)一我相信仍然是大部分后臺系統(tǒng)唯一正確的集成方式。

          首先保持微服務(wù)絕大數(shù)是技術(shù)服務(wù)的統(tǒng)一提供接口;其次是非常通用的,甚至是完全可以移植的業(yè)務(wù)接口,集中大體量的業(yè)務(wù)訪問量;最后是工具組件部分。

          如果是純業(yè)務(wù),或者后臺管理平臺,還是完全集成統(tǒng)一更有利于開發(fā),變更,調(diào)整。

          而微服務(wù)保證接口的單一原則,這個也是面向?qū)ο箝_發(fā)最終要的原則之一,就是服務(wù)所干的事情是唯一的,不會中間去完成另外一件事。

          微服務(wù)要在整個環(huán)境的語義下,探索接口的定義,如何承接上下文,如何規(guī)避業(yè)務(wù)風(fēng)險,如何定義統(tǒng)一的接口含義,如何監(jiān)控等等。

          就是說這是說:說話很重要,表達很重要,在統(tǒng)一語義下的表達,可以讓整個環(huán)境理解的統(tǒng)一的格式,統(tǒng)一的協(xié)議接口。這個需要開發(fā)團隊合作共同制定這些規(guī)則,形成一致性的調(diào)用和維護體質(zhì)。

          保持簡單的模式,盡量保持簡單,形式和語義的簡單方便學(xué)習(xí)和理解。

          微服務(wù)是單一功能和無狀態(tài)的所以不應(yīng)該和其他業(yè)務(wù)發(fā)生強耦合,如果是微服務(wù)中有依賴就要看看是不是要整合。如果發(fā)生如果不拆分兩者都會在應(yīng)用場景下缺乏表達,這個就要檢查是否是設(shè)計的問題了。

          每個微服務(wù)要有明確的表達,利用組件獲取別的服務(wù),而不是本地服務(wù)來相互調(diào)用,并且不應(yīng)該害怕失敗,有完整的錯誤處理環(huán)節(jié)和記錄。

          所以拆分微服務(wù)是一個業(yè)務(wù)和技術(shù)重新整理的過程,如何設(shè)計才是整個工作的大前提,最好是利用成熟項目,一點點的分析拆分,規(guī)劃和合并。

          建議微服務(wù)是一個小型的生態(tài)環(huán)境,提供有效,高效的中間層,通過領(lǐng)域模型定義和提煉服務(wù)協(xié)議和表達的語言。

          微服務(wù)也是服務(wù),應(yīng)該讓人隨時監(jiān)控,數(shù)據(jù),內(nèi)存,服務(wù)運行情況等都需要讓運維人員知道,同時有快速替換的方法。回退方法。

          雖然上面提供了一些經(jīng)驗,但是還是不推薦開發(fā)去選擇微服務(wù),微服務(wù)給運維開發(fā)都帶來可一定的開發(fā)困難,同時對業(yè)務(wù)建模提出了非常高的要求,而devops對我們大多數(shù)開發(fā)團隊來講要求又太高,往往業(yè)務(wù)開發(fā)都會因為在微服務(wù)中調(diào)試問題而耽擱。

          中心化的開發(fā)模式,我相信仍然是有生命力的,仍然是一個新項目開始最佳的模式,只有你的量真正發(fā)生改變,你才需要逐步轉(zhuǎn)型。

          但是有一點很是要鼓勵,及中臺系統(tǒng),這是一個很好的提升團隊能力的思路,提升業(yè)務(wù)的產(chǎn)品化,抽象業(yè)務(wù)組件,簡化開發(fā)都有很好的思路,所以中臺化比只是選擇微服務(wù)話要更合理。中臺化需要整個開發(fā)團隊的技術(shù)信仰和執(zhí)著。

          瀏覽 73
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本AⅤ在线 | 黄色视频在线观看免费 | a∨视频在线 | 乱伦视频网站免费 | 日本乱伦毛片 |