iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0

Quarkus 打著雲原生, Kube-native 的口號,對於 Kubernetes 的支援當然是不可少,Quarkus 官方的文件與相關的 Extension 也都很豐富,想了想要挑哪種來介紹都不對,所以這邊主要整理 Quarkus k8s 佈署的相關資源

K8S 資源檔 YAML

到了 K8S 要佈署時,是否為了撰寫 yaml 而頭大。沒關係 Quarkus 自動幫你生,增加以下的 Dependency, 在 maven build時就會自動生成 K8S yaml 與 json

        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-kubernetes</artifactId>
        </dependency>

可以看到 health, metric 的設定也都是已經指到 ap 的相對位置,可以直接拿來佈署了

https://ithelp.ithome.com.tw/upload/images/20221005/201357017QezE4LsF2.png

Public K8S Cloud Deployment

FaaS ? Serverless ?

Quarkus 可以 compile 成 native,或許會想到可以用上 FaaS, AWS Lambda..., Quarkus 也有專門一個分支 funqy 專攻這塊。不過 native compiler 下來一來可能會花不少力氣,Native 的踩坑,編譯時的等待等等的,效能可能只是跟 NodeJS 差不多,這樣成本與效益一比就很明顯

https://ithelp.ithome.com.tw/upload/images/20221005/20135701IduJzUmXwO.png

可以參考這篇的效能評比

https://bmccann.medium.com/is-quarkus-the-magic-bullet-for-java-and-aws-lambda-567a0968a971

服務發現 (Service Discovey)

微服務先天就是個分散式系統,怎麼找到可靠的 Service provider,或是同個 serivce 的不同 instance 也是重要的。在 k8s 我們除了 DNS Service Discovery ,也會有 Discovey Service。 Quarkus 提供了 SmallRye Stork 的幫助,可以容易的在 k8s 環境利用 Consul and Kubernetes 發現服務。

https://quarkus.io/guides/stork


上一篇
Quarkus x Kotlin 呼叫 RESTful Service
下一篇
第三十天 - Quarkus 與 Kotlin 回顧與未盡 - Redis, Kafka, S3..
系列文
Quarkus, Kotlin, Reactive 雲原生服務開發32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言