-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SPA 发布辅助工具 #80
Comments
Envoy 不支持 static web serve,要么基于 Nginx 做,要么用个类似替代的。 大致产品实现思路应该是: 基于 Rust 的 web 框架 来实现静态资源 http server, 并基于开源的 rust metrics 来实现统计,制作成 docker 镜像。 在 k8s 里不走 ingress,而是单独 EIP 暴露到公网(支持 LTS)。否则需要走 ingress controller,涉及 k8s ingress 配置管理。 SPA(静态文件)会以 ${域名}/${version} 的目录形式存储在服务器端硬盘或S3,将文件读到内存中以提升读取效率(做LRU)相关配置要写入到文件中,方便重启管理。 版本控制,要想一个合适的方法提供版本变化通知。 提供
第一个版本最精简的服务控制台需要提供的 HTTP API 接口:
|
除了 memory fs 后续最重要考虑的话,就是这个项目真正的干什么,第一个:自己提供 static web 托管服务,需要解决监管问题。但这在国内没需求。 |
v1.2.2 版本发布了,这个项目算是有个终结。 后面应该开始面向用户思考,看如何解决一整套部署流程问题。 |
v1.2.4 spa-server, v0.1.1 spa-client 发布,文档(GitHub Pages)发布。 这个算是我真正意义上的第一个开源项目,虽然现在就3个 star、0个 issue😭,对自己而言也有了一个交代。 后续,会在花大量时间磨砺自己的想法后,再出发。现在还是要focus 在工作+写小说上。 期望下个开源项目能满 100 star! |
v1.2.5 发布,功能都已完善。 |
HTTP 缓存header 的讲解 https://my.oschina.net/vivotech/blog/5448571 |
|
最终打造的产品形态: GitHub Pages 单机 + 私有化部署。所以 API 应该参考 Github Pages API,可无痛迁移。 |
SPA 在当前体系下,常规的发布方法,是打包成 nginx docker 镜像再进行部署。这样就导致 nginx 的多重浪费,实际上一个 Nginx 足以支撑10+ SPA。如果再挂CDN,上千个都可以。
所以缺乏一个工具,他要达到:
第一条,
很容易实现,web框架+ File Change Notify即可。 热加载可以通过重定向目录来解决。添加版本一说第二条,基本上用 Go/Python 之类的写就可以,用上 rsync。
第三条,CDN端可以用API接口来兼容,至于客户端,没有一个轻量级方案,而且需要根据具体场景做二次开发,例如:大工具类型的,就需要给客户端弹窗;资讯浏览类的,还没这个需求。
The text was updated successfully, but these errors were encountered: