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 调度 Spring
Java异步非阻塞编程的几种方式
Java异步非阻塞编程的几种方式
Java异步非阻塞编程的几种方式
|
前端开发 Java API
异步编程 - 11 Spring WebFlux的异步非阻塞处理2
异步编程 - 11 Spring WebFlux的异步非阻塞处理2
172 0
|
前端开发 Java 应用服务中间件
【小家Spring】高性能关键技术之---体验Spring MVC的异步模式(Callable、WebAsyncTask、DeferredResult) 基础使用篇(上)
【小家Spring】高性能关键技术之---体验Spring MVC的异步模式(Callable、WebAsyncTask、DeferredResult) 基础使用篇(上)
【小家Spring】高性能关键技术之---体验Spring MVC的异步模式(Callable、WebAsyncTask、DeferredResult) 基础使用篇(上)
|
消息中间件 安全 Java
Java中的异步编程方案总结
Java中的异步编程是一种能够提高程序性能和响应速度的技术。它通过将耗时的操作放在单独的线程中,让主线程继续执行其他任务,从而实现并发处理和异步执行。在Java中,异步编程常用的方式有多线程、Future和CompletableFuture等。在实际应用中,异步编程可以优化网络请求、数据库操作等IO密集型任务的性能,提高程序的响应速度和吞吐量。虽然异步编程可以带来许多好处,但同时也涉及到一些问题,比如线程安全、回调地狱等。因此,在使用异步编程时需要注意合理地设计和管理线程,确保程序的正确性和可维护性。
376 1
Java中的异步编程方案总结
idea2023安装详情与激活码
详情请看:docs.qq.com/doc/DVHhaSHZCaFJKd0Rq
657 1
|
运维 Kubernetes 负载均衡
从 Nginx Ingress 窥探云原生网关选型
现今有越来越多的企业开始采纳云原生理念进行应用架构转型。而 K8s 和微服务是云原生的两大支柱,随着云原生浪潮而被广泛应用。
从 Nginx Ingress 窥探云原生网关选型
|
消息中间件 数据采集 运维
Kafka监控与指标之UnderReplicatedPartitions
Kafka监控 Kafka 使用 Yammer Metrics 在服务器中报告指标,Java 客户端使用 Kafka Metrics,这是一个内置的指标注册表. 两者都通过 JMX 公开指标 启用JMX并上报指标 Kafka 默认禁用远程 JMX,Kafka启动JMX方式
Kafka监控与指标之UnderReplicatedPartitions
Java异步编程CompletableFuture
Java异步编程CompletableFuture
|
Kubernetes 监控 Cloud Native
从概念、部署到优化,Kubernetes Ingress 网关的落地实践
本文将从 5 个方面展开 Kubernetes Ingress 最佳实践。
从概念、部署到优化,Kubernetes Ingress 网关的落地实践
|
Java API 调度
Java 异步调用实践
本文介绍了线上业务中的一些异步调用实践经验,包含 IO 模型介绍、CompletableFuture 的基本使用、RPC 异步调用、异步 HTTP 客户端 Spring WebClient 的使用等。
683 0
Java 异步调用实践