Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
tency
@tency
VIP
NO. 1802 / 2012-04-14

南京
0 Topics / 40 Replies
2 Followers
0 Following
0 Favorites
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • [北京&上海&广州&深圳&武汉] DJI 大疆创新招聘 Ruby 工程师 / Team Leader (saberma 内推 15-40k) at May 27, 2017

    考虑在南京设点么?

  • GIF 图片转视频 at December 30, 2015

    蛮好的

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at September 12, 2015

    #81 楼 @wpzero 是这样没错,你的理解完全正确。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at September 10, 2015

    #73 楼 @haoqu 你可以看我之前的回复,至于为啥不在 ruby 上继续做文章,我是觉得一步到位比剥离再测试再优化要强很多。虽然 go 不是银弹,但在我们这个应用环境中就是银弹。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at September 10, 2015

    #76 楼 @sai 谢谢夸奖 😄

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at September 10, 2015

    #72 楼 @imwildcat 用了 jinzhu 大哥的gorm

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 11, 2015

    #67 楼 @lujiajing1126 这个没法处理,项目中别用这种用法就好了。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 09, 2015

    #57 楼 @serco Go 系统最大的好处是轻量、快速,之前我也说过,单个 task 的处理速度提升是巨大的,现在单机 150 左右的并发量和 sidekiq 的单机并发基本一致,但在内存、处理速度上的巨大优势让 Go 系统得以处理之前几台机器的工作。可以这么说,Go 系统能让我在并发处理中不丢失 CPU 执行效率,达到单机最大化的硬件利用率。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 09, 2015

    #56 楼 @lujiajing1126

    1. 业务代码没有做任何简化,Go 代码量高于 Ruby 的。新系统做的只是技术重构,不是业务重构。
    2. sidekiq 是使用 json 序列化的,Go 能直接解析,我们采用的 go-workers 库,完全兼容 sidekiq。
  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 09, 2015

    #54 楼 @serco 先介绍下我们实际项目的情况,暴走漫画采用的是 RoR 框架,sidekiq 也是集成在项目内,也就是说 web 和 sidekiq 共用一套代码。我们的 sidekiq 系统无法满足我们的处理需求的原因,我分析下面几个原因:

    1. Ruby 本身的处理速度有劣势,sidekiq 的多线程模式会有全局锁的问题,并发性能有先天劣势。
    2. 采用全局的 redis 对象,而 Redis 库采用的是 mon_synchronize 来解决线程安全问题,造成每次操作都会阻塞其他线程。
    3. 全集成的系统,让 sidekiq 载入了大量不需要使用的第三方库,拖慢性能,额外占用内存。

    可能还有别的原因造成整个系统有处理瓶颈,你说的网络 io、timeout 的问题,都会导致单个 sidekiq 线程暂停,不过这个问题在 go 系统中也存在,所以在比较两个系统差异上,这个不是核心。

    简单来说,两方对比,语言执行效率、内存占用、并发模型、业务核心库的线程安全处理上,让新的 go 系统的处理效率远远高于 sidekiq。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 06, 2015

    回答一下为啥不考虑 jruby 的问题

    1. 因为不想引入 jvm,不想去测试第三方库在 jruby 下的兼容性。
    2. 我编译一个 go 项目,执行程序只有 10m,一个执行文件搞定,干净、简洁。
    3. 想弄个大新闻
  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 06, 2015

    #45 楼 @serco 整个 worker 系统,现在 95%的 task,都由 go worker 在 1 台机器上运行,并且负载很轻,在 30% 以下。

  • [12 台减至 3 台] 用 Golang 重写 Sidekiq 的 worker at August 06, 2015

    #43 楼 @quakewang 我们实际的情况是,高峰时期远远不止每秒处理 800 个,用户一个操作会触发 2~3 个任务,并且这些任务还需要尽快产生结果,所以我们原有的 12 台机器,是为了应对峰值,而非平均的处理一天的量来搭建的。 另外一个情况就是,sidekiq 的实际处理速度,单机是有瓶颈的,纯粹的数据库+redis 操作,一般也要 50ms 左右,并且还存在大量消耗数据库连接的问题。 最后就是,ruby 的执行速度,确实不是很快。

    所以干脆换语言重新实现。上面说的数据库+redis 操作的 task,在新系统下只有 10ms 左右,提升非常明显。

  • [上海,南京] 暴走漫画诚聘各方英才 at July 31, 2014

    手工置顶

  • ElasticSearch 初次使用小结,一起学习进步哈~ at November 19, 2013

    tire 的语法基本是和 es 的 json 格式一一映射的,学用 es 最先应该熟悉 es 的 json api,然后再用第三方库就不会那么痛苦了。

    顺便推一个自用的 rtf:https://github.com/LYY/elasticsearch-rtf 添加了 ansj 分词,已经在暴走漫画上线。

  • [南京] 暴走漫画招聘 rails 程序员 (内有无节操图,慎入) at July 11, 2013

    有美腿,你还在等什么?

  • [南京][2013年06月29日] 第一次 Ruby 聚会召集 at June 20, 2013

    果断的~顶~~

  • 打算发起南京的活动,看看会有多少响应的? at May 14, 2013

    关注

  • mysql 海量数据存储求教 at November 05, 2012

    这数量级的数据,如果你们业务实时性要求不高,简单用 mysql 问题也不大,如果对实时性要求较高,建议上缓存(各种意义上的),以及分布式。

  • Sinatra 前景如何 at June 13, 2012

    sinatra 的文档比较薄弱,对于有一定经验、时间也比较充裕的开发者,基于 sinatra 的 padrino 也是一个好选择。

  • [上海] 创业团队诚聘 RoR 实习生,200/ 天 (可转正) at June 12, 2012

    #50 楼 @lgn21st 是这样啊,我不太清楚上海的 ruby 熟手行情已经到了这种情况了。我上面说了,即便不好招聘,有需求也最好在帖子里体现出来。当然,像你说的这种需求已经远远大于供给了,那忽略关系也不大。

  • [上海] 创业团队诚聘 RoR 实习生,200/ 天 (可转正) at June 11, 2012

    #35 楼 @lgn21st 我看了回复当然是知道的,但奇怪的是,因为难招所以就连写都懒得写了?

    另,你的态度也很奇怪。论坛水贴知多少,回复一划就过去。#17 的回答够隐晦的,我提出这个问题,和 #14 的意思差不多,如果@linlis 有招熟手的意向,最好能在主贴中体现。

  • [上海] 创业团队诚聘 RoR 实习生,200/ 天 (可转正) at June 05, 2012

    多嘴问一句,转正后薪资不错,但为什么只招实习呢?

  • 头部代码实践,helpers 的使用。 at June 01, 2012

    思路肯定是相通的,用 padriono 就自带一个实现

  • 今天遇到了一位蛮值得敬佩的应聘者 at May 27, 2012

    我现在特想知道,国内做 coding,有能做到 40 的吗?尤其是 web 这块

  • method_missing,一个 Ruby 程序员的梦中情人 at May 27, 2012

    #11 楼 @zw963

    在上面的场景里——构建 find_by_xxx 方法——还是用 send 更好。 对于要动态构建方法名的场景,用 class_eval 的话,写的代码就是一堆 string 了,可读性不佳。

  • 头部代码实践,helpers 的使用。 at May 27, 2012

    这个思路不错,在代码里通过定义引入 js 等文件,比在 view 里通过 partial 等方式灵活很多。

  • 12306 竟然是 rails 做的。。。 at May 15, 2012

    可以入选社区年度冷笑话精选集了

  • 本社区有从 PHP 转过来的吗? at May 10, 2012

    上面说到表设计,这个和 sql 语言本身关系不大,orm 就能帮你做到表关系提炼,至于性能优化,多看书,多实践,勤思考即可。

    我觉得既然已经在用 rails 了,没有必要去专门学 php,作为一个脚本语言,php 和 ruby 相比,顶多给你一些语言设计方面的感悟。

    说到做小东西,lz 可以试试 sinatra,国外有些免费空间支持这种极简框架的。

  • 支持 Rails 的空间 24 核心服务器,优惠大促销 40 元一年 at May 10, 2012

    可以支持 sinatra 或 padrino 这类应用吗?

  • 1
  • 2
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English