恰好自己拿 esp 8266 实现了个 mqtt
楼主可以发一个 跟 ruby 相关的 实现 mqtt client 的内容,纯介绍的话 容易被当做广告贴处理
ps 是使用的 swarm 的
类似这样的配置么
deploy:
replicas: 3
update_config:
parallelism: 1
delay: 5s
另外还有个地方还想请教下
就是 docker 下 静态文件夹 public 的管理。
因为配置等原因,我们还是期望 nginx 不在容器中运行 puma 提供的服务,本身我们可以依赖 upstream, 但是静态文件这块就有点尴尬,
之前我们的做法是 有个 container 专门接受从外层主机挂载的目录 /tmp/public, 之后这个镜像 run 的指令就是 cp -r public /tmp/public
这样外层的机器就获得了镜像里的 public 文件夹,但是我觉得这种方式属于取巧的邪道
能否参考下您的解决方案 或者 有人能好心分享下么?
哈哈 我正准备问 嘛时候可以把 backbone 换一下口味
anycable 已经更新到了 1.0 版本 看着性能还是不错的 10000 个 client 95% 也就 1 秒
clients: 1000 95per-rtt: 196ms min-rtt: 2ms median-rtt: 33ms max-rtt: 252ms
clients: 2000 95per-rtt: 296ms min-rtt: 2ms median-rtt: 48ms max-rtt: 596ms
clients: 3000 95per-rtt: 462ms min-rtt: 2ms median-rtt: 101ms max-rtt: 694ms
clients: 4000 95per-rtt: 670ms min-rtt: 3ms median-rtt: 72ms max-rtt: 1382ms
clients: 5000 95per-rtt: 712ms min-rtt: 3ms median-rtt: 101ms max-rtt: 1526ms
clients: 6000 95per-rtt: 739ms min-rtt: 3ms median-rtt: 99ms max-rtt: 2901ms
clients: 7000 95per-rtt: 745ms min-rtt: 2ms median-rtt: 231ms max-rtt: 2800ms
clients: 8000 95per-rtt: 950ms min-rtt: 2ms median-rtt: 173ms max-rtt: 3109ms
clients: 9000 95per-rtt: 1133ms min-rtt: 3ms median-rtt: 185ms max-rtt: 4084ms
clients: 10000 95per-rtt: 1033ms min-rtt: 3ms median-rtt: 248ms max-rtt: 2671ms
https://github.com/anycable/anycable/blob/master/benchmarks/2020-06-30.md
目前使用 docker-compose 的时候出现一个问题
在升级 image 完毕后, 重新运行 docker-compose 的时候 这个时候新的 docker image 有启动时间 这段时间会 502
大概几秒,docker 里的 puma 启动完毕后就没这个现象了
感觉自己用邮件还没有用到那么强....
最近大家开始折腾 ActionCable 了呀
是重启 docker 后恢复原始吧
docker 的特性
如果不想 建议将 homeland 的页面挂载出来
弹幕类的应该 go 会好一些
视频主要还是靠 cdn 抗
这个有点屌
必须资瓷
我只是好奇
类似 ruby-china 的项目
用前端渲染和后端渲染,大家能感受到运行时间差异么?
我自己用 react 的理由主要有两点
直接操作 dom 变来变去,还要考虑状态很麻烦,react 的 data 直接确定 ui 在处理复杂应用时不用考虑过多细节与状态。
react 有丰富的 UI 组件可以用
至于页面渲染时间,10-50ms 我自己是感觉不到区别
这个 stimulusreflex 就是仿照这 liveview 来的
官方的解释就是 scale 问题就靠 anycable go 来撑了
因为扩展性做的改变不是很大
算能接受吧
另外一个网站同时在线 1w 配 4 台机器也算能解决一部分问题吧
刚好也在看另外一个项目 chatwoot, 也是基于 websocket
包括我在内,大家都认为 "Rails 原生的 websocket 比较弱 "
但是确实我也不太了解这块应该怎样去做 benchmark , 也不太知道这个极限值 大概是多少
不知道是否有什么有效的方式,能够知道 这个 rails 的 websocket 的极限是多少呢?
stimulusrelex 基于 stimulus 和 websocket
stimulus 本身跟 react 之类的并无冲突,直接可以用
我用 react 其实就是懒得搞 ui
着急的时候可以试试
https://mirrors.tuna.tsinghua.edu.cn/help/rubygems/
这个的原理 跟 gems.ruby-china.com 不一样,
清华大学的这个好像是主动拉取
直接看代码这种方式 简直就是暴力美学
之前我在 1024 看了个帖子 某监控屏幕上 居然出现了 443 端口 wss 方式都被监控出来了
我还在想这玩意是怎么检测出来的
只不过后面我一看备注是 移动端
我在想估计是华为手机系统级别出来的,
而不是通过协议拆出来的吧,要不 ssl 就不可靠了还怎么玩
确实正如您说的,这套东西又烧钱又耗人力
主要是之前对技术难度预估不足,盲目自信,最后特别后悔
后来我自己的想法是,微服务这种搞法,估计运维 > 5 才能平衡吧
这里也可以麻烦大家统计下 大家上微服务,运维大概多少人,研发大概多少人
docker 化我倒是有一些使用 我们有一些后台任务挺烦挺长的,而且都是瞬时来,平时常备的两台 sidekiq 服务器不够,我是 将 sidekiq 进程做成了一个 docker 服务,同时检测 sidekiq 队列堆积情况 >1000 后 就在阿里开 docker 容器跑 效果还行
只要不用 vue router 管理就行,该咋用 rails 还是咋用 就是一个页面一个 vue 的组件
之前我吹捧过一阵子微服务,
拆了几十个小的服务,变成了一个伪微服务
之后
各种监控,各种部署,还有各种神烦的日志跟踪问题 数据库的一致性 还有该死的同步异步问题超时问题
可能是技术不够,让我深切的体会到了
啥叫搞服务发现,搞网关,搞流量控制,搞服务降级,搞异步部署
最后
我觉得我就是个弱智
开源中国的代码托管估计是
可能参考了 gitlab 比较多吧
我比较好奇 是 ruby 开发的么
哈哈 我还记得当年拿到的一个远程面试题 就是这个功能 ~
我猜你说的是 反向代理?
技术栈要求的太多了
另外市场转化到了 app 公众号 小程序 了
现在 graphql 已经是大势所趋了么?
哈哈 新开的项目就没注意
开源真是完美的解释了 啥叫 you can you up no can no BB.