当前位置:首页 > 报告详情

使用 Reactive Quarkus 搭配 Coroutine 及 MongoDB 做后端开发.pdf

上传人: 张** 编号:153024 2024-01-15 49页 1.08MB

1、Kotlinkotlin|Developed by JetBrains Reactive Quarkus With Coroutine and MongoDB蘇芃翰(豬排)電獺股份有限公司共同創辦人兼副執行長介紹一下我們公司創業歷程影響技術選型大部分人認識的電獺3C 界的 AKB48電獺是技術研發公司2012 年成立,2013 年推出鄉民晚報App(台版今日頭條)試著分析鄉晚讀者累積的閱讀行為大數據2016 推出 AotterTrek 廣告聯播網,成立子公司 電豹 Aseal 專營廣告市場開發台灣所有的 PTT 閱讀器 App 皆為聯播網渠道,並擴及各大新聞媒體網站如今是台灣最大 App 原生

2、廣告 SSP,江湖俗稱鄉民聯播網技術挑戰!鄉民有個習性.地震了!先上八卦版!2022/09/18 24 小時內四次地震 廣告主機負載圖鄉民侯風地動儀限制下的技術選型新創很窮不能用鈔能力解決團隊只會 Java為了管理方便也只能會 Java高效能極輕量的框架JVM 生態系Reactive Programming追榜的過程中,我們注意到了 Vert.x2017-2019 期間常衝上榜Vert.x 是 jvm 版的 Node.js 真的有點猛spring bootvert.xhttps:/ COSCUP Vincent 大大與我一起做的小測試但有個小問題.public void start()vert

3、x.createHttpServer().requestHandler(handler).listen(8080,ar-if(ar.succeeded()logger.info(HTTP server started)else logger.warn(fail,ar.cause();Vert.x 官方預設擁抱 callback style 的寫法真實世界應用情境,寫 Java 弄不好會變這樣請 ChatGPT4 老師幫我們 demo:換 CompletableFuture 試試換 RxJava 試試Java Reactive Programming 痛苦深淵reactive chaining

4、需要花時間理解到底我的 code 會不會跑,還是要 subscribe 才會動chaining operator 寫到心累在 lamda expression 中噴錯了,會無聲死亡.得小心翼翼處理錯誤JVM 中難道就沒有隔壁棚的 async,await 可以用嗎?kotlin coroutine 來拯救勒改寫成 kotlin coroutineVert.x 在很早期(coroutine 還沒正式 release 前)官方就出了 coroutine support 的 plugin有沒有很感動!全攤平了!不用去記憶一大堆 chaining operator 代表的意義這樣就 reactive 了

5、真的假的!還可以 try catch!More idiomatic!我 OK!先跳坑囉!找到了這個寫法之後,我們才敢在 production 上使用 Vert.x2019 年,我們就有第一個 Vert.x-kotlin-coroutine 上 production到這邊總結一下我們很窮,所以選 Vert.x我們想把 Vert.x 寫到方便維護,所以選 kotlin coroutine為了導入 coroutine,所以去學 kotlin然後就全公司後端都開始用 kotlin 了誰叫 java 動那麼慢,好啦他包袱多,不怪他但 Vert.x 直接寫大專案,有點辛苦Vert.x 認為自己是 tool

6、kit,不是 framework官方沒有提供 DI、CronJob 等等常見的工具router 要自己寫,風格類似 nodejs,java 人比較不習慣Quarkus 來拯救勒Quarkus 是個完整的 frameworkVert.x 外面包一層,性能一樣威猛生態系整合完善啊就很像 spring boot 的開發者體驗Red Hat 在罩的開源專案Say no more,ChatGPT4 老師請幫我再改寫一次:Quarkus kotlin coroutine。如此優雅!提醒大家,最一開始是長這樣的假設今天你被推坑成功了有幾個雷先講Quarkus 為了支援 java user,reactive

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了蘇芃翰创办的电獭股份有限公司的创业历程和技术选型。公司成立于2012年,推出了“乡民晚报”App,通过分析用户阅读行为大数据,于2016年推出广告联播网,成为台湾最大的App原生广告SSP。电獭采用Reactive Programming技术,使用Vert.x和MongoDB构建全反应式栈,节省了开发和运维成本。面临技术挑战,如地震预警、广告主机组件负载等问题,电獭采用Kotlin协程和Quarkus框架进行优化,提高了系统性能和开发效率。此外,电獭还贡献了Quarkus学习资源,并开源了两个教学项目,以帮助开发者学习Kotlin协程、MongoDB和Quarkus。
性能与效率的较量" Vert.x与Kotlin Coroutine的完美结合" 构建高效广告投放系统的利器"
客服
商务合作
小程序
服务号
折叠