微服務實踐00--微服務方法論00

微服務實踐目錄,可以參見連接。

思想

在接收到一個新的新項目時,架構師的職責是建立項目的業務與技術實現之間的橋梁。在翻譯業務到技術實現的過程中需要進行業務建模、技術設計等方面的工作。業務建模和技術設計過程中都有各自領域的知識體系。基本上每個知識體系都是由上層的理論、概念和方法論的提供方向上的支撐,由下層的實施方法、實施工具進行具體工作的實施。

微服務實踐系列文章中主要介紹在微服務實踐過程中可能會考慮到的方向、以及這些方向可供選擇的技術工具、并會涉及少量的架構設計理論知識。而在架構設計系列文章中會介紹架構理論、架構設計實踐、以及架構設計中的分析與評估方法。

因為本系列文章主要介紹的是技術工具的內容,就會根據技術工具的特性進行介紹。不過本系列文章中不會像網絡上其他的技術文章一樣以某項技術為維度進行文章編寫。而更像書本以技術的維度進行整理。以這種方式一方面是符合了我們的【實踐】題目,便于在實踐過程中使用技術工具組織整體架構。另一方面以技術方向而不是某一個技術實現,也是以一種自頂向下的思維方式進行說明(軟件研發人員一般會使用自底向上的視為方式)。

技術方向

對于微服務中技術的全局中可能會有很多門技術需要學習與掌握。這里以一張圖的方式為大家展示可能在微服務中遇到的技術與實現方向:

技術全景

作者把微服務實踐中的技術方向有分了四部分:微服務管理,存儲技術,業務支持,DevOps。微服務管理是介紹分布式系統的技術實現部分。存儲技術獨立出來的意義在于存儲和大數據,人工智能等大型的獨立系統有關系。業務支持是闡述在業務實現過程中可能會用到的技術,但是不和通用的微服務技術相關的技術。DevOps是在微服務設計和敏捷的提倡下需要接受一切自動化的方式。


技術工具

上圖中的淺綠色部分,是說明所有的技術方向。之后所有的文章都會按照這個規范進行編寫。右側每一列都是一項技術實現,這些技術實現可能會涵蓋不同的技術方向。所以,這里也會在下面的文章中在不同的技術方向上推薦不同的實現技術。例如:做數據庫與緩存同步的工具可選范圍不多的情況,我就只能推薦Gearman。

從圖中可以看到微服務技術關注的大概方向,基本上整理出來五個大方向。并在五個大方向上有相關的具體技術方向進行補充。現在基本上就缺具體的實現技術選型:

- 微服務管理

  • 內容發布
    CDN,分布式存儲等
  • 遠程過程調用
    RPC,RMI,JMS,AMQP,
  • 服務發現
    DNS,zookeeper,spring eureka,spring consul,ETCD,REDIS
  • 服務注冊
    DDNS,zookeeper,spring eureka,spring consul
  • 網關
    Zuul,Kong,Nginx Plus,OpenResty,Spring Cloud Gateway
  • 負載均衡
    LVS,Nginx,F5
  • 高可用
    Haproxy,keepalive
  • 服務編排
    Netflix Conductor,uber/cadence,zeebe-io/zeebe,ing-bank/baker,Spring Cloud Zuul, Node-RED,ApiConfig
  • 統一配置
    Spring Config,ctripcorp/apollo: Apollo,git,nginx,Consul,Netflix Archaius
  • 分布式任務管理
    xxl-job,Elastic-Job,
  • 異步任務
    AMQP,Spring Cloud,Dubbo
  • 高速緩存
    Redis,Memcache,Mysql Memory DB,H2
  • 前后端分離
    Swagger,API Gateway
  • 服務降級
    Dubbo,Spring Cloud Hystrix
  • 服務限流
    Dubbo,Spring Cloud Hystrix
  • 服務熔斷
    Dubbo,Spring Cloud Hystrix
  • 故障恢復
    Docker,Swarm,K8s
  • 微服務治理
    OpenSergo,Polaris
  • 事務管理
    sage,fescar,gts,Narayana
  • 動態選舉
    zookeeper
  • 用戶
    用戶認證,權限管理,用戶計費,會話管理
  • OpenAPI
    Kong,APIgee
  • 對象存儲
    minio,riakcs(亞馬遜S3技術),ceph
  • 事件驅動
    EventBus, spring event
  • 并發處理
    akka,Actor
  • 全局唯一性編碼
    UUID,SetNX,雪花算法,
  • 規則引擎
    Drools

- 存儲技術

  • 結構化數據存儲
    Postgresql,(不推薦Mysql)
  • 半結構化數據存儲
    redis,MongoDB
  • 無結構數據存儲
    hdfs,mfs,fastdfs

- 業務支持

  • LBS
    木有開源滴。

  • AI

  • BigData

  • 全文檢索
    Lucene

  • 靜態化
    freemark

  • 智能推薦
    mahout

  • 用戶跟蹤
    木有開源滴。

  • IDaaS(身份認證及服務)
    暫未找到

  • SEO/SEM
    暫未找到

  • 網絡爬蟲
    Python

  • 特性開關
    Flagr,Togglz,FF4J,Fitchy,Flip

  • 租戶管理
    mybaits-plus,Citus,mycat

  • 第三方支付
    需要聚合支付。

  • 可視化
    Hue,impala,DataDeck,Tableau,Redash,Metabase,Superset

    1. 數據可視化
      jtablesaw / tablesaw
      Processing
    2. 可視化編程
      CoatiSoftware / Sourcetrail
    3. 可視化控件
      Echarts,D3.js,Tableua
    4. 前端低代碼
      20+個可視化搭建工具,一次玩個夠
  • 信息推送
    木有開源滴。

- 質量

  • 代碼掃描
  • 自動測試

- DevOps

  • 運行環境
    基礎環境都在這里。
    Terraform(基礎設施即代碼)

  • 升級
    flagr

  • 部署
    Puppet、Chef、Ansible和SaltStack

  • 版本管理
    scm

  • 日志管理
    elk,flume

  • 監控
    Zabbix、Nagios、Open-Falcon

  • 可視化
    全局可視化系統

  • 持續交付
    Spinnaker

  • 指標監控
    Telegraf InfluxDB Grafana

  • 應用性能
    lb的使用情況

  • 調用鏈
    zipkin,pinpiont,skywalking

  • 接口管理
    swagger,yapi,rap2

總結

這里提供了完善的分布式系統,微服務,SOA的技術方向體系。之后可以方便的從本系列中選擇最優工具加入到業務系統中。

參考:

Spring Cloud 體系
Netflix OSS
BAT 程序員們常用的開發工具
數據可視化的開源方案: Superset vs Redash vs Metabase (一)

運維福音——Terraform 自動化管理京東云

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容