閱讀459 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Day2&Day3@JavaOne2017

1. Java Keynotes

先是社區代表亮相,為Java社區背書。

JUG.JPG

接下來是每年都有的Innovation Sponsor Intel的時間,當然不全是廣告,從這個過程中還是可以了解到Intel的一些策略和核心關注點。

Data is Future

DF-F.png

They want to enable the Future by Speed, Scale and Smart
EF-F.png

They have proof that they are faster enough!

FAST-F.png

And us Alibaba represents Scalable, Proud!

SCALABLE.JPG

Smart means supporting AI
這裏麵提出了OpenJDK的Panama項目的Vector API,用於支持AI,詳情前往https://software.intel.com/en-us/articles/vector-api-developer-program-for-java

JAVA-AI.png

接下來的部分主要是介紹Java與Cloud,微服務的緊密關係。以及JAVA9的部分特性。包含一係列的DEMO演示,這裏就不多說了,相信其它同學會有更詳細的介紹這塊內容。我個人的收獲就是我極大的增強了對JAVA的信心,我不需要學習其它編程語言了,哈哈

2. Micro Services related at this JavaOne

2.1 異步編排微服務

此次的微服務相關主題絕大部分都與異步、Reactive、Message Driven、Event Sourcing有關,其實這與很多年前ebay所提出來的能異步則異步很相似。

Async-A.JPG

Async-B.JPG

簡單來說就是異步化、消息驅動的微服務編排架構。這樣做的好處是什麼呢?

  • 鬆耦合
  • 更少的對設計者的依賴,很好的契合了微服務所提倡的自治
  • 更好的並發以及更好的容錯性

當然,不完全是好處,也有缺點:執行的不可預測性,以及不可測性。我覺得作者有意沒有講出更多的缺點。很多相關的Speaker都提出來Reactive的係統,比如用戶提交時異步變更數據庫,通過異步的Server Push再告知用戶結果,有一些為了用而用的嫌疑,因為這樣會帶來很多複雜性,也會對用戶體驗有影響。Anyway, 我們應該審視一下我們哪些係統或服務或模塊是可以異步的

ASYNC.JPG

2.2 我收獲最多的微服務session

一、微服務絕對不僅僅是小,是單一職責的原則就可MSA-2.JPG以了,微服務要實現團隊間依賴更少的合作,服務要實現自治(做神一樣的隊友)

MSA-1.JPG

MSA-2.JPG

二、承諾說,有點像我們文化裏麵的ownership,"即使不是自己的職責,也是推諉"。大家仔細體會一下,尤其是那個tweet。

PROMISE-1.JPG

PROMISE-2.JPG

PROMISE-3.JPG

三、越Hot的數據往往占用了越多的資源,對性能也越關鍵,但往往是占用更少的空間。但是 往往有很多多的不同解決方案

DATA-1.JPG

四、沒有所謂的無狀態, 隻是將狀態推脫給別人。現實生活中,我們的很多方案都是不完美的,都是一種平衡,而我們往往聽到一種觀點,就不假思索的認為可以解決所有的問題,最後再返工浪費時間

DATA-2.JPG

五、所有的事實都在LOG中,數據庫中的數據是LOG的子集。這個觀點是用來引出Event Sourcing的,這塊前麵已經介紹過,這裏不再詳述

DATA-3.JPG

六、大家都討厭最終一致,但它是necessary的

DATA-4.JPG

最後更新:2017-11-03 13:34:36

  上一篇:go  幹貨滿滿,Android熱修複方案介紹
  下一篇:go  大數據分析JavaOne2017