Enviar búsqueda
Cargar
浅说Vertx
•
Descargar como PPTX, PDF
•
1 recomendación
•
1,968 vistas
F
foxgem
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 16
Descargar ahora
Recomendados
Web storage&web socket&canvas
Web storage&web socket&canvas
molice
那一夜我們說Pattern design patterns 20周年-published
那一夜我們說Pattern design patterns 20周年-published
teddysoft
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
Simen Li
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
Proxmox VE 功能概觀、案例分享與實用工具 [2019/12/07] @Proxmox VE 中文使用者社團 2019 年會
Proxmox VE 功能概觀、案例分享與實用工具 [2019/12/07] @Proxmox VE 中文使用者社團 2019 年會
Jason Cheng
Anytao 让windows phone应用在云端翱翔
Anytao 让windows phone应用在云端翱翔
Tao Wang
Node Web开发实战
Node Web开发实战
fengmk2
Node Web开发实战
Node Web开发实战
fengmk2
Recomendados
Web storage&web socket&canvas
Web storage&web socket&canvas
molice
那一夜我們說Pattern design patterns 20周年-published
那一夜我們說Pattern design patterns 20周年-published
teddysoft
全端物聯網探索之旅 - 重點整理版
全端物聯網探索之旅 - 重點整理版
Simen Li
Node.js 進攻桌面開發
Node.js 進攻桌面開發
Fred Chien
Proxmox VE 功能概觀、案例分享與實用工具 [2019/12/07] @Proxmox VE 中文使用者社團 2019 年會
Proxmox VE 功能概觀、案例分享與實用工具 [2019/12/07] @Proxmox VE 中文使用者社團 2019 年會
Jason Cheng
Anytao 让windows phone应用在云端翱翔
Anytao 让windows phone应用在云端翱翔
Tao Wang
Node Web开发实战
Node Web开发实战
fengmk2
Node Web开发实战
Node Web开发实战
fengmk2
GlassFish特性介绍
GlassFish特性介绍
Jim Jiang
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
Kiss开发平台简介
Kiss开发平台简介
cecepig
Hadoop ecosystem
Hadoop ecosystem
legend900805
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Hong Cai
Web development overview
Web development overview
Wei Sun
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Chieh Lin
实时Web的前世今生未来
实时Web的前世今生未来
RolfZhang
D2-ETao-show
D2-ETao-show
leneli
Html5
Html5
cazhfe
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
Target Source
云计算与开源 刘黎明 世纪互联
云计算与开源 刘黎明 世纪互联
Liming Liu
How to-start-your-own-website v1.3
How to-start-your-own-website v1.3
faliamm
移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发
fangdeng
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
聊聊一些体验过的“云服务”
聊聊一些体验过的“云服务”
popoer
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式
Timothy Chen
Groovy:Candy for Java Developers
Groovy:Candy for Java Developers
foxgem
Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨
foxgem
Más contenido relacionado
Similar a 浅说Vertx
GlassFish特性介绍
GlassFish特性介绍
Jim Jiang
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
Kiss开发平台简介
Kiss开发平台简介
cecepig
Hadoop ecosystem
Hadoop ecosystem
legend900805
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Hong Cai
Web development overview
Web development overview
Wei Sun
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Chieh Lin
实时Web的前世今生未来
实时Web的前世今生未来
RolfZhang
D2-ETao-show
D2-ETao-show
leneli
Html5
Html5
cazhfe
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
Target Source
云计算与开源 刘黎明 世纪互联
云计算与开源 刘黎明 世纪互联
Liming Liu
How to-start-your-own-website v1.3
How to-start-your-own-website v1.3
faliamm
移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发
fangdeng
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
聊聊一些体验过的“云服务”
聊聊一些体验过的“云服务”
popoer
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式
Timothy Chen
Similar a 浅说Vertx
(20)
GlassFish特性介绍
GlassFish特性介绍
Real time web实时信息流推送
Real time web实时信息流推送
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
Kiss开发平台简介
Kiss开发平台简介
Hadoop ecosystem
Hadoop ecosystem
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
Web development overview
Web development overview
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
实时Web的前世今生未来
实时Web的前世今生未来
D2-ETao-show
D2-ETao-show
Html5
Html5
Terracotta And Continuent Based Clustering Architecture
Terracotta And Continuent Based Clustering Architecture
云计算与开源 刘黎明 世纪互联
云计算与开源 刘黎明 世纪互联
How to-start-your-own-website v1.3
How to-start-your-own-website v1.3
移动互联网时代的Mobile app设计和开发
移动互联网时代的Mobile app设计和开发
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
聊聊一些体验过的“云服务”
聊聊一些体验过的“云服务”
Non-MVC Web Framework
Non-MVC Web Framework
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
0509 Windows Serevr 2008 新世代網路應用程式
0509 Windows Serevr 2008 新世代網路應用程式
Más de foxgem
Groovy:Candy for Java Developers
Groovy:Candy for Java Developers
foxgem
Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨
foxgem
移动开发的性能优化
移动开发的性能优化
foxgem
持续交付 - 使用云计算和虚拟化技术
持续交付 - 使用云计算和虚拟化技术
foxgem
Grails:下一代Java Web开发框架
Grails:下一代Java Web开发框架
foxgem
Groovy for Java Programmer
Groovy for Java Programmer
foxgem
OpenParty西安:DSL in Groovy
OpenParty西安:DSL in Groovy
foxgem
OpenParty西安:What does DevOps mean?
OpenParty西安:What does DevOps mean?
foxgem
OpenParty西安:How to be a good copycat?
OpenParty西安:How to be a good copycat?
foxgem
Más de foxgem
(9)
Groovy:Candy for Java Developers
Groovy:Candy for Java Developers
Our Choice:电子书的新交互方式探讨
Our Choice:电子书的新交互方式探讨
移动开发的性能优化
移动开发的性能优化
持续交付 - 使用云计算和虚拟化技术
持续交付 - 使用云计算和虚拟化技术
Grails:下一代Java Web开发框架
Grails:下一代Java Web开发框架
Groovy for Java Programmer
Groovy for Java Programmer
OpenParty西安:DSL in Groovy
OpenParty西安:DSL in Groovy
OpenParty西安:What does DevOps mean?
OpenParty西安:What does DevOps mean?
OpenParty西安:How to be a good copycat?
OpenParty西安:How to be a good copycat?
浅说Vertx
1.
浅说Vert.x 胡键(@foxgem)
2.
我是谁 入行时间 10+年
社区身份 GroovyQ(www.groovyq.net)站长 西安社区组织者(OpenParty、QClub西安) 个人兴趣 广泛……,目前专注于vertx 联系方式 Twitter/微博:@foxgem 邮箱:jianhgreat@hotmail.com
3.
什么是Vert.x? 文艺范儿的官方定义 Vert.x
is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications. 胡氏简化版 Node.js on JVM
4.
典型的应用场景 vertx缺省支持 Socket
Server Http Server WebSocket SockJS 典型应用 解析实时数据帧的通信 服务器 Web服务器 向前端屏蔽后端数据源 位置的数据服务器 分布式消息处理器 ……
5.
Vert.x的若干关键词 简 单 //典型的Socket Server结构 vertx.createNetServer() .connectHandler{ socket
-> socket.dataHandler { buffer -> … } socket.closedHandler { … } socket.exceptionHandler { … } }.listen(1234)
6.
Vert.x的若干关键词 多 语 言 直接支持的语言 Java
JavaScript Ruby Python Groovy 为新语言的支持提供 了语言接口
7.
Vert.x的若干关键词 异 步 非阻塞 建立于Netty之上
类Actor编程范式 事件 事件处理器 事件循环 事件总线 支持本地/分布式 publish,发布/订阅 send,点对点
8.
Vert.x的若干关键词 事件总线简单示例 发送端
接收端 eb = vertx.eventBus … eb.publish('out.client', repository.findAllClients()) eb.registerHandler('out.client', function(message) { that.total(message.total); that.clients.removeAll(); for (var i = 0; i < message.total; i++) { that.clients.push(message.clients[i]); }; });
9.
Vert.x的若干关键词 WebSocket 开箱即用的 WebSocket支持 支持SockJS
考虑到WebSocket的 兼容性问题,推荐以 SockJS为替代 支持EventBus Bridge
10.
Vert.x的若干关键词 集 群 基于Hazelcast 命令
vertx run xxx -cluster 注意:若集群起在同一机器上 时,另一个集群实例的启动需要 使用:-cluster-port vertx run xxx -cluster -cluster- port 25501
11.
Vert.x的若干关键词 模 块 运行单元:verticle vertx
run verticle 复用单元:模块(Module) Vert.x的插件系统 模块亦可单独运行 vertx runmod mod 二者均支持动态部署 deployVerticle/undeployVerticle deployModule/undeployModule
12.
Vert.x应用的开发 1. 建立工程 Vertx应用即普通的Java工程 apply
plugin: 'groovy' vertxHome = '...' repositories { flatDir dirs: "${vertxHome}/lib" } dependencies { groovy localGroovy() compile gradleApi() compile fileTree(dir: "${vertxHome}/lib", includes: ['*.jar']) runtime fileTree(dir: "${vertxHome}/lib", includes: ['*.jar']) runtime files("${vertxHome}/conf") }
13.
Vert.x应用的开发 2. 编写Verticle(以groovy为例) Verticle的依赖类为普通Java类 import
org.vertx.groovy.core.buffer.Buffer vertx.createNetClient().connect(1234, "localhost") { socket -> socket.dataHandler { buffer -> ... } socket.closedHandler { ... } ... }
14.
Vert.x应用的开发 3. 编译工程 4. 运行
小技巧 可使用-instances参数指定同时运行的Verticle 的实例数,最大化利用CPU核数 Vertx提供了gradle工程的应用模板 https://github.com/vert-x/vertx-gradle- template gradle build vertx run Server.groovy -cp ./build/libs/*.jar
15.
开发经验 同步 ->
异步 分而治之,充分利用Verticle 事件总线很方便,设计事件体系是关键 尤其是事件地址,专项专用 利用动态部署实现功能的动态增减 永远不要阻塞事件循环,IO操作转移到Worker Verticle 例子1: 普通Verticle -> 事件总线 -> Worker Verticle -> DB Server 例子2 利用Worker Verticle实现连接池,在上例中部署多个worker verticle实例即可,每个Worker中保持与DB的连接
16.
参考资料 官方站点:http://vertx.io/ Google
vertx + 问题相关关键字
Descargar ahora