Day2&Day3@JavaOne2017
1. Java Keynotes
先是社區代表亮相,為Java社區背書。
接下來是每年都有的Innovation Sponsor Intel的時間,當然不全是廣告,從這個過程中還是可以了解到Intel的一些策略和核心關注點。
Data is Future
They want to enable the Future by Speed, Scale and Smart
They have proof that they are faster enough!
And us Alibaba represents Scalable, Proud!
Smart means supporting AI
這裏麵提出了OpenJDK的Panama項目的Vector API,用於支持AI,詳情前往https://software.intel.com/en-us/articles/vector-api-developer-program-for-java
接下來的部分主要是介紹Java與Cloud,微服務的緊密關係。以及JAVA9的部分特性。包含一係列的DEMO演示,這裏就不多說了,相信其它同學會有更詳細的介紹這塊內容。我個人的收獲就是我極大的增強了對JAVA的信心,我不需要學習其它編程語言了,哈哈
2. Micro Services related at this JavaOne
2.1 異步編排微服務
此次的微服務相關主題絕大部分都與異步、Reactive、Message Driven、Event Sourcing有關,其實這與很多年前ebay所提出來的能異步則異步很相似。
簡單來說就是異步化、消息驅動的微服務編排架構。這樣做的好處是什麼呢?
- 鬆耦合
- 更少的對設計者的依賴,很好的契合了微服務所提倡的自治
- 更好的並發以及更好的容錯性
當然,不完全是好處,也有缺點:執行的不可預測性,以及不可測性。我覺得作者有意沒有講出更多的缺點。很多相關的Speaker都提出來Reactive的係統,比如用戶提交時異步變更數據庫,通過異步的Server Push再告知用戶結果,有一些為了用而用的嫌疑,因為這樣會帶來很多複雜性,也會對用戶體驗有影響。Anyway, 我們應該審視一下我們哪些係統或服務或模塊是可以異步的
2.2 我收獲最多的微服務session
一、微服務絕對不僅僅是小,是單一職責的原則就可以了,微服務要實現團隊間依賴更少的合作,服務要實現自治(做神一樣的隊友)
二、承諾說,有點像我們文化裏麵的ownership,"即使不是自己的職責,也是推諉"。大家仔細體會一下,尤其是那個tweet。
三、越Hot的數據往往占用了越多的資源,對性能也越關鍵,但往往是占用更少的空間。但是 往往有很多多的不同解決方案
四、沒有所謂的無狀態, 隻是將狀態推脫給別人。現實生活中,我們的很多方案都是不完美的,都是一種平衡,而我們往往聽到一種觀點,就不假思索的認為可以解決所有的問題,最後再返工浪費時間
五、所有的事實都在LOG中,數據庫中的數據是LOG的子集。這個觀點是用來引出Event Sourcing的,這塊前麵已經介紹過,這裏不再詳述
六、大家都討厭最終一致,但它是necessary的
最後更新:2017-11-03 13:34:36