gpt4 book ai didi

memcached - 使用 apache Camel 缓存 http 请求

转载 作者:行者123 更新时间:2023-12-02 04:42:02 25 4
gpt4 key购买 nike

我正在使用 apache camel 2.12.2 为 http 请求构建一个负载平衡器。为此,我使用了 camel-servlet、camel-http 组件,我的路由定义如下:

<from uri="servlet:///my/path?matchOnUriPrefix=true" />
<loadBalance inheritErrorHandler="false">
<failover roundRobin="true" maximumFailoverAttempts="2">
<exception>java.io.IOException</exception>
</failover>
<to uri="http://server1:9090?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" />
<to uri="http://server2:9090?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" />
<to uri="http://server3:9090?bridgeEndpoint=true&amp;throwExceptionOnFailure=false" />
</loadBalance>

现在我正在尝试使用 Memcached 实现对 http 请求的缓存。为此,我正在尝试使用 RoutePolicy。是否有可能在缓存命中时中断交换并从 onExchangeBegin 返回,而不命中 http 端点?或者有没有更好的方法来使用 Memcached 实现对 http 请求的缓存?

我尝试了 camel-cache 组件,但是我们不能使用 EHCache,因为我们的项目中已经有 Memcached。

最佳答案

你可以通过设置这个属性来标记交换停止

exchange.setProperty(Exchange.ROUTE_STOP, true);

(如果在路由中使用 ,这就是它的工作方式)

...然后路由引擎将不会继续路由交换,消费者将能够尽快使用交换作为响应。

关于memcached - 使用 apache Camel 缓存 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20628545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com