Jetty 的会话管理器一直挺灵活的,这次碰到个还不错的资源——pool-enhanced-2.0.0.zip
。里面是 Jetty 集成 Memcached 做分布式会话存储的项目源码,名字叫jetty-nosql-memcached
。核心思路也简单:把原来写硬盘的会话数据,放到内存里,速度蹭蹭的快。
Memcached 的内存存储特性,搭配 Jetty 一起用,响应也快,部署也轻量。适合那种并发高、节点多的 Web 应用,比如电商、门户类项目。你只要在 Jetty 配置里加上 Memcached 的 session manager,会话数据就能自动进缓存,整个过程你基本不用改业务代码。
压缩包里是项目的主分支jetty-nosql-memcached-master
,源码、文档、配置全都有,想自定义个序列化方式,或者改下超时时间,里面的代码也比较容易上手。项目结构清晰,测试用例也写得蛮全的,基本拿来就能跑。
哦对了,这玩意儿用的是标准的 Java Servlet API,你平时怎么用HttpSession
,现在还是怎么用。只不过底层不是存在本地而是跑 Memcached 上,速度自然快不少。如果你手上项目正用 Jetty,又想提升性能,不妨试试这个。
还有,项目里的一些配置坑点也要注意,比如 Memcached 连接池的设置,网络不稳时的超时机制,建议先通读一下README
,再动手。
如果你对 Memcached 感兴趣,也可以看看这些资料:使用 memcached 优化 Web 应用性能 和 Memcached: 解锁 Web 性能瓶颈,思路差不多,但有些细节讲得蛮实在。
,pool-enhanced-2.0.0.zip
算是一个比较实用的代码资源。是对做 Java Web 后端的朋友来说,能省事不少。如果你项目正考虑分布式部署,想做点会话共享的事,这个项目蛮值得一看。