architecture - 你建议什么语言和平台
问题描述
我将开发一个基于网络的产品,它有以下描述:
1-它可能会成长为一个大网站和成千上万的用户!
2-它将有一个API来为用户服务,这样用户就可以在他们自己的应用程序中调用这个API!
3-安全很重要!
4- 90% 的工作是在后端完成的,但一些设计和设置是在前端完成的!
5-有些部分是基于人工智能的服务!
6-后端在几十个云上执行,所以我们需要管理云!
7-速度很关键
8-它需要与其他一些API和软件通信
现在为了准备一个演示,我将 PHP 用于网站,将 C# 作为 API 用于服务器端,如 AI、数据库、云管理、应用程序管理。但是对于最终产品,我很困惑使用什么平台、语言等?
解决方案
云启用了许多语言,包括你提到的那些,我建议你从你的团队最强的地方开始。正如 Pierre 在他的回答中指出的那样,为云开发有一个学习曲线,并且使用一种新语言会减慢速度,并且您将速度列为关键。优先考虑架构:好的架构比工具的选择更重要。
从微服务架构 (MSA) 的角度处理项目。由于您预测增长,因此您不希望最终得到一个整体以及复杂的扩展性、可靠性、上市速度等。尝试将解决方案分割成独立的、可部署的模块。这也将使您有机会优化您的工具并随时学习。
为正确的工作使用正确的数据库,在一个项目中拥有多种数据层技术已成为一种常见的做法。
你提到
后端在几十个云上进行所以我们需要管理云
不确定此处的含义,但如果您要使用多云,请考虑使用容器和更多开放式编排引擎,如Kubernetes。最小化无服务器组件,因为这可能意味着为每个云服务供应商重新设计。
一切顺利。
推荐阅读
- java - 比较两个不同的文本文件并替换相似的词
- sql - 按部分字符串分组
- excel - 引用定义范围内的特定单元格时出现错误 1004
- ansible - 使用循环和检查创建用户的 Ansible 任务
- typescript - 从 TypeScript 中函数的返回值派生类型
- php - 在 Laravel 中优化块
- google-drive-api - Google Drive API:如何查找*未*与我共享的文件?
- docker - docker中codeigniter的Nginx服务器配置,多个应用程序
- python - 密码书写系统:标准输出不再起作用
- laravel - 在 Laravel 中连接两个属性后如何在数据库中搜索值