Ice笔记–Ice的服务器实现技术[通俗易懂]

Ice笔记–Ice的服务器实现技术[通俗易懂]服务器实现技术 1.      渐进的初始化如果我们使用servant定位器,locate返回的servant只能用于当前请求,也就是说Iceruntime不会把这个servant增加到ActiveServantMap中。一种常用的实现技术是,在loca

大家好,又见面了,我是你们的朋友全栈君。

服务器实现技术

 

1.       渐进的初始化

如果我们使用servant定位器,locate返回的servant只能用于当前请求,也就是说Ice run time不会把这个servant增加到Active Servant Map中。

一种常用的实现技术是,在locate中,把每个servant增加到ASM中。这意味着,只有对Ice对象的初次请求会触发对locate的调用;自此之后,与Ice对象对应的servant就可以在ASM中找到,Ice run time不必再调用servant定位器就可以立即分派针对同一个Ice对象的到来请求。

使用一个把servant增加到ASM中的定位器有一些优点:

1)      Servants是随需实例化的,所以servant的初始化代价分散到了许多次调用中,而不是在服务器启动时同时产生。

2)      服务器的内存需求降低了,因为只有当Ice对象被客户实际访问时,servant才会实例化。

2.       缺省Servants

缺省Servants是—它针对每一个请求,充当不同的Ice对象的角色。换句话说,缺省servant会在处理每个请求时,根据请求所访问的对象标识改变其行为。通过这样的方式,客户可以访问数量不限的Ice对象,但却只有一个servant在内存中。

缺省Servants不仅可以节省内存,实现方式也很简单:在本质上,它们就是数据库中对象的持久状态的façade。

要创建缺省servant实现,我们需要的定位器的数量和系统中的非抽象接口的数量一样多。而对于每一个被调用的操作,缺省servant都要进行一次数据库访问,因此它比在内存中缓存状态要慢。

3.       混合途径及缓存

如果我们的应用有一些经常访问的对象,是性能的关键,那么我们可以把针对这些对象的servant增加到ASM中。其他不常被访问的对象可以通过缺省servant实现。

 

4.       Servant逐出器

逐出器是维护有servants缓存的servant定位器:最近最少用的servant处在队列的尾部,最近使用最多的servant处在队列的头部。(按照LRU顺序维护)。

队列的长度可以配置,并决定会有多少servant存放在缓存中:如果针对某个Ice对象的请求在内存中没有对应的servant,而且缓存满了,逐出器就会在队尾移除最近最少用的servant,给要在对头实例化的servant腾出空间。如:

Ice笔记--Ice的服务器实现技术[通俗易懂]

逐出器在访问了servant3之后的情况:

Ice笔记--Ice的服务器实现技术[通俗易懂]

假定下一个客户请求时针对对象标识6的。逐出器中维护servants的缓存已经满了,那么就会在队尾逐出标志位1的servant,如图:

Ice笔记--Ice的服务器实现技术[通俗易懂]

逐出器集合了ASM与缺省Servants的优点:只要缓存尺寸能在内存中容纳servant工作集,大多数的请求都会由已经实例化的servant提供服务,而不用创建servant,并访问数据库来初始化servant状态。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135437.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月5日 上午8:46
下一篇 2022年6月5日 上午9:00


相关推荐

  • 自己写的和收藏的一写php函数

    自己写的和收藏的一写php函数

    2022年3月8日
    41
  • 基于粒子群优化算法的函数寻优算法研究_matlab粒子群优化算法

    基于粒子群优化算法的函数寻优算法研究_matlab粒子群优化算法一、理论基础粒子群算法(particleswarmoptimization,PSO)是计算智能领域一种群体智能的优化算法。该算法最早由Kennedy和Eberhart在1995年提出的。PSO算法源于对鸟类捕食行为的研究,鸟类捕食时,找到食物最简单有效的策略就是搜寻当前距离食物最近的鸟的周围区域。PSO算法就是从这种生物种群行为特征中得到启发并用于求解优化问题的,算法中每个粒子都代表问题的一个潜在解,每个粒子对应一个由适应度函数决定的适应度值。粒子的速度决定了粒子移动的方向和距离,速度随自身及其他粒子

    2022年10月11日
    4
  • 内膜厚回声均匀会是癌_内膜回声均匀是不会病变是吗

    内膜厚回声均匀会是癌_内膜回声均匀是不会病变是吗下载数据集fromtorchvision.datasetsimportmnisttrain_set=mnist.MNIST(‘./data’,train=True,download=True)#若未找到数据集则自动下载test_set=mnist.MNIST(‘./data’,train=False,download=True)

    2022年10月9日
    4
  • ABAP调用外部接口

    ABAP调用外部接口DATA:lc_http_clientTYPEREFTOif_http_client,LENTYPEI,”发送报文长度l_json_dataTYPEstring,l_json_stringTYPEstring,l_result_dataTYPEstring,l_urlTYPEstring.DATAlc_jsonTYP..

    2022年5月10日
    80
  • CNN经典模型汇总[通俗易懂]

    CNN经典模型汇总[通俗易懂]本文主要对CNN领域的经典模型进行汇总,算是对近期的学习做一个小总结。基础知识作为深度学习的基础,神经网络这个算法是必须要有深入的了解的,这里不介绍太多,简单介绍一下原理和单个神经元的结构:一、BP神经网络的概念BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,第一阶段是信号

    2022年4月19日
    54
  • HDOJ 5000 Clone

    HDOJ 5000 Clone

    2022年1月4日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号