我是这方面的初学者,我正试图为以下用例找出最佳的体系结构和工作流(我在前面使用了React,后端使用了nodejs,但考虑到这是一个关于体系结构的问题,这可能无关紧要):
用例:
用户登陆到我的页面上,在那里,我已经有了一个来自RDS表的客户填充的表。用户可以选择删除某个客户(对应的行)或编辑该客户,所有在前端所做的更改都应记录在数据库中,以便下次用户访问该页面时,他/她将获得最新的数据库状态。我面临的问题是,我的任务是使用诸如ECR、ECS (我选择Fargate,作为无服务器解决方案)、RDS等服务来实现这个体系结构,但我不知道工作流应该是什么样的,如果有必要的话,lambdas将扮演什么样的角色(或者是?)同时考虑到我需要使用RDS,那么PostgreSQL/MySQL/Aurora哪个选项最适合这个用例?
我试过的是:
到目前为止,我所做的是修改了我的react应用程序(包含客户将去的前端表),将其推送到ECR,在ECS内部创建了一个包含ecsTaskExecution角色的默认任务定义的集群,一个保存来自ECR的映像的容器,以及一个负责运行任务的服务。我还在ECS集群前面添加了应用程序负载均衡器,这样就可以从浏览器(计划添加我的个人域)访问我的反应性应用程序。
问题:
我不知道当涉及到所有这些单独的服务时,我应该和谁“交谈”,我应该拥有多少个容器,lambdas是作为执行所需的删除和更新的函数,还是只作为触发器,将所有的处理留给ECS任务?基本上,我一直在努力想象工作流的全貌。有什么想法吗?
提前谢谢。:)
发布于 2020-06-16 08:35:37
经过几天的实验和阅读,这是我提出的体系结构:
ReactJS应用程序托管在S3上,NodeJS应用程序(速成服务器)包含在码头上,被推到ECR上,然后在ECS上(我选择了用于ECS集群的EC2 Linux + Networking集群,然后根据它选择EC2 for Task,它负责运行我的ECR容器),而对于数据库,我选择了RDS中的MySQL。
因此,基本上在S3 -> ECS -> RDS ( ReactJS -> NodeJS -> MySQL )之间进行通信。
https://stackoverflow.com/questions/62063971
复制相似问题