日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

架构解密:从分布式到微服务

發布時間:2024/9/20 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 架构解密:从分布式到微服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是筆者多年來積累和收集的知識技能圖譜,有的是筆者原創總結的最佳實踐,有的是小伙伴們的分享,其中每個秘籍圖譜里面的內容都是互聯網高并發架構師應該了解和掌握的知識,筆者索性把這些圖譜收集在一起,并且歸類便于查找和學習,希望能夠幫助到每一位想成為架構師或者已經是架構師的小伙伴,這里我們的標題“史上最全的架構師圖譜”是本文的目標,作者計劃把這篇文章作為一個開放性的文章,如果讀者發現更多的圖譜,請聯系作者本人,我們把更多的圖譜、思維導圖匯集在其一起,最終一定能成為互聯網上“史上最全的架構師圖譜”。

1 、架構師系列

架構師圖譜

Java架構師圖譜

微服務架構秘籍

一致性圖譜

互聯網大流量的方法

安全秘籍

阿里巴巴常用小框架

架構方法論圖譜

設計模式秘籍圖譜

2 、Java系列

JVM垃圾回圖譜

Java并發圖譜

Java集合圖譜

Java集合類圖

Java List類圖

Java Map類圖

Java Set類圖

3、大數據系列

Hadoop技能圖譜

大數據技能圖譜

4、云計算系列

云計算圖譜

云計算技能圖譜

5、其他

IOS技能圖譜

OpenResty技能圖譜

前端技能圖譜

容器技能圖譜

嵌入式開發技能圖譜

開發語言寶典

移動端測試圖譜

DevOps 和運維開發

隨著開發運維一體化的DevOps運動在國內外蓬勃發展,DevOps相關工具也呈現熱鬧趨勢,在這個言必談如何實施落地引入工具、建設平臺的大環境下,我們今天也來盤點一下DevOps相關工具。

先來看一下業界對DevOps工具的各種分類介紹。

一、DevOps應用交付工具鏈

ElasticBox是國外一個云應用管理工具,主要用于實現云應用生命周期的可視化管理,他們的口號是“Deploy any Application Anywhere – Zero stress,Total control”。

關于DevOps工具,他們整理了一個腦圖:

主要從開發、部署、維護三個方面把常用的開源工具做了一個分類:

1、開發

開發類的DevOps工具又分為:

(1) 版本控制和協作,例如Git、SVN等

(2) 構建和測試自動化,例如Ant、Selenium、Jmeter等

(3) 持續集成和交付,例如Jenkins、CruiseControl等

2、部署

部署類的DevOps工具分為:

(1) 容器平臺,例如Docker等

(2) 配置管理,例如Chef、Puppet、Ansible等

(3) 微服務平臺,例如Cloud Foundry、Kubernetes等

(4) 服務開通,例如Puppet、Docker Swarm、Vagrant等

3、維護

維護類的DevOps工具分為兩大類:

(1) 日志,例如logstash等

(2) 監控告警和分析,例如Nagios、Zabbix、Kibana等

從ElasticBox對開源的DevOps工具的分類來看,主要是圍繞著應用從構建到部署、交付運維這樣的工具鏈**來分類的。

二、DevOps工具元素周期表

XebiaLabs是國外一家圍繞著企業規模化可靠軟件交付自動化做解決方案和工具的廠商,他們的口號是大規模、更快速地自動交付:“Get the visibility, automation, and control to deliver software faster and with less risk.”。

關于DevOps工具,他們以元素周期表的展現形式整理了一個圖:

圖中按顏色標注不同類型的DevOps工具,包括:

(1)數據庫,例如:Oracle、MySQL、Cassandra等;

(2)持續集成,例如:Jenkins、TeamCity等;

(3)部署,例如:SSH、XLDeploy等;

(4)云/IaaS、PaaS,例如:Amazon Web Services、Azure等;

(5)業務分析/監控,例如:Splunk、Nagios等;

(6)配置管理,例如:Git、SVN等;

(7)庫管理,例如:Nexus、NuGet等;

(8)配置/服務開通,例如:Chef、Puppet、Ansible、Vagrant等;

(9)發布管理,例如:XL Release、UrbanCode Release等;

(10)日志,例如:Sumo Logic、Logstash等;

(11)構建,例如:Gradle、Ant、Maven等;

(12)測試,例如:Junit、Cucumber、Selenium、Jmeter、Appium等;

(13)容器化,例如:Docker、Kubernetes、Mesos等;

(14)協作,例如:Jira、Flowdock等;

(15)安全,例如:Snort、CyberArk等。

看起來XebiaLabs的分類更全面,既包括了開源工具也包含商業工具,當然也包括了XebiaLabs自己的工具;但是看起來又有點為了構成元素周期表而一些工具的味道**,例如,個人認為數據庫這類基礎軟件就沒必要跟DevOps扯上了吧?!

另外,XebiaLabs的分類在某些地方與ElasticBox的分類有出入**,例如,ElasticBox把Kubernetes放到部署類,而XebiaLabs把它放到單獨的容器化這個類別,當然,ElasticBox的部署類這個大的類別也是包含了容器化的。

三、基于DevOps能力矩陣的工具分類

既然沒有統一的DevOps工具分類標準,那么我個人也想從之前歸納總結的DevOps能力矩陣模型的角度,對DevOps相關的工具進行一些分類。

Devops憑借其連接彌合開發與運營團隊的能力正在各個行業呈現席卷之勢。開發人員和運營人員歷來就是水火不容,無論是在開發、測試還是部署上都有著很大的分歧,只有Devops才能扭轉這一局面。

我們從DevOps的核心理念可以看出,DevOps強調開發、QA、運維的一體化融合。

但是,本質上來看開發、QA、運維又是分屬不同的部門和組織(尤其是傳統企業),有著自己的過程管理方式,主要負責的事情不一樣,所謂“術業有分工”,因此用到的工具也有所不同。**

那下邊我們就嘗試歸納一下開發、QA、運維各自常用的一些工具,并且嘗試從DevOps能力融合的角度分析,哪些工具是三者或兩兩之間可以共用的,并挑選一些典型工具做簡單介紹。

(一)開發類典型DevOps能力融合工具

敏捷開發已經成為主流,敏捷開發中的核心實踐“持續集成”也逐漸被很多企業推廣應用,Jenkins作為這個領域的開源工具老大哥的位置已經事實上被確立了。

Jenkins通常被用在配置管理和部署代碼上,同時它也能夠與Puppet、Chef和容器技術一起使用,還有自動化的測試,例如Selenium、Jmeter也能被很好地整合到Jenkins持續集成的管道中。

開發人員、QA、測試和運維人員都在用Jenkins就很好地說明了Jenkins在DevOps領域的大好前景。

(二)QA類典型DevOps能力融合工具

無論開發還是測試,還是運維,對軟件系統的性能都是非常關注的,因此APM這類上接運營(用戶感知)與運維(性能監控),下接QA(性能管理)與開發(性能分析)的工具就理所當然地在近幾年開始火爆起來了!

下圖是國外的老牌APM廠商的New Relic,使用New Relic企業可以迅速從多個角度查看并解決應用中出現的錯誤:

New Relic高級產品經理Stevan Arychuk說New Relic可以提升高質量軟件交付的速度并同時降低企業所面臨的風險。企業中各團隊的角色和職責有所不同,但是通過多角度的數據分析,各個團隊之間的溝通、協作、交流可以得到加強,最終達到共同合作的目的。

(三)運維類典型DevOps能力融合工具

1**、Automic**

美國員工福利管理公司TASC使用Automic來實現其軟件部署的自動化,應用Automic,號稱可以在下午三點部署而不被別人發現。

自動部署是開發的持續集成、測試之后銜接運維上線的一道關鍵工序,應用Automic這類自動化工具能軟件系統的部署和交付過程更敏捷、穩定高效、高質量地完成。

2、DynaTrace Ruxit

傳統的運維工具大多聚焦在監控類,尤其是基礎設施的監控,例如主機、中間件、數據庫的監控,尤其是服務器資源層面的監控,對應用層、業務層面的監控偏少,這會導致針對具體問題的分析,開發、QA、運維之間的共同語言偏少。

Devops的核心就是各個部門之間的協作,除了這個協作的理念之外還需要一種方式來進行溝通。

DynaTraceRuxit的智能查看功能可以直觀地展示應用和其依賴之間的關系,這樣軟件開發流程中的不同角色之間可以使用Ruxit來進行溝通和自動化的分析。

QA 測試腦圖

  看不清楚吧?別急!下面會給大家一個清楚的交待,哈哈。

  “軟件測試全景圖”整個思維導圖有9個模塊,分別是:

  · 測試的定義,包括測試標準、原則、歷史等;

  · 測試五大流派,包括傳統測試、敏捷測試、探索式測試、SBTM

  · 測試方法:MBT、ReBT、RiBT等等

  · 測試層次和類型:單元測試、集成測試、系統測試、驗收測試等;

  · 測試方式:手工 vs. 自動化的,靜態 vs. 動態,主動的 vs. 被動的

  · 自動化測試(含測試工具),包括其策略、自動化測試框架

  · 測試技術: 面向SOA/微服務測試技術、web測試技術、移動測試技術等;

  · 測試過程:過程模型、過程改進等

  · 測試管理:測試件、缺陷、質量、度量等管理

讓我一個一個模塊給大家詳細介紹。

  1.測試的定義

  2. 測試流派

  3. 測試方法

  4. 測試層次和類型

 ????5. 測試方式

  6. 自動化測試(含測試工具)

  7. 測試技術/8. 測試過程

  9. 測試管理

出處:簡書

版權申明:內容來源網絡,版權歸原創者所有。除非無法確認,我們都會標明作者及出處,如有侵權煩請告知,我們會立即刪除并表示歉意。謝謝。

總結

以上是生活随笔為你收集整理的架构解密:从分布式到微服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。