我正在运行 REST API 服务器,但我对基础架构不太确定。

我的基础设施是:gandi 域、aws dns、route53 api.domain cname 指向自签名的启用 ssl 的 elb(具有 1 个 elasticbeanstalk 实例)。Elasticbeanstalk 实例是基于 docker 的。这意味着 nginx 转发到 docker 实例。Docker 实例具有提供静态文件的 nginx,以及 golang 的反向代理(fastcgi 到端口 3000)。数据存储在 Amazon RDS 上并使用 go-sql-driver 访问。

看起来过于复杂,最好的简化方法是什么?


慕仙森
浏览 180回答 1
1回答

LEATH

标题问题的答案“我如何进行基准测试(尝试 ping、traceroute、pingdom)并提高速度?” 最好通过搜索“网站基准测试”或类似内容来回答。有许多网站基准测试工具。(看看Siege、ab、boom、boom in Go或vegeta。还有更多,但应该让你开始。)“看起来过于复杂,简化的最佳方法是什么?”的答案 是:你需要它做什么?对于简单的静态站点,您的设置过于复杂。对于分布式、故障冗余、高可用性站点来说,这还远远不够。您需要让您的基础设施满足您的需求。“route53 api.domain cname 指向自签名启用 ssl 的 elb(有 1 个 elasticbeanstalk 实例):”您需要负载均衡器吗?您是否要添加更多端点?应用程序是否支持这种方式的负载均衡?(将请求以原子方式处理,所有请求是否唯一等)“nginx 转发到 docker 实例:”你想在 Go 应用程序中管理 SSL 证书,还是在 NginX 配置中?您现在运行它的方式目前可能是最简单的,但同样,这取决于您的需求。“Docker 实例具有提供静态文件的 nginx,以及 golang 的反向代理(fastcgi 到端口 3000):”这听起来过于复杂(但是,这取决于您想要什么)。这可以替换为 nginx 只是在该路径上提供静态文件目录吗?你在这里需要fastCGI吗?“数据存储在 Amazon RDS 上并使用 go-sql-driver 访问:”这对 AWS 来说很好,再次,取决于您的要求(性能、合规性等)希望有帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go