我的技术要求是什么?
What are my technical requirements?
我的目标是构建一个可以动态监控我的股票投资组合(实际上是股票期权)的应用程序。因此,我在 .NET 核心上使用 C# 以 TDD 方法构建我的业务逻辑。我没有过多考虑界面,因为以下内容是正确的:
1) 我的经纪商是 ETrade,所以我必须验证并使用他们的 api 作为我的头寸信息
2) 我需要这个申请 运行 从 9:30 AM - 4:00 PM EST 星期一 - 星期五
当我接近完成我的第一个 MVP 业务逻辑时,我现在开始考虑我将在哪里交付最终解决方案,因此我正在寻求社区的反馈。
我听说过,但在微服务(AWS、Azure 等)方面的工作并不多,所以我不确定这是否是我想要关注的方向。 (另外,我的时间表很紧,不想为了部署这个东西而学习太多——但我对任何解决方案都持开放态度)。除了微服务和云,我考虑了以下几点:
a) "I could run the program from a Console application"?
(answer) 我必须:
(a) 获取专用服务器或
(b) 尽量确保我可以把笔记本电脑 运行ning 留在家里什么的,废话,废话
(结论)两者都是合理的决定。
b) "I could run the program as a Windows Service"
(answer) 我要么
(a)(同上)
(b)(同上)
(结论)两者都是合理的决定。
c) "I could run the program as a Web Site"
(answer) 我要么
(a)(同上)
(b)(同上)
(结论)两者都是合理的决定。
c) "I could investigate The Cloud (Microservices)"
(答案) ???
(结论)
所以,最后,基本上,考虑到这些时间之间的正常运行时间要求,我希望能够从任何互联网浏览器访问该应用程序。我的逻辑需要在交易时间几乎每分钟对各种端点执行 ping 操作。所以我不确定我将如何使用 Web 应用程序来处理这个问题,因为如果(偶然)浏览器关闭,Web 应用程序将停止 运行ning,从而满足我的需求!云在这里有帮助吗?也许我应该只使用 Windows 服务并使我的日志可以在网络上访问。或者我在 Windows 服务中部署 TraderBot 并构建一个 Web 应用程序以从 TraderBot Windows 服务/日志/和-或数据库接收实时信息?不确定,但我感谢你们所有下意识的反应!
我真的很喜欢连接技术来解决复杂的问题。虽然没有那么复杂。
解决方案 1:基于云,特别是在 AWS 上
使用 AWS Lambdas(Serverless compute) to hit the API to get prices or whatever info you are seeking and then store it in DynamoDb(A NoSQL DB). Use CloudWatch Rules(无服务器 CRON 作业)定期调用您的 lambda。
然后 SPA 单页应用程序查看存储在 DynamoDb 中的值。也可以是static website hosted on S3。
或者
移动应用程序还可以用于查看来自 DynamoDb 的数据。
解决方案 2:仅限移动设备
为什么不像 iOS 或 Android 这样纯粹为手机构建应用程序。检查 here 我已经编写了一个应用程序来跟踪不同交易所的不同替代币的价格。
使用仅限移动设备的应用程序,您的应用程序将定期获取价格(在 Android 的情况下使用警报 API)并将存储在其本地数据库中(在 Android 的情况下使用 SQLite)和然后您可以随时打开应用程序查看最新值。
可以想到更多解决方案,但我认为以上是解决此问题的好方法,而不是购买 VPS 或全天候 24 小时烧毁笔记本电脑#ThinkCloud
PS: 初步想法,请多问以增强解决方案...:)
我的目标是构建一个可以动态监控我的股票投资组合(实际上是股票期权)的应用程序。因此,我在 .NET 核心上使用 C# 以 TDD 方法构建我的业务逻辑。我没有过多考虑界面,因为以下内容是正确的:
1) 我的经纪商是 ETrade,所以我必须验证并使用他们的 api 作为我的头寸信息
2) 我需要这个申请 运行 从 9:30 AM - 4:00 PM EST 星期一 - 星期五
当我接近完成我的第一个 MVP 业务逻辑时,我现在开始考虑我将在哪里交付最终解决方案,因此我正在寻求社区的反馈。
我听说过,但在微服务(AWS、Azure 等)方面的工作并不多,所以我不确定这是否是我想要关注的方向。 (另外,我的时间表很紧,不想为了部署这个东西而学习太多——但我对任何解决方案都持开放态度)。除了微服务和云,我考虑了以下几点:
a) "I could run the program from a Console application"?
(answer) 我必须:
(a) 获取专用服务器或
(b) 尽量确保我可以把笔记本电脑 运行ning 留在家里什么的,废话,废话
(结论)两者都是合理的决定。
b) "I could run the program as a Windows Service"
(answer) 我要么
(a)(同上)
(b)(同上)
(结论)两者都是合理的决定。
c) "I could run the program as a Web Site"
(answer) 我要么
(a)(同上)
(b)(同上)
(结论)两者都是合理的决定。
c) "I could investigate The Cloud (Microservices)"
(答案) ??? (结论)
所以,最后,基本上,考虑到这些时间之间的正常运行时间要求,我希望能够从任何互联网浏览器访问该应用程序。我的逻辑需要在交易时间几乎每分钟对各种端点执行 ping 操作。所以我不确定我将如何使用 Web 应用程序来处理这个问题,因为如果(偶然)浏览器关闭,Web 应用程序将停止 运行ning,从而满足我的需求!云在这里有帮助吗?也许我应该只使用 Windows 服务并使我的日志可以在网络上访问。或者我在 Windows 服务中部署 TraderBot 并构建一个 Web 应用程序以从 TraderBot Windows 服务/日志/和-或数据库接收实时信息?不确定,但我感谢你们所有下意识的反应!
我真的很喜欢连接技术来解决复杂的问题。虽然没有那么复杂。
解决方案 1:基于云,特别是在 AWS 上
使用 AWS Lambdas(Serverless compute) to hit the API to get prices or whatever info you are seeking and then store it in DynamoDb(A NoSQL DB). Use CloudWatch Rules(无服务器 CRON 作业)定期调用您的 lambda。
然后 SPA 单页应用程序查看存储在 DynamoDb 中的值。也可以是static website hosted on S3。
或者
移动应用程序还可以用于查看来自 DynamoDb 的数据。解决方案 2:仅限移动设备
为什么不像 iOS 或 Android 这样纯粹为手机构建应用程序。检查 here 我已经编写了一个应用程序来跟踪不同交易所的不同替代币的价格。
使用仅限移动设备的应用程序,您的应用程序将定期获取价格(在 Android 的情况下使用警报 API)并将存储在其本地数据库中(在 Android 的情况下使用 SQLite)和然后您可以随时打开应用程序查看最新值。
可以想到更多解决方案,但我认为以上是解决此问题的好方法,而不是购买 VPS 或全天候 24 小时烧毁笔记本电脑#ThinkCloud
PS: 初步想法,请多问以增强解决方案...:)