Apache Camel K 1.0 為基於Kubernetes或Serverless的微服務提供整合功能 - davsclaus
Apache Camel K 1.0 為開發人員提供了整合基於Java的服務的工具和手段,這些服務來源很廣:既可以是無伺服器又可以是函式的,並使用標準Kubernetes構建塊執行,您只需使用整合路徑編寫一個檔案,即可立即在任何Kubernetes叢集上執行它們。
整合工具團隊為VS Code建立了一些很酷的擴充套件,這些擴充套件使Camel K的開發經驗更加令人興奮。您無需記住Camel DSL語法,IDE會為您提供建議和錯誤突出顯示。只需安裝適用於Apache Camel的VS Code Extension Pack, 即可使用所有這些功能。
如要在Camel K中啟用無伺服器配置檔案,您只需要確認Knative已安裝。在最新版本中,增加了對Knative最新進展的支援,例如Camel K與Knative事件代理很好地整合在一起,您可以輕鬆地從中生成或使用事件。
使用兩行程式碼,您可以將事件(例如,由IoT裝置生成的事件)從MQTT代理整合轉發到服務網格上:bridge.groovy
from('paho:mytopic?brokerUrl=tcp://broker-address:1883&clientId=knative-bridge') .to('knative:event/device-event') |
此整合配置為接收所有帶有`type = device-event`的事件並自動縮放負載,因為它已具體化為Knative Serving Service, 並通過觸發器自動訂閱了Eventing Broker。
當您的物聯網裝置產生某些事件時將發生CloudEvent,如果沒有資料,則將其規模縮小為零。您只需要建立它(就像以前一樣,只需kamel執行listener.groovy即可),其餘所有配置都由Camel K操作員自動完成。
新增了更多功能以更好地與Knative生態系統整合,並且還修復了以前版本中存在的一些相容性和效能問題。現在,使用者體驗更加流暢。
如果您是Knative YAML開發人員(!),則可以直接使用Cnative Camel Sources,而不是直接使用Camel K這是Knative版本的一部分。它們是Camel K整合的包裝,與Knative開發人員使用的所有工具(例如kn CLI或OpenShift無伺服器控制檯)相容。Knative中的源只能將資料推送到各個Knative端點中,而不能反過來(即,它們不能用於將資料從Knative釋出到外部)。在Camel K中,您沒有此限制:Route是Camel整合的基本組成部分,您可以使用它來做任何想做的事情。
在Camel K 1.0.0中,我們在JVM模式下支援Camel Quarkus。我們的目標是在下一版本中儘快提供叢集內本機編譯(對於某些DSL語言,例如YAML)!
要將Quarkus用作基礎執行時,您只需在執行整合時啟用Quarkus特性:
kamel run myintegration.groovy -t quarkus.enabled = true |
預期Quarkus將在下一發行版中成為預設的基礎執行時,並且將棄用並刪除對Standalone模式(通過camel-main)的支援。這意味著您不需要在下一版本中手動啟用Quarkus,但仍需要在1.0中啟用。
每個在Kubernetes上執行的應用程式都需要打包在一個容器映象中,但是在Camel K中,您僅提供整合DSL,並且它會自動執行該操作,包括直接在叢集中構建映象。
現在可以在Minikube等開發環境中以秒為單位測量構建時間。大部分時間都是一秒鐘。這不僅僅是簡單的改進!
Camel K提供了許多有用的工具來增加您的整合途徑的可視性。
其他更多特性點選標題見原文。
相關文章
- 基於Spring Integration和Apache Camel的SEDASpringApache
- 基於kubernetes平臺微服務的部署微服務
- 微服務閘道器Kong 1.0正式釋出!提供100+項功能微服務
- apache camelApache
- 使用Apache Camel進行Java企業整合ApacheJava
- Fission:基於Kubernetes的Serverless函式框架Server函式框架
- 在php-fpm或apache中使用swoole提供的task功能PHPApache
- SpringCloud微服務:基於Nacos元件,整合Dubbo框架SpringGCCloud微服務元件框架
- Apache Camel與Spring-boot和Kafka的整合開源案例ApacheSpringbootKafka
- go基於grpc構建微服務框架-整合opentracingGoRPC微服務框架
- 跟我一起學Knative(9)--整合Camel-K
- Apache Camel的單元測試Apache
- 基於雲的 CRM 能為您的業務提供哪些服務?
- 阿里雲Serverless Kubernetes通過Ingress提供7層服務訪問阿里Server
- 基於Kubernetes和Istio的Serverless框架Knative解析之AutoscalerServer框架
- 基於Kubernetes(k8s)部署Dubbo+Nacos服務K8S
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(下)K8SJenkins
- 基於Golang的微服務——ConsulGolang微服務
- Blazor+Dapr+K8s微服務之基於WSL安裝K8s叢集並部署微服務BlazorK8S微服務
- Serverless 下的微服務實踐Server微服務
- 使用Spring Cloud Kubernetes基於Kubernetes、Spring Boot和Docker構建微服務架構 - MoriohCloudSpring BootDocker微服務架構
- 基於graphql的微服務基礎框架微服務框架
- Serverless Kubernetes 和 Serverless on Kubernetes 的區別Server
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(上)-1K8SJenkins
- 基於Kubernetes/K8S構建Jenkins持續整合平臺(上)-2K8SJenkins
- 為什麼Kubernetes天然適合微服務?微服務
- 為什麼 kubernetes 天然適合微服務微服務
- Apache Camel日誌四種方法Apache
- 基於Golang的微服務——上手篇Golang微服務
- 基於Spring Cloud的微服務落地SpringCloud微服務
- 基於Kubernetes的Serverless PaaS穩定性建設萬字總結Server
- StreamNative將Kafka整合到基於Apache Pulsar的雲中KafkaApache
- Docker+Kubernetes(k8s)微服務容器化實踐DockerK8S微服務
- sealos 神奇功能 serverless kubernetes 之 cloud terminalServerCloud
- 基於Jenkins釋出微服務Jenkins微服務
- 使用 Skywalking 對 Kubernetes(K8s)中的微服務進行監控K8S微服務
- 微服務探索之路02篇liunx ubuntu伺服器部署k8s(kubernetes)-kubernetes/dashboard微服務Ubuntu伺服器K8S
- surging 微服務引擎 1.0 正式釋出微服務