Erlang(以及定义为Elixir)的一个特性是你可以进行热代码交换.但是,对于Docker来说,这似乎很奇怪,你需要停止你的实例并用新图像重新启动新实例.这基本上似乎是每个人都做的.
话虽如此,我也知道可以使用一个隐藏节点通过网络将更新分发给所有其他节点.当然,就像这样听起来像是在寻找麻烦,但......
我的问题如下:有没有人尝试并成功地为Erlang/Elixir设置基于Docker的基础设施,允许热代码交换?如果是这样,做什么,不该做什么和注意事项是什么?
我知道StackOverflow上有一些关于REST和Thrift for HBase的帖子,但我想稍微关注一下性能问题.
我一直在使用Node.js中的以下库连接到HBase实例:
找出为什么我不会从Thrift网关得到响应的麻烦之后,我终于让两个脚本都运行了,结果如下(每个输出相当于1000个操作完成):
??[mt@Marcs-MacBook-Pro]?[~/Sources/node-hbase]
???? node hbase.js
hbase-write: 99ms
hbase-write: 3412ms
hbase-write: 3854ms
hbase-write: 3924ms
hbase-write: 3808ms
hbase-write: 9035ms
hbase-read: 216ms
hbase-read: 4676ms
hbase-read: 3908ms
hbase-read: 3498ms
hbase-read: 4139ms
hbase-read: 3781ms
completed
??[mt@Marcs-MacBook-Pro]?[~/Sources/node-hbase]
???? node thrift.js
hbase-write: 4ms
hbase-write: 931ms
hbase-write: 1061ms
hbase-write: 988ms
hbase-write: 839ms
hbase-write: 807ms
hbase-read: 2ms
hbase-read: 435ms
hbase-read: 562ms
hbase-read: 414ms
hbase-read: 427ms
hbase-read: 423ms
completed
??[mt@Marcs-MacBook-Pro]?[~/Sources/node-hbase]
????
Run Code Online (Sandbox Code Playgroud)
使用的脚本可以在这里找到:https://github.com/stelcheck/node-hbase-vs-thrift
我的问题是,是否有人注意到HB和Thrift之间的差异(或者甚至只是一般的任何应用程序/语言)?