天天看点

Day2&Day3@JavaOne2017

先是社区代表亮相,为Java社区背书。

Day2&Day3@JavaOne2017

接下来是每年都有的Innovation Sponsor Intel的时间,当然不全是广告,从这个过程中还是可以了解到Intel的一些策略和核心关注点。

Data is Future

Day2&Day3@JavaOne2017

They want to enable the Future by Speed, Scale and Smart

Day2&Day3@JavaOne2017

They have proof that they are faster enough!

Day2&Day3@JavaOne2017

And us Alibaba represents Scalable, Proud!

Day2&Day3@JavaOne2017

Smart means supporting AI

Day2&Day3@JavaOne2017

接下来的部分主要是介绍Java与Cloud,微服务的紧密关系。以及JAVA9的部分特性。包含一系列的DEMO演示,这里就不多说了,相信其它同学会有更详细的介绍这块内容。我个人的收获就是我极大的增强了对JAVA的信心,我不需要学习其它编程语言了,哈哈

此次的微服务相关主题绝大部分都与异步、Reactive、Message Driven、Event Sourcing有关,其实这与很多年前ebay所提出来的能异步则异步很相似。

Day2&Day3@JavaOne2017
Day2&Day3@JavaOne2017

简单来说就是异步化、消息驱动的微服务编排架构。这样做的好处是什么呢?

松耦合

更少的对设计者的依赖,很好的契合了微服务所提倡的自治

更好的并发以及更好的容错性

当然,不完全是好处,也有缺点:执行的不可预测性,以及不可测性。我觉得作者有意没有讲出更多的缺点。很多相关的Speaker都提出来Reactive的系统,比如用户提交时异步变更数据库,通过异步的Server Push再告知用户结果,有一些为了用而用的嫌疑,因为这样会带来很多复杂性,也会对用户体验有影响。Anyway, 我们应该审视一下我们哪些系统或服务或模块是可以异步的

Day2&Day3@JavaOne2017

一、微服务绝对不仅仅是小,是单一职责的原则就可

Day2&Day3@JavaOne2017

以了,微服务要实现团队间依赖更少的合作,服务要实现自治(做神一样的队友)

Day2&Day3@JavaOne2017
Day2&Day3@JavaOne2017

二、承诺说,有点像我们文化里面的ownership,"即使不是自己的职责,也是推诿"。大家仔细体会一下,尤其是那个tweet。

Day2&Day3@JavaOne2017
Day2&Day3@JavaOne2017
Day2&Day3@JavaOne2017

三、越Hot的数据往往占用了越多的资源,对性能也越关键,但往往是占用更少的空间。但是 往往有很多多的不同解决方案

Day2&Day3@JavaOne2017

四、没有所谓的无状态, 只是将状态推脱给别人。现实生活中,我们的很多方案都是不完美的,都是一种平衡,而我们往往听到一种观点,就不假思索的认为可以解决所有的问题,最后再返工浪费时间

Day2&Day3@JavaOne2017

五、所有的事实都在LOG中,数据库中的数据是LOG的子集。这个观点是用来引出Event Sourcing的,这块前面已经介绍过,这里不再详述

Day2&Day3@JavaOne2017

六、大家都讨厌最终一致,但它是necessary的

Day2&Day3@JavaOne2017