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

相关文章
|
监控 Java API
最简日志打印规范
个人认为,如果在公司的野蛮生长阶段,一些基础类库不做约束,很可能“埋坑”,形成技术债务,最终为此付出代价。本文讲解一个最简的日志打印规范。 事实上,日志打印规范互联网上已有很多,但大多比较冗长(记不住),也不太契合我们团队(关注点不契合)。
4212 0
|
程序员 Linux Ruby
Mac安装并使用telnet命令操作
Mac安装并使用telnet命令操作
17318 1
Mac安装并使用telnet命令操作
|
安全 Linux 网络安全
ssh中的密码登录和密钥登录
ssh中的密码登录和密钥登录
|
JavaScript Dubbo Java
这份日志格式规范,拿走不谢(Java版)
这份日志格式规范,拿走不谢(Java版)
|
监控 网络协议
Win系统 - 如何设置电脑的固定IP地址?
Win系统 - 如何设置电脑的固定IP地址?
1148 0
Win系统 - 如何设置电脑的固定IP地址?
|
数据采集 Prometheus 运维
彻底搞懂监控系统,使用Prometheus和Grafana 如何实现运维告警?
之前我们搭建好了监控环境并且监控了服务器、应用,我们可以实时了解当前被应用平台的运行状态,但是我们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或应用指标异常时发送告警,通过邮件或者短信的形式告诉运维人员及时处理。所以,接下来就来介绍非常重要的功能——告警。
彻底搞懂监控系统,使用Prometheus和Grafana 如何实现运维告警?
|
机器学习/深度学习 自然语言处理 算法
机器学习之卷积神经网络--CNN介绍
机器学习之卷积神经网络--CNN介绍
776 1
机器学习之卷积神经网络--CNN介绍
|
SQL 存储 分布式计算
阿里云产品MaxCompute介绍|学习笔记
快速学习阿里云产品MaxCompute介绍
1964 0
阿里云产品MaxCompute介绍|学习笔记
|
弹性计算 Ubuntu Linux
在阿里云ECS上的Hyperledger Fabric 1.1.0 搭建与测试
从去年底到现在一直在准备今年的竞赛作品,其中一个主力项目是基于Hyperledger Fabric联盟链框架的电子病历相关应用。在完成作品背景调研、需求分析以及设计工作后,目前团队在进行作品实现。所以开始研究在阿里云ECS云服务器上搭建Fabric项目的基础环境。由于Fabric项目是一个非常新、年轻的开源框架,中文资料稀少,英文资料理解困难,因此在云服务器上完成环境搭建并跑通示例非常不容易。特写此文,作为工具查阅。