0

我想用春天做一个网络服务。一些简单的东西让它变得更复杂。目前我与 Symphony2 和 Mongodb 有相同的逻辑,这个想法是通过一个 Web 服务每秒有很多请求。

关键是将php中的实际代码迁移到Java,我想用spring来做。在我了解我可以安装的 REST 服务之前:

  • 球衣
  • 直接用spring MVC
  • 杰克逊

哪一个是最好的,更实际的,快速的,简单的....?在其他站点中,我试图将我的实际数据库(Mongo)与 Hibernate 一起使用,但我遇到了几个问题。那么,我的问题是,我应该选择其他数据库吗?我应该删除休眠吗?休眠如何惩罚延迟我的意思是,如果我使用或不使用休眠,我将失去多少时间。例如,如果您是否使用 Doctrine(PHP 中的 hibernate=Doctrine “或多或少”),那么从您将请求发送到 Web 服务并从中获得答案的时间会有所不同。

我终于用hibernate什么db了:

  • mysql
  • PostgreSQL
  • 甲骨文

这个想法是做一个与股票市场相关的项目,因此在数据库中同时对货币和新的插入、更新和选择进行了很多更改。当更接近“实时”时更好。

谢谢你的帮助!我很抱歉我更想改成 java 的 php 男孩的问题 :)

4

1 回答 1

1

不是一个真正的问题,但如果是我并且 Spring 是一个设定的要求:

我首先通过Spring BootSpring Roo设置一个 Spring 应用程序,添加一些通过Jackson JSON 处理器获取和发送 JSON 的控制器(这与 Spring 很好地集成),并使用Spring Data将我的数据推送到Redis中,一个 in-内存存储(Spring Data Redis)。您将不得不关心持久性,但可能能够不时地异步执行此操作(例如使用Spring Data MongoDB)。如果这些控制器映射不能满足您的用例并且您真的想使用 REST,那么还有一个Spring Data REST子项目将您的数据公开为“RESTful 端点”。这应该与存储/持久层很好地集成(我自己从未使用过)。

真的不知道休眠惩罚,我认为这是你应该自己衡量的东西。但是,保持设置尽可能简单总是一个好主意,因此请尝试在不使用 Hibernate 的情况下开始。当然,如果您想/需要/应该使用 ORM,这在很大程度上取决于您的数据。说到简单:没有什么是简单的,你已经有很多库和依赖项。这些天似乎有一个 Spring 项目,但我对所有这些 Spring Data 项目的成熟度一无所知。

一般来说(和理论上):如果您使用正确的抽象,您应该能够稍后迁移到不同的持久性提供程序,如果您需要,因为测量的性能瓶颈。

于 2013-10-01T14:37:57.673 回答