我应该放弃Google App Engine吗?

时间:2023-01-17 21:08:00

I am developing some kind of financial market simulation on GAE. Although I have attained much progress, I have begun to consider dismissing GAE and going for a Django + rdbms solution for the last few days. Let me state my reasons:

我正在开发GAE的某种金融市场模拟。虽然我已经取得了很大的进步,但我已经开始考虑在最近几天解雇GAE并寻找Django + rdbms解决方案。让我说明我的理由:

  1. transactions: GAE supports transactions with single entity groups. if an application involves complex transactions, such as one in a financial market, you cannot use this mechanism (read: no transaction mechanism is available). A solution addressing this issue has been developed by some noble users, but not been released yet, and is said to be available in java only.

    交易:GAE支持单个实体组的交易。如果应用程序涉及复杂的交易,例如金融市场中的交易,则不能使用此机制(读取:没有可用的交易机制)。一些高级用户已经开发出解决这个问题的解决方案,但尚未发布,据说只能在java中使用。

  2. full-text search: ironic it is, but a very primitive API exists at present. Moreover, an improvement is not mentioned in the roadmap.

    全文检索:具有讽刺意味的是,但目前存在一种非常原始的API。此外,路线图中未提及改进。

  3. paging: developing a friendly paging mechanism is not for the faint-hearted (or for the deadline-pressed).

    分页:开发一个友好的分页机制不适合胆小的(或截止期限)。

  4. background process: Batches are important in financial applications, and for the time being I have to experiment with Cron. But I conceive that background processes are in the roadmap and will be available in a short time.

    后台流程:批次在财务应用程序中很重要,目前我必须尝试使用​​Cron。但我认为后台流程已在路线图中,并将在短时间内提供。

I chose GAE in order to shorten development time and cope with the scalability issues that may occur in the future easily. I really like GAE, it has some excellent features, but addressing these issues together will take too much effort, and likely cancel out any benefits of using GAE in the first place.

我选择GAE是为了缩短开发时间并轻松应对未来可能出现的可扩展性问题。我非常喜欢GAE,它有一些优秀的功能,但是一起解决这些问题需要花费太多精力,并且可能首先取消使用GAE的任何好处。

What would you do if you were me?

如果你是我,你会怎么做?

6 个解决方案

#1


5  

  1. transactions: You're correct, GAE can not handle complex queries, but nothing with a Big-Table approach would be able to handle complex calculations like a RDB.

    事务:你是对的,GAE无法处理复杂的查询,但没有Big-Table方法可以处理像RDB这样的复杂计算。

  2. full-text search: Having worked with the 'primitive' API for full-text search you are right to stay away, it is very lackluster and by no means scalable (cannot combine more than four terms to search, if I remember correctly).

    全文搜索:使用'原始'API进行全文搜索,你是对的,它是非常黯淡的,绝不可扩展(如果我没记错的话,不能组合超过四个术语来搜索)。

  3. background process: The CRON process available with the latest release isn't half bad, then again I think you're looking to do much more with background processes.

    后台进程:最新版本提供的C​​RON进程并不是一半糟糕,然后我再次认为您希望通过后台进程做更多事情。

#2


3  

if you need background transactions+cloud-like scalability Amazon Elastic Cloud Computing is the only possiblity that i know of. its a bit harder to maintain, since you basically get your whole operating system, but this gives you also the flexibility to run anything you want..

如果你需要后台交易+类似云的可扩展性亚马逊弹性云计算是我所知道的唯一可能性。它有点难以维护,因为你基本上可以获得整个操作系统,但是这也可以让你灵活地运行你想要的任何东西。

#3


2  

After chewing over the subject, I have decided to go for a django + rdbms solution. It seems that GAE needs time to reach maturity.

在咀嚼主题后,我决定选择django + rdbms解决方案。似乎GAE需要时间才能达到成熟。

#4


1  

As you learned, often one does not discover all the issues and pitfalls of a development environment like GAE untill after one has used it for a while. This is most likely true of any environment.

正如您所了解的那样,通常人们不会发现像GAE这样的开发环境的所有问题和陷阱,直到人们使用它一段时间之后。这种情况很可能适用于任何环境。

Before committing to an alternate environment ( Django + rdbms), how familiar are you with that platform? If you are new to it, you may just find that you run into other issues.

在提交到备用环境(Django + rdbms)之前,您对该平台的熟悉程度如何?如果您不熟悉它,您可能会发现您遇到其他问题。

If on the other hand you are throughly familiar with Django + rdbms then it is another story. Of course one wonders if you are familiar with them, why did you pick GAE in the first place? You must have felt that it offered some benefits that you will be giving up by dropping GAE.

另一方面,如果您对Django + rdbms非常熟悉,那么这是另一个故事。当然有人想知道你是否熟悉它们,为什么你首先选择GAE?你一定觉得它提供了一些你将放弃GAE放弃的好处。

Perhaps you need to make a list of the pluses and minuses for each platform and then try to balance the lists to make a decision. Ultimately there are no magic bullets, and you will undoubtably have some issues no matter wich way you go.

也许您需要列出每个平台的优缺点,然后尝试平衡列表以做出决定。最终没有魔法子弹,无论你走多远,你无疑会遇到一些问题。

#5


1  

As Andreas say take a look at Amazon Web Services, it is a serious production environment and will give you many things you may not have yet thought about including a Content Delivery network (saves your bandwidth), Simple db and the interesting (but I've yet to think of a use I can put it to) Machanical Turk service, Oh year and EC2 virtual servers - run whatever you like on these.

正如安德烈亚斯所说,看看亚马逊网络服务,它是一个严肃的生产环境,并会给你许多你可能还没有考虑的东西,包括内容交付网络(节省你的带宽),简单的数据库和有趣的(但我'还没有想到我可以把它用于)Machanical Turk服务,哦年和EC2虚拟服务器 - 在这些上运行你喜欢的任何东西。

#6


0  

How much work would it be to move it? Interesting to hear about your experiences with GAE.

搬家需要多少工作?有兴趣了解您对GAE的体验。

I always think its better to have more control, and if you are hitting against brick walls you should move. That's my opinion, hope it helps!

我总是认为拥有更多控制力更好,如果你打击砖墙,你应该移动。这是我的意见,希望它有所帮助!

#1


5  

  1. transactions: You're correct, GAE can not handle complex queries, but nothing with a Big-Table approach would be able to handle complex calculations like a RDB.

    事务:你是对的,GAE无法处理复杂的查询,但没有Big-Table方法可以处理像RDB这样的复杂计算。

  2. full-text search: Having worked with the 'primitive' API for full-text search you are right to stay away, it is very lackluster and by no means scalable (cannot combine more than four terms to search, if I remember correctly).

    全文搜索:使用'原始'API进行全文搜索,你是对的,它是非常黯淡的,绝不可扩展(如果我没记错的话,不能组合超过四个术语来搜索)。

  3. background process: The CRON process available with the latest release isn't half bad, then again I think you're looking to do much more with background processes.

    后台进程:最新版本提供的C​​RON进程并不是一半糟糕,然后我再次认为您希望通过后台进程做更多事情。

#2


3  

if you need background transactions+cloud-like scalability Amazon Elastic Cloud Computing is the only possiblity that i know of. its a bit harder to maintain, since you basically get your whole operating system, but this gives you also the flexibility to run anything you want..

如果你需要后台交易+类似云的可扩展性亚马逊弹性云计算是我所知道的唯一可能性。它有点难以维护,因为你基本上可以获得整个操作系统,但是这也可以让你灵活地运行你想要的任何东西。

#3


2  

After chewing over the subject, I have decided to go for a django + rdbms solution. It seems that GAE needs time to reach maturity.

在咀嚼主题后,我决定选择django + rdbms解决方案。似乎GAE需要时间才能达到成熟。

#4


1  

As you learned, often one does not discover all the issues and pitfalls of a development environment like GAE untill after one has used it for a while. This is most likely true of any environment.

正如您所了解的那样,通常人们不会发现像GAE这样的开发环境的所有问题和陷阱,直到人们使用它一段时间之后。这种情况很可能适用于任何环境。

Before committing to an alternate environment ( Django + rdbms), how familiar are you with that platform? If you are new to it, you may just find that you run into other issues.

在提交到备用环境(Django + rdbms)之前,您对该平台的熟悉程度如何?如果您不熟悉它,您可能会发现您遇到其他问题。

If on the other hand you are throughly familiar with Django + rdbms then it is another story. Of course one wonders if you are familiar with them, why did you pick GAE in the first place? You must have felt that it offered some benefits that you will be giving up by dropping GAE.

另一方面,如果您对Django + rdbms非常熟悉,那么这是另一个故事。当然有人想知道你是否熟悉它们,为什么你首先选择GAE?你一定觉得它提供了一些你将放弃GAE放弃的好处。

Perhaps you need to make a list of the pluses and minuses for each platform and then try to balance the lists to make a decision. Ultimately there are no magic bullets, and you will undoubtably have some issues no matter wich way you go.

也许您需要列出每个平台的优缺点,然后尝试平衡列表以做出决定。最终没有魔法子弹,无论你走多远,你无疑会遇到一些问题。

#5


1  

As Andreas say take a look at Amazon Web Services, it is a serious production environment and will give you many things you may not have yet thought about including a Content Delivery network (saves your bandwidth), Simple db and the interesting (but I've yet to think of a use I can put it to) Machanical Turk service, Oh year and EC2 virtual servers - run whatever you like on these.

正如安德烈亚斯所说,看看亚马逊网络服务,它是一个严肃的生产环境,并会给你许多你可能还没有考虑的东西,包括内容交付网络(节省你的带宽),简单的数据库和有趣的(但我'还没有想到我可以把它用于)Machanical Turk服务,哦年和EC2虚拟服务器 - 在这些上运行你喜欢的任何东西。

#6


0  

How much work would it be to move it? Interesting to hear about your experiences with GAE.

搬家需要多少工作?有兴趣了解您对GAE的体验。

I always think its better to have more control, and if you are hitting against brick walls you should move. That's my opinion, hope it helps!

我总是认为拥有更多控制力更好,如果你打击砖墙,你应该移动。这是我的意见,希望它有所帮助!