V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
ForkNMB
V2EX  ›  Go 编程语言

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

  •  1
     
  •   ForkNMB · 140 天前 · 1557 次点击
    这是一个创建于 140 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    @ForkNMB 静态资源放 S3 之后直接挂到 CF 上就行。EC2 要不要带 HA/NGINX 取决于你们的部署模式。
    比如最简单的一台机器每个服务都部署一个实例的方式,直接 ALB SG 指定端口号就行了,不需要反代。
    dropdatabase
        8
    dropdatabase  
       140 天前 via iPhone
    c.
    aws 有各种 lb 了。还要 haproxy 干啥?
    另外量少可以试试 Lambda 。
    enchilada2020
        9
    enchilada2020  
       140 天前 via Android
    @ForkNMB 在实例级别终止 SSL URL 改写 访问日志 简化单实例多后端的情况等等 确实跟 ALB 有一部分功能是重合的 是否采用根据实际情况来就行 S3 外部访问应该没涉及到 不太清楚
    wingoo
        10
    wingoo  
       140 天前
    已经是 go 了, aws 上直接 EKS 就行了
    静态资源 cloudfront + s3
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.