请教,做一份鸡腿做出来啦,怎样像肯德基这样生产出成千上万份鸡腿?

2019-04-16 07:53:42 +08:00
 kaixinbuy
我开发了一份 Golang 爬虫数据采集+机器学习 NLP 算法的程序,Beego 前端+RPC 多个服务组件。
现在可以本地小分布式的运行。现在想把这个应用做成一个多用户的在线 SaaS 平台。类似 scrapyhub 那种平台但是特点是带特定领域的 NLP 和数据处理。

我现在有点困惑怎样来做这个方案,因为 AJAX 爬虫( headless 浏览器)和机器学习组件都是比较耗 CPU 和网络的,这和的 SaaS Web CRM 有点不一样。

问题 1:我该选择哪种后台搭建方案?
方案一是 阿里云上租 N 台云服务器,所有用户共享后台组件和服务,在所有 API 和主要函数上加 user_id 来隔离。我现在就是这样实现的。这个的小问题是 chrome 服务抢占 CPU。
方案二是 阿里云上租 N 台云服务器,为每个用户在 docker 里起动后台进程。通过 docker 限制每个进程的资源。我现在没有用 docker,因为我的程序本身就是 golang 单文件就可以部署。
方案三是 阿里云上租 N 台云服务器,每个用户独占 1 到多台云服务器。来一个用户,就单独开机器。

问题 2:除了开云主机,Mysql,OSS 存储外,我还需要其他组件吗?
我是一个后端算法为主的开发,以前的主要经验在后端算法,机器学习,熟悉 Linux,数据库,redis,消息队列,前端 Beego 比较简单我也能解决。
但是除此以外的,对 Nginx,CDN,负载均衡,域名网络之类的都没有接触。
我不知道做成一个全国各地都能访问的 Web 应用还需要用其他哪些云服务。

阿里云只是作为举例。如果其他云更合适也可以。
欢迎各位帮我支招啊
3997 次点击
所在节点    Docker
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/555546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX