我打算为大数据和网站构建一个网络应用程序。实时巨大的流量。 DB的输入需要100%来自用户的安全故障。它应具有与本机界面相同的UI呈现速度。语言平台是Java EE。
答案 0 :(得分:2)
您应该将前端(客户端应用)与后端(服务器端Java应用)分离。服务器端应用程序应该尽可能地是一个JSON API(最好是RESTful)(100%,或理想情况下接近它)。前端应用程序应该使用一些专门用于构建SPA(单页应用程序,您想要的)的类似MVC的JavaScript框架。现在流行的有:Backbone.js,AngularJS,Ember.js,Knockout.js,Batman.js等。我一直在使用和喜欢AngularJS。然后,前端应用程序应通过AJAX调用与JSON API进行通信。
这些框架可能看起来很重,但请记住,现在的浏览器非常快,谷歌的V8(也包含在Node.js中)就是最好的例子。而且您正在构建大量用户界面逻辑,您需要一个复杂的解决方案来保持代码库的可维护性。
这是从传统的页面刷新方式到实现Web应用程序的几乎范式转变,并且它作为现在构建富Internet应用程序的标准方法获得了很大的吸引力。准备好面对客户端应用程序作为功能齐全的应用程序,因此使用某种构建解决方案,如Grunt,或使用更复杂和自以为是的工具,如brunch.io和yeoman.io。下一步甚至是写单元测试(例如,使用Jasmine)。
您可以在客户端应用程序上实现缓存,缓存来自AJAX调用的JSON响应,并且您可以使用Memcached甚至Redis数据库等工具在服务器端缓存一些数据,这些工具非常用于缓存经常访问的数据,包括会话管理。
你的上一个问题“哪个no-sql grid db好用?”相当复杂,需要进一步调查。如今有很多很棒的NoSQL解决方案。我想你可以开始学习NoSQL数据库的四个主要数据模型,以及它的一些实现,看看哪种更适合你的应用程序模型。有关这方面的更多信息,请查看我刚刚发布的文章:
http://flsilva.com/blog/introduction-to-nosql
答案 1 :(得分:0)
根据我的经验,我想到的第一个想法是使用一个胖客户端 - 可能利用Dojo。在应用程序开始时将尽可能多的演示数据作为元数据提供并存储在DOM中。 AJAX调用以执行任何服务器端功能。将大部分处理和元数据保留在客户端将有助于将响应时间降至最低,因为服务器调用较少