由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - vert.x 下使用ORM的疑问
相关主题
Boost.Serialization no longer maintained?请教个技术问题,hibernate里的Set数据类型该怎么存到MYSQL里
serialization 到底该怎么理解啊?damn, love vert.x
Vert.x3 says "hello" to NPM users设计一个大计算量的并行架构
古德霸说说rxjava怎样吧Java的服务器一般运行几个线程比较合适?
请教一个命名的问题Python就是爽
protobuf 能serialize Float.NaN 么?Goodbug你给个学java的roadmap吧
java里是不是要避免用clone()有人说clone() is broken.Pivotal Drops Groovy and Grails
python pickle 目的是什么vertx里面同一个module多个verticle的疑问
相关话题的讨论汇总
话题: module话题: ebean话题: orm话题: 数据库话题: 疑问
进入Programming版参与讨论
1 (共1页)
f*****w
发帖数: 2602
1
我读了下文档 还没有任何实战经验。 如果我要加入ebean 作为ORM的话 这样子搞可
以么 能不能请zhaoce大牛评论下
找了下没有现成的ebean的module,所以我就把ebean的包,以及我自己所有的entity
class 全都放在一个module下 (设置为worker)。然后在这个module初始化配置里面
允许修改数据库连接信息,这样就可以容易测试。然后每个transaction级别的数据库
操作 我全都设置一个handler
然后主要的逻辑放在另外一个非worker的module里面,然后在需要数据库操作的时候调
用ebean module。
可是这样做的唯一一个疑问是 这样我就会非常频繁地使用json在这两个module之间调
用。我的数据量如果不trivial的话 岂不是大量数据serialize/deserialize的
overhead会相当之大?
p*****2
发帖数: 21240
2
Vert.x就算了吧 一堆坑



【在 f*****w 的大作中提到】
: 我读了下文档 还没有任何实战经验。 如果我要加入ebean 作为ORM的话 这样子搞可
: 以么 能不能请zhaoce大牛评论下
: 找了下没有现成的ebean的module,所以我就把ebean的包,以及我自己所有的entity
: class 全都放在一个module下 (设置为worker)。然后在这个module初始化配置里面
: 允许修改数据库连接信息,这样就可以容易测试。然后每个transaction级别的数据库
: 操作 我全都设置一个handler
: 然后主要的逻辑放在另外一个非worker的module里面,然后在需要数据库操作的时候调
: 用ebean module。
: 可是这样做的唯一一个疑问是 这样我就会非常频繁地使用json在这两个module之间调
: 用。我的数据量如果不trivial的话 岂不是大量数据serialize/deserialize的

f*****w
发帖数: 2602
3
能举个例子吗

【在 p*****2 的大作中提到】
: Vert.x就算了吧 一堆坑
:
: 面

p*****2
发帖数: 21240
4
我在公司负责arch review 很多人都考虑过但是放弃了 说是不好用

【在 f*****w 的大作中提到】
: 能举个例子吗
f*****w
发帖数: 2602
5
最推荐的能取代的java库是什么 能推荐一个吗

【在 p*****2 的大作中提到】
: 我在公司负责arch review 很多人都考虑过但是放弃了 说是不好用
p*****2
发帖数: 21240
6

Java库多,但是确实好用的少,只能凑活

【在 f*****w 的大作中提到】
: 最推荐的能取代的java库是什么 能推荐一个吗
z****e
发帖数: 54598
7
你做得很好啊
就应该这样做
至于大量的serialize/deserialize
这个你没有办法
因为现阶段,异步和同步本质是冲突的
同步会导致block,which异步是不能接受的
现阶段木有很好的办法予以解决
除非你弃用orm也就是db那些
或者尝试着用rxjava那个rxjava-jdbc
这样的话,你就可以不用worker了
另外就是,那个bus是你内部bus,远比网络要快得多
也就是比你监听port的那个mod的io要快速高效得多
所以除了内存用得多点以外,理论上不会有啥太大问题
内存现在便宜得跟啥一样,我觉得你不用在乎
用cloud的话,这些都很cheap了
另外,vert.x的运行效率秒杀node.js
你可以随手google vert.x vs node.js
tim fox那篇文章目前为止还是无人反驳得了的



【在 f*****w 的大作中提到】
: 我读了下文档 还没有任何实战经验。 如果我要加入ebean 作为ORM的话 这样子搞可
: 以么 能不能请zhaoce大牛评论下
: 找了下没有现成的ebean的module,所以我就把ebean的包,以及我自己所有的entity
: class 全都放在一个module下 (设置为worker)。然后在这个module初始化配置里面
: 允许修改数据库连接信息,这样就可以容易测试。然后每个transaction级别的数据库
: 操作 我全都设置一个handler
: 然后主要的逻辑放在另外一个非worker的module里面,然后在需要数据库操作的时候调
: 用ebean module。
: 可是这样做的唯一一个疑问是 这样我就会非常频繁地使用json在这两个module之间调
: 用。我的数据量如果不trivial的话 岂不是大量数据serialize/deserialize的

z****e
发帖数: 54598
8
就vert.x就好了
自己动手,丰衣足食
如果你想看看更好的
听说undertow更好
效率更高
但是servlet,你可能不是很喜欢
但是足够傻瓜,比play更简单
各种web servers的对比
https://www.techempower.com/benchmarks/#section=data-r9
r9 vert.x的tim对于测试者用的版本提出异议
认为版本太久,因为vert.x做了大量的改良
所以r9的话vert.x退出评测
你可以看到undertow排行总是靠前
vert.x在以前测试中也比较靠前
总体servlet也很靠前,undertow是下一代servlet

【在 f*****w 的大作中提到】
: 最推荐的能取代的java库是什么 能推荐一个吗
z****e
发帖数: 54598
9
对于vert.x除了内存使用比较高以外
没有啥其他看法,理论上你把所有代码写成一堆
是效率最高的,但是这样不利于代码的维护和分工
分开比较好,模块化代码更加清晰,也便于他人接盘
z****e
发帖数: 54598
10
另外你的这个module可以优化跟数据库连接的效率
有很多第三方的连接池什么的
你可以直接下下来用,这样你的module每次跟数据库的操作就可以加速了
否则每次操作都建立连接的话,会比较慢



【在 f*****w 的大作中提到】
: 我读了下文档 还没有任何实战经验。 如果我要加入ebean 作为ORM的话 这样子搞可
: 以么 能不能请zhaoce大牛评论下
: 找了下没有现成的ebean的module,所以我就把ebean的包,以及我自己所有的entity
: class 全都放在一个module下 (设置为worker)。然后在这个module初始化配置里面
: 允许修改数据库连接信息,这样就可以容易测试。然后每个transaction级别的数据库
: 操作 我全都设置一个handler
: 然后主要的逻辑放在另外一个非worker的module里面,然后在需要数据库操作的时候调
: 用ebean module。
: 可是这样做的唯一一个疑问是 这样我就会非常频繁地使用json在这两个module之间调
: 用。我的数据量如果不trivial的话 岂不是大量数据serialize/deserialize的

相关主题
protobuf 能serialize Float.NaN 么?请教个技术问题,hibernate里的Set数据类型该怎么存到MYSQL里
java里是不是要避免用clone()有人说clone() is broken.damn, love vert.x
python pickle 目的是什么设计一个大计算量的并行架构
进入Programming版参与讨论
z****e
发帖数: 54598
11
serialize/deserialize是纯粹内存操作
速度绝对秒杀bus,如果你需要用到intranet的话
然后intranet速度秒杀internet,也就是外网
所以除非你很在乎内存,否则我觉得你没有必要关心这个
内存不够就加吧,cloud上扩展点内存才几个钱,cheap



【在 f*****w 的大作中提到】
: 我读了下文档 还没有任何实战经验。 如果我要加入ebean 作为ORM的话 这样子搞可
: 以么 能不能请zhaoce大牛评论下
: 找了下没有现成的ebean的module,所以我就把ebean的包,以及我自己所有的entity
: class 全都放在一个module下 (设置为worker)。然后在这个module初始化配置里面
: 允许修改数据库连接信息,这样就可以容易测试。然后每个transaction级别的数据库
: 操作 我全都设置一个handler
: 然后主要的逻辑放在另外一个非worker的module里面,然后在需要数据库操作的时候调
: 用ebean module。
: 可是这样做的唯一一个疑问是 这样我就会非常频繁地使用json在这两个module之间调
: 用。我的数据量如果不trivial的话 岂不是大量数据serialize/deserialize的

d****n
发帖数: 1637
12
vert.x 是不是样样通,样样那啥~
z****e
发帖数: 54598
13
目前为止我找到的最兼容的框架
兼容性最强的框架,其他都不如这个
除非你自己做

【在 d****n 的大作中提到】
: vert.x 是不是样样通,样样那啥~
d****n
发帖数: 1637
14
俺没没那个本事。
但是meta programming 不是我的理念。(也不喜欢重新造轮子)
还是谢谢介绍

【在 z****e 的大作中提到】
: 目前为止我找到的最兼容的框架
: 兼容性最强的框架,其他都不如这个
: 除非你自己做

f*****w
发帖数: 2602
15
请问你有更加好的建议吗?

【在 d****n 的大作中提到】
: vert.x 是不是样样通,样样那啥~
f*****w
发帖数: 2602
16
非常感谢不厌其烦马了这麽多字啊! ;-)

【在 z****e 的大作中提到】
: 你做得很好啊
: 就应该这样做
: 至于大量的serialize/deserialize
: 这个你没有办法
: 因为现阶段,异步和同步本质是冲突的
: 同步会导致block,which异步是不能接受的
: 现阶段木有很好的办法予以解决
: 除非你弃用orm也就是db那些
: 或者尝试着用rxjava那个rxjava-jdbc
: 这样的话,你就可以不用worker了

1 (共1页)
进入Programming版参与讨论
相关主题
vertx里面同一个module多个verticle的疑问请教一个命名的问题
Cassandra 为啥干不过芒果?protobuf 能serialize Float.NaN 么?
各路大神推荐个linux上的组合吧java里是不是要避免用clone()有人说clone() is broken.
django还是flask?python pickle 目的是什么
Boost.Serialization no longer maintained?请教个技术问题,hibernate里的Set数据类型该怎么存到MYSQL里
serialization 到底该怎么理解啊?damn, love vert.x
Vert.x3 says "hello" to NPM users设计一个大计算量的并行架构
古德霸说说rxjava怎样吧Java的服务器一般运行几个线程比较合适?
相关话题的讨论汇总
话题: module话题: ebean话题: orm话题: 数据库话题: 疑问