The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
ForkNMB

2024 年了基于 AWS 的 GO web 服务架构该怎么做

  •  1
     
  •   ForkNMB · Jul 4, 2024 · 2985 views
    This topic created in 863 days ago, the information mentioned may be changed or developed.

    小公司,有七八个微服务,两三个对外的 http 服务,其余都是内部处理 rpc 请求的服务。 没啥架构经验,想到几个方案 a.自己搞个 nginx 在 ec2 上,去做负载均衡和反向代理,那这样前面是不是得搞个防火墙什么的(这里不知道怎么搞 b.直接把 cloudfront 当 nginx 用 c.干脆直接用 cloudfront+ALB,静态资源经 cloudfront 就走 s3 了,接口访问就直接去 ALB,在那里做负载均衡和反向代理 ...还有其它靠谱的方案吗,大家平时在用的 还有一个,上面的都没考虑费用的问题

    10 replies  •  2024-07-04 13:13:42 +08:00
    coolcoffee
    coolcoffee
    Jul 4, 2024
    1
    优先考虑可靠性的情况下,应该选择 B 方案。自建 EC2 负载均衡稳定性不够也不容易观察流量数据,自身就是单点风险。
    KMpAn8Obw1QhPoEP
    KMpAn8Obw1QhPoEP
    Jul 4, 2024 via Android
    2
    我们是 EC2 前有 ALB EC2 里 Web Server 前面再来个 HAProxy
    k9982874
    k9982874
    Jul 4, 2024 via Android
    3
    aws 里有个叫 elb 的东西
    KMpAn8Obw1QhPoEP
    KMpAn8Obw1QhPoEP
    Jul 4, 2024
    4
    @k9982874 楼主提到的 ALB 就是 ELB 的一种
    ForkNMB
    ForkNMB
    OP
    Jul 4, 2024
    5
    @enchilada2020 感谢回答 还想问一下
    那这样每台 EC2 都需要装 HAProxy 服务,这个我没用过,可靠吗?
    EC2 前面都有 ALB 了,web server 前面的 HAProxy 用途是
    还有你们有没有静态资源放 s3 的情况,这种如何提供对外访问
    whileFalse
    whileFalse
    Jul 4, 2024
    6
    C ,这是 AWS 最佳实践。
    上面选 B 的哥们,你们 CF 的上游直接怼 EC2 上吗?基于域名/IP 分流,你其中一台机器要是挂了不直接影响到用户了吗。
    whileFalse
    whileFalse
    Jul 4, 2024
    7
    @enchilada2020 HA 是用于在一台机器上部署多个服务实例的吧?

    @ForkNMB 静态资源放 S3 之后直接挂到 CF 上就行。EC2 要不要带 HA/NGINX 取决于你们的部署模式。
    比如最简单的一台机器每个服务都部署一个实例的方式,直接 ALB SG 指定端口号就行了,不需要反代。
    Pbe2RsrnVcPrF
    Pbe2RsrnVcPrF
    Jul 4, 2024 via iPhone
    8
    c.
    aws 有各种 lb 了。还要 haproxy 干啥?
    另外量少可以试试 Lambda 。
    KMpAn8Obw1QhPoEP
    KMpAn8Obw1QhPoEP
    Jul 4, 2024 via Android
    9
    @ForkNMB 在实例级别终止 SSL URL 改写 访问日志 简化单实例多后端的情况等等 确实跟 ALB 有一部分功能是重合的 是否采用根据实际情况来就行 S3 外部访问应该没涉及到 不太清楚
    wingoo
    wingoo
    Jul 4, 2024
    10
    已经是 go 了, aws 上直接 EKS 就行了
    静态资源 cloudfront + s3
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2120 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 07:51 · PVG 15:51 · LAX 23:51 · JFK 02:51
    ♥ Do have faith in what you're doing.