什么基于Java的技术用于构建无状态应用程序?

时间:2015-01-04 19:37:45

标签: java java-ee stateless stateless-session

我们的一个应用程序将更多地成为基于微服务的架构,其驱动程序包括云就绪,响应,跨渠道,拥抱API,重型客户端架构,无状态应用程序,动态可扩展应用程序等。

这里的无状态应用程序意味着什么?什么是网络 可用于构建无状态应用程序的技术?

1 个答案:

答案 0 :(得分:2)

'无状态'意味着服务器端应用程序不会在调用它时保留有关各个客户端的信息。许多应用程序将信息保存在HTTP会话中(维护会话状态或缓存可能再次需要的东西),无状态应用程序不会这样做。客户端可以调用服务器端并在本地保持状态。

无状态是好的,因为它意味着任何服务器都可以为任何请求提供服务,而不必诉诸于群集(其中HTTP会话必须在服务器上复制,这会随着服务器数量的增加而降低)或粘性会话(将请求发送到用户启动会话的同一服务器,因此服务器的负载可能很容易失衡。在没有状态的情况下,请求可以更均匀地分布在服务器上,如果一个发生故障,它就不会出现问题。

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

相关问题