1. 程式人生 > >我和 Spring 大神的一天

我和 Spring 大神的一天

摘要: 先介紹一下故事的5位主人公。 Josh Long 龍之春:Spring 技術佈道師,撰寫過5部著作,錄製過3部暢銷的培訓視訊,是一位開源軟體貢獻者。 Spencer Gibb:Spring 技術佈道師,Spring Cloud核心專案的聯合創始人。

先介紹一下故事的5位主人公。

Josh Long 龍之春:
Spring 技術佈道師,撰寫過5部著作,錄製過3部暢銷的培訓視訊,是一位開源軟體貢獻者。

Spencer Gibb:
Spring 技術佈道師,Spring Cloud核心專案的聯合創始人。除了深厚的Java開發經驗,他在Scala和Python等其他語言的使用上也頗有建樹。

亦盞:
Spring Cloud Alibaba 專案組成員。

洛夜:
Spring Cloud Alibaba 專案組成員。

小馬哥:
Java勸退師,Apache Dubbo PPMC,Spring Cloud Alibaba 專案組成員。

場景一:會場

1、參會日常
SpringOne Tour在國內開發者的受歡迎程度還是挺高的,500人的會場基本都坐滿了,而且還遇到了不少熟人。大家寒暄一聲,握個手,合個影,發個朋友圈,然後就都徑直入了座。

北京已經入了冬,所以沒看到有穿格子衫的程式設計師,但見到一位老奶奶,上前問了下,說是年輕的時候是搞技術的,表示不學點技術怕跟不上時代。突然想起小馬哥常說的,技術層出不窮,跟著小馬哥學視訊擼程式碼才是王道。一時,不明覺厲。

我和 Spring 大神的一天

2、和Spencer 聊程式碼
Spencer本次大會演講的主題是 "Spring Cloud Gateway"。

說起這個gateway專案,就不得不提到Netflix的Zuul。Spring Cloud 1.x版本的gateway使用的是Zuul 1.x。Spring Cloud 2.x版本起初也是計劃使用Zuul 2.x版本的,但是等了很久,Netflix一再跳票,於是Spencer聯合其它的開發者們自己整了一套 "Spring Cloud Gateway" 專案,用來代替Zuul 2.x。同時,也在Github上聲明瞭不再整合 Zuul2.x。

我和 Spring 大神的一天

看頭像有點眼熟?沒錯,上週,就是Spencer在Spring 官方部落格上宣佈了:阿里巴巴開源 Spring Cloud Alibaba,併發布了首個預覽版本。由於Spencer的助攻,Spring Cloud Alibaba上線剛一週,star數就已經突破1000。

Spencer結束演講後,我們和他聊了下:

Spring Cloud Greenwich 目前已經發布了M1版本,在未來的兩週內將會發布Greenwich的release版。可惜,Spring Cloud Alibaba 趕不上Greenwich這個版本了,只能在下個大版本H上車了,有點遺憾。雖然不在大版本里,但是Spring Cloud Alibaba仍會按照既有的計劃去release版本。
Spring Cloud孵化器裡有個Spring Cloud loadbalancer專案,這個專案未來會替換掉Netflix的ribbon,結合之前的"Zuul 2.x版本不被SpringCloud2.x版本使用"和"Eureka 2.0 開源工作宣告停止,繼續使用風險自負"的兩個事件,看起來Spring Cloud貌似想跟Netflix脫離關係。
聊完後,合個影是少不了的:

我和 Spring 大神的一天

左起:小馬哥、Spencer、亦盞、洛夜

場景二:酒店

先上照片。

我和 Spring 大神的一天

一天的會議結束之後,Josh Long表示白天的交流太多,demo還沒來得及做,打算晚上攻堅。我們去了他住的酒店。Josh一進房間就跟我們吐槽這邊的空氣,還拿了個"防毒"口罩給我們看了下。

1、Demo for Spring Cloud Alibaba

在 Spring Cloud Alibaba 專案上,Josh 跑通了Nacos Discovery,Nacos Config和 Sentinel 的Demo,實現了第一個版本中的諸多功能:

引入 Sentinel Starter 依賴,並配置 Sentinel Dashboard 的地址,無需修改任何程式碼,就完成了 Servlet、RestTemplate、Dubbo 和 RocketMQ 限流降級功能的接入,可以在執行時通過控制檯實時修改限流降級規則,還支援檢視限流降級 Metrics 監控。

引入 Nacos Config Starter 依賴,並配置 Nacos Server 地址。即可直接從 Nacos 配置中心獲取應用配置,且實現配置的實時重新整理,推送軌跡實時可查。

引入 Nacos Discovery Starter 依賴,並配置 Nacos Server 地址。即可直接使用 Nacos 的服務註冊與發現,與原有的 Eureka 、Consul 使用方式無任何區別。

「Demo地址」:https://github.com/spring-tips/bootiful-alibaba

我和 Spring 大神的一天

2、日常 Q&A

Q1: 如何評價 Java11 開始收費?
我身邊大部分技術人在生產環境部署的 OpenJDK,而非 Oracle JDK,正如Alibaba 有自己的 JDK 和JVM,所以不用過度擔心。另外,我想也會有不少廠商會基於OpenJDK進行定製化開發,並開源出來反哺社群和開發者。

Q2: 如何看待像 Go 這類新語言對 Java 的衝擊?
基於 Loom 和 Panama 這兩項技術,Java 也會擁有自己的輕量級執行緒,可以輕鬆的呼叫系統命令,這時候,誰還會需要 Go 呢?

Q3: 如何解決 Spring Boot 應用啟動慢的問題 ?
基於 Spring fu + Graal VM 這兩項技術可以讓Java 應用的啟動時間,從3秒提升至幾十毫秒,快了差不多 100 倍,可以預研下這些技術,但還不建議直接生產,因為我們自己也在做實驗。

Q4: 除了工作之外,會有其他娛樂活動嗎?例如玩遊戲嗎?
從差不多去年開始玩遊戲,最開始玩的是紅白機,覺得那個很好玩。現在我喜歡玩 Switch , 塞爾達特別好玩,我已經通關兩次了。。第二次我選擇了最高難度。我聽說過 Dota,但是我沒玩過。

離開Josh房間,天已漸亮。

我們仨人相視一笑,然後在朋友圈發了同一張照片。

我和 Spring 大神的一天

有程式設計師的地方,就有格子衫