This topic created in 3285 days ago, the information mentioned may be changed or developed.
部分配置信息放在网站上, 客户端长时间运行中,如果网站中信息有更新,
怎么通知客户端重新读取,我知道的方法只有,客户端定时去网站上读取版本号,
如果不同,则更新,
但是,想要实时性更高的话,重新读取时间就要设置的更短,如 30 秒.
感觉用户多的话,会比较占用网站资源呢,
如果只有 1M 带宽的服务器,30 秒去重新读取 1 次(用 PHP 读取数据库对比一下版本号),不知道大概可以稳定支持多少用户.
除了客户端每隔固定间隔去访问服务器,不知道还有没有其他方法.
9 replies • 2017-07-24 13:56:18 +08:00
 |
|
1
takeoffyoung Jul 23, 2017
一般来说,要么 push 要么 pull。 根据业务需要权衡是轮训还是长链接。 至于具体能支持多少 QPS,跟如何实现、业务复杂性都有关系,建议自行压测。
一般而言,除非实时性要求极高( IM )和特定必须推送的业务。端上都会采用 pull 的方式进行沟通,这种配置信息变动,其实可以封装一个加载配置的工具库,各个业务逻辑中调用这个工具库,就做到配置信息 lazy load,加上一定时间的缓存。这样对端上而言,配置的加载也是 lazy load。
|
 |
|
3
just1 Jul 23, 2017
比对版本号放在客户端进行 服务器上放静态 json 就行
|
 |
|
6
nfroot Jul 23, 2017
push 到第三方服务器去,或者任何可以公开展示的 URL。
以前有人作死放 github 上,结果导致全国的 IP 都冲向 github,后果你明白的。
|
 |
|
7
xiaket Jul 24, 2017
版本信息放 DNS, 解一个域名来判定是否要更新
|
 |
|
8
rffan Jul 24, 2017
要实时效果佳,你找个 MQ 啊,把版本更新放到 mq 上,你的客户端 subscribe 关于版本的 topic 就 OK 了。预计版本更新的 topic 一发布,你的客户端就能更新了
|
 |
|
9
8355 Jul 24, 2017
跟之前楼中说的一样 也是用静态 json 优势是 nginx 处理静态资源会快很多并且不会对你的服务器产生比较大的压力 普通配置就能支撑起很高的并发量 而且现在用对象储存 cdn 优势非常明显 扩容方便 劣势是需要一定工时才能开发一套系统去管理这些 json 文件的更替 比如备份 cdn 同步 流量管理等等
|