2

我在做编程决定时被卡住了,

我是 .Net 开发人员,我目前正在为我的客户端构建一个应用程序,该应用程序从第三方应用程序接收数据,然后它必须对值执行操作并将其发送到 webservice/servlet,然后将数据显示到网页,这里的问题是网页上发送给用户的数据(投票选项,计数等)必须最迟每 2 秒更新一次,

我在做一些决定时有很多困惑,

1) 数据提供者(第三方应用程序)推荐 Java 但不强制执行,虽然我擅长 .Net(C#),但你会建议用 C# 还是 Java 构建应用程序。在优化和速度方面,哪个更好?你们有什么推荐的?

2)从第三方收到数据后,我和我的同事有不同的想法,我希望一旦收到数据,我们应该将其写入数据库(因为它们每次只发送几个固定字段) ,然后让 webservice/servlet 检索数据然后对其进行计算,我的理由是,如果我们保存它,我们还将拥有跟踪和历史数据以及用户思维模式,而我的同事说保存它到 db 会大大延迟应用程序,我们应该直接从应用程序中轮询数据,他还认为 db 很快就会变得庞大且缓慢,我们尝试这样做但它会导致 8 秒延迟(出于某种原因 tomcat如果它是 web 应用程序,则仅在每 7 次尝试后检索数据,如果它是 java 控制台应用程序,则每秒保存一次。,) 我的想法是,如果我们保存到 db 并从那里检索,我们可以让控制台应用程序每秒写入应用程序,然后根据我们想要的每秒左右使用 web 服务检索数据。

在这个场景中,你们认为什么是好的方法,我们应该保存到数据库还是不保存到数据库?

3)说即使我们确实保存到数据库,您认为使用 berkeley 或 sqlserver 会有所作为吗?我更喜欢将 sqlserver 用于 .net 和 berkeley 用于 java

我知道这是一个很大的问题,而且会很无聊,但任何帮助/建议将不胜感激,请帮助我们更清楚地了解这些问题堆栈溢出。

谢谢你的时间!

问候。

4

3 回答 3

5
  1. 你知道 C#,然后使用它。如果没有其他技术限制,请使用您最了解的技术。

  2. 在您尝试过这两种情况之前,不要考虑性能。做一个概念验证,你的方式和你同事的方式,看看性能差异以及历史数据优势是否值得性能差异。

  3. 将 SQL Server 用于 C#。您可能需要考虑许可(无论如何您都更了解项目的上下文)。

于 2009-05-07T10:58:58.230 回答
3

如果您对 .NET 感到满意,为什么还要花时间在 Java 上?我对 Java 的担忧是无关紧要的,但无论如何你都会花时间学习 Java,可能会陷入与任何初学者在使用任何工具或技术时都会陷入的相同陷阱。

我说,如果您对 .NET 感到满意,请使用 .NET。最终结果不会有太大不同,但你会更快到达那里。

然后,进行计算并将数据库用作“缓存”的一种形式与保存跟踪记录不同。您可以从第三方应用程序返回结果,并将历史记录存储在数据库中。如果太慢,请排队。

于 2009-05-07T10:59:26.670 回答
1
  1. 使用您最熟悉的语言,只要它适合您的客户。

  2. 询问您的客户是否必须保留数据,如果不需要,则不保留它。如果您必须坚持它,您可以异步执行它而不影响在线处理。

  3. 我不知道区别,但答案取决于你想对持久数据做什么(你想保留多久,你需要备份,你愿意为解决方案付费)......所以如果你知道你想要实现什么,你可以选择正确的工具,也许它不会是一个数据库......

于 2009-05-07T11:40:31.877 回答