自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

30+微服務(wù)構(gòu)建的頂級(jí)工具清單

開發(fā) 架構(gòu)
微服務(wù)架構(gòu),或說是微服務(wù)本身,是一種用于提升軟件系統(tǒng)可擴(kuò)展性的架構(gòu)風(fēng)格。與微服務(wù)相關(guān)的好文章不勝枚舉,而本文希望能夠?yàn)槟切奈磭L試過、或只是剛剛開始嘗試微服務(wù)的人,提供一份頂級(jí)開源工具的清單。

 微服務(wù)架構(gòu),或說是微服務(wù)本身,是一種用于提升軟件系統(tǒng)可擴(kuò)展性的架構(gòu)風(fēng)格。與微服務(wù)相關(guān)的好文章不勝枚舉,而本文希望能夠?yàn)槟切奈磭L試過、或只是剛剛開始嘗試微服務(wù)的人,提供一份***開源工具的清單。

[[266083]]

微服務(wù)架構(gòu)可用于企業(yè)、政府、學(xué)校和慈善機(jī)構(gòu)等的企業(yè)級(jí)應(yīng)用程序。與傳統(tǒng)風(fēng)格的單體架構(gòu)完全相反,微服務(wù)專注于單個(gè)單元應(yīng)用程序。

微服務(wù)微小、獨(dú)立且獨(dú)特。微服務(wù)架構(gòu)的構(gòu)建和維護(hù)都可能非常復(fù)雜。微服務(wù)之間可以相互通信,利用同步協(xié)議、HTTP / REST或異步協(xié)議來服務(wù)于整體的業(yè)務(wù)目標(biāo)。HTTP / REST或AMQP就是協(xié)作服務(wù)的示例,這些協(xié)作服務(wù)通過實(shí)現(xiàn)彼此相關(guān)的功能來盡可能高效地協(xié)同工作。

微服務(wù)這一概念聽起來清晰明了,但在實(shí)際操作中,想用所需的各種工具來構(gòu)建微服務(wù)應(yīng)用程序并非易事。這不僅僅是開發(fā)、測(cè)試或部署軟件的傳統(tǒng)問題。我們還需要進(jìn)行持續(xù)監(jiān)控,確保出現(xiàn)故障時(shí),問題能夠快速解決。

時(shí)刻謹(jǐn)記,并不存在哪個(gè)***工具能夠給微服務(wù)提供一站式的解決方案。Mike Amundsen的《微服務(wù)架構(gòu)三大支柱》一文中曾經(jīng)提出過,微服務(wù)成功的關(guān)鍵因素中,在組織設(shè)計(jì)的層面有三大關(guān)鍵組成部分:溝通、團(tuán)隊(duì)和創(chuàng)新。而在所有支柱中,溝通無疑是最不可或缺的。

市場(chǎng)中有許多工具可用于支持構(gòu)建微服務(wù)架構(gòu),其中大多數(shù)工具中的某些特定功能都是免費(fèi)的,但是許多工具也可以為額外的功能和服務(wù)提供額外的付費(fèi)升級(jí)。

API管理與測(cè)試

01.API Fortress

 

API Fortress是一個(gè)API測(cè)試及健康工具,它可以自動(dòng)執(zhí)行企業(yè)API的功能測(cè)試、運(yùn)行狀況監(jiān)控和負(fù)載測(cè)試。它的設(shè)計(jì)實(shí)際上是無代碼的,完全基于現(xiàn)代API架構(gòu)實(shí)踐和模式構(gòu)建。

鏈接:https://apifortress.com

02.Postman

 

Postman是適合個(gè)體開發(fā)人員和團(tuán)隊(duì)的API開發(fā)套件,它可讓您輕松運(yùn)行UI驅(qū)動(dòng)的API測(cè)試。Postman是一個(gè)功能強(qiáng)大的HTTP客戶端,通過它,RESTful API探索變得輕而易舉。用戶可以快速將簡(jiǎn)單和復(fù)雜的HTTP請(qǐng)求組合在一起,以便立即測(cè)試、開發(fā)和記錄API。

鏈接:https://www.getpostman.com

03.Tyk

 

Tyk是一款開箱即用的開源API管理平臺(tái),具有快速、可擴(kuò)展和現(xiàn)代的特點(diǎn)。

無論您是本地部署,還是使用云服務(wù),或者喜歡混合場(chǎng)景,Tyk都能滿足您的需求。使用Tyk,您可以在***的成本之上獲得極其可觀的高可用性和低延遲。

鏈接:https://tyk.io

消息服務(wù)

04.RabbitMq

 

RabbitMQ可幫助您使用不同的模式在您的微服務(wù)之間進(jìn)行通信,擴(kuò)展應(yīng)用程序,并解決大多數(shù)分布式系統(tǒng)的問題。你可以在各種微服務(wù)環(huán)境或任何其他分布式系統(tǒng)中使用RabbitMQ連接競(jìng)爭(zhēng)微服務(wù)。您還可以使用該工具在服務(wù)之間交換事件。

鏈接:https://www.rabbitmq.com

05.Amazon簡(jiǎn)單隊(duì)列服務(wù)(SQS)

 

Amazon SQS(Simple Queue Service,簡(jiǎn)單隊(duì)列服務(wù))提供了強(qiáng)大、靈活和可靠的微服務(wù)通信功能。如果選擇發(fā)布-訂閱微服務(wù)的通信模型,像Amazon SQS這樣的消息隊(duì)列服務(wù)可以解決好幾個(gè)開發(fā)人員的問題。除了更好的安全性之外,隊(duì)列還可以存儲(chǔ)待處理消息的可靠位置,從而來增強(qiáng)消息傳遞。

鏈接:https://aws.amazon.com/cn/sqs/

06.Apache Kafka

 

消息隊(duì)列在微服務(wù)架構(gòu)中至關(guān)重要,因?yàn)樾枰幚砦⒎?wù)彼此之間、以及微服務(wù)與外部源之間的通信。不論是用于密集數(shù)據(jù)處理還是API調(diào)用,Apache Kafka都是一個(gè)具有高容錯(cuò)性和彈性的分布式流處理平臺(tái)。

鏈接:https://kafka.apache.org

07.Google Cloud Pub/Sub

 

Google Cloud Pub / Sub是一款完全托管的實(shí)時(shí)消息服務(wù),可讓您在微服務(wù)之間發(fā)送和接收消息。將您的應(yīng)用程序與Google Cloud Pub / Sub集成,將有助于處理您必須接收的所有異步請(qǐng)求,并很大程度地減少用戶等待響應(yīng)的時(shí)間。

鏈接:https://cloud.google.com/pubsub/

監(jiān) 控

08.Logstash

 

部署完微服務(wù)之后,您必須對(duì)其進(jìn)行監(jiān)控。此時(shí)你需要考慮很多問題,例如:特定的微服務(wù)是否響應(yīng)良好或需要調(diào)整?其他系統(tǒng)部件(比如數(shù)據(jù)庫(kù))是否正常工作?您需要檢查日志并執(zhí)行此操作,此時(shí)Logstash將會(huì)是一個(gè)很好的工具。它是一個(gè)開源平臺(tái),您可以在其中集中、存儲(chǔ)和轉(zhuǎn)換數(shù)據(jù)。

鏈接:https://www.elastic.co/cn/products/logstash

09.Graylog

 

不妨試試將Logstash與Graylog結(jié)合,作為集中式服務(wù)器來使用。它易于使用、交互性良好、且速度很快。用戶可以使用系統(tǒng)輕松瀏覽數(shù)據(jù)。它具有可擴(kuò)展性,可根據(jù)開發(fā)的需求隨用戶的業(yè)務(wù)增長(zhǎng)而設(shè)計(jì)。Graylog不是免費(fèi)的,但價(jià)格實(shí)惠。

鏈接:https://www.graylog.org

Kube開發(fā)

10.Kubernetes

 

雖然Kubernetes肯定屬于容器編排領(lǐng)域,但它在微服務(wù)領(lǐng)域也應(yīng)該有一席之地。 Kubernetes已成為***部署實(shí)踐的黃金標(biāo)準(zhǔn)。在容器調(diào)度、負(fù)載均衡、服務(wù)發(fā)現(xiàn)等方面上,Kubernetes特別強(qiáng)大。對(duì)于使用Kubernetes構(gòu)建微服務(wù)的開發(fā)人員來說,同樣有不少開源工具可供使用。

鏈接:https://kubernetes.io

11.Telepresence

 

Telepresence是Kubernetes的一種快速的本地開發(fā)工具。通過Telepresence,用戶可以使用混合模型,服務(wù)編碼可以在用戶的筆記本電腦上本地完成,同時(shí)通過雙向代理連接Kubernetes中的服務(wù)。我不推薦將Telepresence用于生產(chǎn)環(huán)境,但它真的非常適合在開發(fā)環(huán)境中使用。

鏈接:https://www.telepresence.io

12.Istio

 

Istio支持Kubernetes上的服務(wù)部署。通過Istio的service mesh技術(shù),可以為微服務(wù)通信增加可靠性、安全性和可管理性。service mesh技術(shù)讓您可以改善應(yīng)用程序和微服務(wù)之間的關(guān)系和交互。

鏈接:https://istio.io

13.Minikube

 

Minikube是一個(gè)方便的開源工具,可讓您無需Wi-Fi而在筆記本電腦上運(yùn)行Kubernetes。例如,當(dāng)您想在飛機(jī)上寫代碼,而此時(shí)沒有隨機(jī)Wi-Fi,那Minikube的作用就顯現(xiàn)出來了。

鏈接:

https://github.com/kubernetes/minikube

編 排

14.Conductor

 

Conductor是Netflix的微服務(wù)編排引擎,是Netflix OSS生態(tài)系統(tǒng)的一部分。Conductor可以在云上運(yùn)行,并使用流協(xié)調(diào)器來通過微服務(wù)執(zhí)行任務(wù)。它還有助于控制微服務(wù)之間的交互并將其可視化。

鏈接:https://netflix.github.io/conductor/

編程語言

15.Elixir

 

您可以嘗試使用Elixir擴(kuò)展您的編程技能。Elixir是一種并發(fā)的、功能性的、通用的編程語言,與Erlang VM(也稱為BEAM)上的字節(jié)碼一起工作。

鏈接:https://elixir-lang.org

16.Spring Boot

 

使用Spring Boot框架可以大大簡(jiǎn)化基于REST的微服務(wù)的創(chuàng)建,只需幾行代碼即可完成。您可以使用其中一個(gè)可用的Spring Boot示例或Spring Initializr快速輕松地啟動(dòng)項(xiàng)目。

鏈接:http://spring.io

工具包

17.fabric8

 

fabric8是一種“開源平臺(tái)即服務(wù)”工具,它能夠幫助開發(fā)人員通過git提供配置管理系統(tǒng),處理IP地址復(fù)雜性和端口映射,并能夠?qū)Ψ?wù)執(zhí)行負(fù)載均衡。fabric8還提供了可擴(kuò)展性和高可用性。

鏈接:http://fabric8.io

18.Seneca

 

Seneca,是一種Node.js的微服務(wù)工具包,通過它,您可以輕松構(gòu)建基于消息的微服務(wù)流程,可以編寫干凈、有組織的代碼,并輕松地系統(tǒng)化應(yīng)用程序的業(yè)務(wù)邏輯。

鏈接:http://senecajs.org

19.Google Cloud Functions

 

Google Cloud Platform的Cloud Functions(BETA)非常輕量、無服務(wù)器、易于部署和維護(hù)。它的控制臺(tái)可以幫助開發(fā)人員來通過事件驅(qū)動(dòng)架構(gòu),來構(gòu)建低耦合的微服務(wù)應(yīng)用程序。它是按使用量收費(fèi)的,用戶可以使用Google Compute的API將Cloud Functions鏈接到其他產(chǎn)品。

鏈接:https://cloud.google.com/functions/

架構(gòu)框架

20.goa

 

goa提供了一個(gè)框架,使用設(shè)計(jì)優(yōu)先的方法,在Golang編程語言中構(gòu)建REST API和微服務(wù)。使用goa,開發(fā)人員可以設(shè)計(jì)API,然后生成其他所有內(nèi)容:JSON文檔、命令行應(yīng)用程序、JavaScript庫(kù)等等。所有g(shù)oadesign服務(wù)都在Google Cloud Platform之上運(yùn)行。

鏈接:https://stackshare.io/goa

21.Kong

 

Kong可以在多個(gè)操作環(huán)境中安裝,它利用大量的讀取-部署插件來幫助開發(fā)和部署微服務(wù)。使用Kong,您可以利用微服務(wù)和容器設(shè)計(jì)模式快速構(gòu)建以API為中心的應(yīng)用程序。

鏈接:https://konghq.com

無服務(wù)器工具

無服務(wù)器技術(shù)或“功能即服務(wù)(Function-as-a-service)”是微服務(wù)的重要組成部分。它優(yōu)化了將事物分解為最小功能的方法。

22.Claudia

 

使用Claudia的Lambda微服務(wù)后,用戶可以專注于業(yè)務(wù)而不是處理AWS部署。 Claudia負(fù)責(zé)AWS Lambda和API Gateway的部署。Claudia還可以自動(dòng)執(zhí)行容易出錯(cuò)的部署和配置任務(wù),一切開箱即用。除此之外,它還包含增強(qiáng)工具,如Claudia API Builder和Claudia Bot Builder。

鏈接:https://claudiajs.com

23.Apache Openwhisk

 

除了作為基于事件的編程服務(wù)之外,Apache Openwhisk還是一個(gè)易于擴(kuò)展的無服務(wù)器計(jì)算平臺(tái),支持開發(fā)人員創(chuàng)建、測(cè)試和連接其他人的操作以及幫助調(diào)試。通過Mac、Windows或Linux上的Docker,您都可以安裝使用OpenWhisk。

鏈接:https://openwhisk.apache.org

24.Serverless

 

這個(gè)工具正如它所說的那樣:它是一個(gè)控制臺(tái),將FaaS /無服務(wù)器技術(shù)與其他云服務(wù)相結(jié)合,幫助開發(fā)人員構(gòu)建復(fù)雜的系統(tǒng)。serverless還提供可擴(kuò)展性、集成安全性和增強(qiáng)的可操作性。

鏈接:https://serverless.com

25.Kubeless

 

Kubeless是一個(gè)Kubernetes原生的無服務(wù)器框架,它讓用戶可以只部署少量代碼,而無需擔(dān)心底層基礎(chǔ)架構(gòu)管道。Kubeless可以感知Kubernetes的開箱即用資源,還提供自動(dòng)擴(kuò)展、API路由、監(jiān)控和故障排除等功能。Kubeless完全依賴于K8s原語,因此Kubernetes用戶也可以使用原生K8s API服務(wù)器和API網(wǎng)關(guān)。

鏈接:https://github.com/kubeless/kubeless

26.IronFunctions

 

IronFunctions是一個(gè)開源的無服務(wù)器平臺(tái)或FaaS平臺(tái),您可以在任何地方運(yùn)行。IronFunctions是在Golang上編寫的,并且真正支持任何語言的函數(shù)。 IronFunctions的主要優(yōu)點(diǎn)是它支持AWS Lambda格式。您可以直接從Lambda導(dǎo)入函數(shù)并在任何地方運(yùn)行它們。

鏈接:https://github.com/iron-io/functions

27.AWS Lambda

 

AWS Lambda為您的微服務(wù)構(gòu)建提供基礎(chǔ)設(shè)施較少的服務(wù)器,并且是按使用費(fèi)收費(fèi)的。Lambda還可以與AWS API Gateway結(jié)合使用,后者可以托管REST或API服務(wù)。這兩者一起,可以讓您的API滿足用戶提出的任何需求。

鏈接:https://aws.amazon.com/cn/lambda/

28.Openfaas

 

OpenFaaS是一個(gè)開源的無服務(wù)器軟件程序,承諾“讓無服務(wù)器function更簡(jiǎn)單”。OpenFaaS可幫助您將任何進(jìn)程或容器打包為Windows或Linux的無服務(wù)器function。與任何無服務(wù)器技術(shù)一樣,其好處是可以讓開發(fā)人員專注于提供業(yè)務(wù)價(jià)值,而無需費(fèi)心于底層應(yīng)用程序結(jié)構(gòu)的日常管理相關(guān)的工作。

鏈接:https://www.openfaas.com

29.Microsoft Azure Functions

 

Microsoft Azure Functions是一種事件驅(qū)動(dòng)的按需計(jì)算function,它可以增強(qiáng)Azure現(xiàn)有的應(yīng)用程序功能。您只需基于規(guī)模和需求為您所使用的資源付費(fèi)。 Azure Functions幫助開發(fā)人員連接到數(shù)據(jù)源/消息服務(wù)解決方案,從而可以輕松處理和響應(yīng)事件。開發(fā)人員還可以利用Azure Functions功能構(gòu)建基于HTTP的API端點(diǎn)。

鏈接:https://azure.microsoft.com/en-us/services/functions/

團(tuán)隊(duì)建設(shè)工具

開發(fā)團(tuán)隊(duì)經(jīng)常需要對(duì)微服務(wù)進(jìn)行定期處理。要實(shí)現(xiàn)真正的團(tuán)隊(duì)自治,團(tuán)隊(duì)成員之間良好的溝通和合作必不可少。應(yīng)用程序生命周期的所有部分、所有環(huán)節(jié)都需要靈活性和責(zé)任感。在團(tuán)隊(duì)協(xié)作方面有許多工具可用,例如視頻會(huì)議、聊天工具、項(xiàng)目管理應(yīng)用程序和維基,這些工具有利于微服務(wù)開發(fā)人員遵守前文提到的微服務(wù)三大支柱。這類工具種類繁多且不少已經(jīng)非常成熟,大家可以自行嘗試與選擇。

結(jié) 語

軟件世界中不斷有新的開源工具涌現(xiàn),我們應(yīng)當(dāng)時(shí)刻保持關(guān)注。本文的這一微服務(wù)系統(tǒng)工具清單是一個(gè)不錯(cuò)的起點(diǎn),但在未來勢(shì)必會(huì)有更多更好的工具出現(xiàn),畢竟這正是開源的本質(zhì)意義所在。

責(zé)任編輯:武曉燕 來源: RancherLabs
相關(guān)推薦

2021-12-29 08:30:48

微服務(wù)架構(gòu)開發(fā)

2018-12-03 08:00:00

微服務(wù)gRPC

2020-06-15 20:16:30

在線工具搜索類

2013-09-11 10:15:21

Web設(shè)計(jì)學(xué)習(xí)WebWeb教程

2018-03-26 04:53:46

Serverless微服務(wù)架構(gòu)

2020-12-10 08:00:00

開發(fā).NET工具

2017-11-22 13:01:03

Go技術(shù)棧構(gòu)建

2017-12-20 15:37:39

Spring Clou微服務(wù)架構(gòu)

2023-08-16 14:39:20

微服務(wù)Java

2022-09-05 08:00:00

Java微服務(wù)AuraDB

2020-02-17 16:28:49

開發(fā)技能代碼

2021-08-11 13:54:19

微服務(wù)系統(tǒng)架構(gòu)開發(fā)者

2023-06-01 15:14:55

架構(gòu)Python微服務(wù)

2017-06-26 09:06:10

Spring Clou微服務(wù)架構(gòu)

2020-11-03 09:00:00

API微服務(wù)JavaScript框

2015-01-04 09:30:32

云計(jì)算Docker容器技術(shù)

2017-08-07 08:41:13

Java微服務(wù)構(gòu)建

2022-05-20 12:15:08

NodeJS微服務(wù)編程語言

2023-12-04 07:14:40

通信微服務(wù)

2021-03-05 11:09:46

Go框架微服務(wù)
點(diǎn)贊
收藏

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