2015-01-04 54 views
-3

我们的一个应用程序将成为更多的是微服务基础的架构与驱动程序是云准备,反应灵敏,跨渠道,拥抱的API,重客户端架构,无状态应用程序,动态可扩展的应用等基于Java的技术用于构建无状态应用程序?

什么他们是否指无状态应用程序?什么是可用于构建无状态应用程序的Web 技术?

回答

2

'无状态'表示服务器端应用程序没有保存有关跨个别客户端调用的信息。许多应用程序在HTTP会话中保存信息(保持对话状态或缓存可能需要的事情),无状态应用程序不会这样做。客户端可以调用服务器端并保持本地状态。

无状态是好的,因为它意味着任何服务器都可以服务于任何请求,而不必诉诸集群(HTTP会话必须在服务器数量增加时跨越服务器进行复制)或粘滞会话与用户启动会话的服务器相同,因此服务器的负载很容易失衡)。在没有状态的情况下,请求可以更均匀地分布在服务器上,如果出现问题,则不会有问题。

服务器可以使用REST或SOAP通过Web服务调用来公开数据。无论您使用Spring还是纯Java EE,都有很多框架可以帮助您公开服务。客户端可以使用AngularJs调用这些服务并在浏览器中维护本地模型作为DOM的一部分。让服务以JSON的形式返回数据使得它们更方便客户端JavaScript使用。

+0

这个答案开始展现出一些方向让我去探索。如果你不介意,根据你的回答,我还有几个问题。如果客户要维持这个状态,这是否意味着只通过Cookies?或者像AngularJs这样的框架提供的技术不是cookie?另外,当用户会话存储在客户端时如何确保安全性? – yathirigan

+0

这是否也意味着应用程序服务器中将不会维护会话? – yathirigan

+1

@yathirigan:这可能取决于应用程序服务器。对于有些人来说,即使你不需要httpsession,也可以获得httpsession。 –

相关问题