为什么80%的码农都做不了架构师?>>>   

上次基于Java IO的序列化方案配置了memcached-session-manager,但是性能不好,现在先简单配置成基于kryo的

Xml代码   
  1. <Context path="/mobilemail" docBase="D:\webapp\WebRoot" reloadable="true">
  2. <Manager
  3. className= "de.javakaffee.web.msm.MemcachedBackupSessionManager"
  4. memcachedNodes= "n1:192.168.112.1:11211,n2:192.168.112.2:11211"
  5. sticky="false"
  6. lockingMode="auto"
  7. requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"
  8. sessionBackupAsync= "false"
  9. sessionBackupTimeout= "0"
  10. memcachedProtocol="binary"
  11. copyCollectionsForSerialization="true"
  12. transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
  13. customConverter="org.claros.commons.CustomKryoRegistration"
  14. />
  15. </Context>

注意customConverter配置的com.test.serializer.CustomKryoRegistration这个类是自己写的类,是用来注册一些特殊类型的,同时自己负责对这些类型的序列化,可以放在项目里,也可以单独打个jar包,把以后遇到的所有复杂类型都在这里即可。项目里遇到的kryo没有注册到的类就是session里的java.util.concurrent.ConcurrentHashMap这个类,反序列化的时候本来可以做得更高效些,这里只是为了演示,直接用kryo自带的MapSerializer来反序列化

Java代码   
  1. package com.test.serializer;
  2. import java.util.concurrent.ConcurrentHashMap;
  3. import com.esotericsoftware.kryo.Kryo;
  4. import com.esotericsoftware.kryo.serialize.MapSerializer;
  5. import de.javakaffee.web.msm.serializer.kryo.KryoCustomization;
  6. public class CustomKryoRegistration implements KryoCustomization {
  7. public void customize(Kryo kryo) {
  8. kryo.register(ConcurrentHashMap.class, new MapSerializer(kryo));
  9. }
  10. }
感兴趣的同学请参见msm-kryo-serializer-1.4.0.jar注册wicket的MiniMap的流程(de.javakaffee.web.msm.serializer.kryo.WicketMiniMapRegistration里对MiniMap使用kryo-serializers-0.8.jar中的de.javakaffee.kryoserializers.wicket.MiniMapSerializer 单独处理)
要使用kryo进行序列化需额外添加kryo的jar包,我使用的是kryo-1.04,所需要的jar包在附件里。添加依赖的时候请注意不要引起jar包冲突,比较常见的是使用cglib和所依赖的asm的冲突,我的解决办法是留下kryo所需要的asm-3.3.1.jar,删去其他版本的asm,再将原先项目里的cglib换成cglib-nodep-2.2.jar。

转载于:https://my.oschina.net/baobao/blog/17080

基于kryo序列化方案的memcached-session-manager多memcached...相关推荐

  1. tomcat + memcached session manager共享session

    网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人.正巧最近有一个地方用到,特此总结一下. M ...

  2. 将tomcat的session信息通过memcached实现共享

    为什么80%的码农都做不了架构师?>>>    1.先学大拿来点介绍 MSM(memcached-session-manager)支持tomcat6和tomcat7 ,利用Value ...

  3. 基于可靠消息方案的分布式事务(四):接入Lottor服务

    在上一篇文章中,通过Lottor Sample介绍了快速体验分布式事务Lottor.本文将会介绍如何将微服务中的生产方和消费方服务接入Lottor. 场景描述 生产方:User服务 消费方:Auth服 ...

  4. 扫盲:php session缓存至memcached中的方法

    memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用.这是一套开放源代码软件,以BSD li ...

  5. Netty使用kryo序列化传输对象

    Netty使用kryo序列化传输对象 横渡 Netty使用kryo序列化传输对象 - 简书参考文章:https://blog.csdn.net/eguid_1/article/details/7931 ...

  6. 广播变量kyro_利用Kryo序列化库是你提升Spark性能要做的第一件事

    本文基于Spark2.1.0版本 套用官文Tuning Spark中的一句话作为文章的标题: *Often, choose a serialization type will be the first ...

  7. Packable-高效易用的序列化方案

    一.前言 当我们需要对一些信息进行存储或者传输时,通常需要用一种数据协议,将信息转换为可存储或传输的形式(二进制字节流.经过编码的文本等). 特别地,当数据源是对象时,转化对象的过程被称为序列化,反之 ...

  8. java序列化方案对比

    1.引言 目前移动客户端应用程序上,需要将用户内容持久化到设备上,一般任何feed流应用,如微博.推特.新闻客户端等都需要将内容做持久化操作,以便在内存回收后,再次进入程序能迅速恢复之前的内容.另外如 ...

  9. java kryo 序列化_java中的序列化方式及dubbo使用kryo序列化

    java中的序列化方式: 1. 自带序列化  ObjectInputSteam. ObjectOutStream等 2. hession2 3. json ,xml等格式 4.kryo 5.FST - ...

最新文章

  1. DataGridView和ListT绑定不显示问题
  2. winForm调用HTTP短信接口
  3. centos7虚拟机使用docker搭建swoole环境
  4. JavaOne 2016——首日亮点
  5. 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串
  6. android studio 发布版本,Android Studio 4.1 Canary 版本发布
  7. css3中变形与动画(三)
  8. 华为荣耀30pro鸿蒙内测版,荣耀手机用户放心了 消息称荣耀30 Pro正在内测华为鸿蒙OS...
  9. ext js如何动态更改xtype_K8S ConfigMap 用于动态应用程序的实践
  10. NHibernate扩展:FluentNHibernate基础教程
  11. bzoj 2743spoj DQUERY - D-query
  12. 技术人 | 浅谈如何成为技术一号位?
  13. 【优化调度】基于matlab蚁群算法求解无等待流水线调度优化问题【含Matlab源码 1516期】
  14. dos计算机,dos操作系统,教您进入dos操作系统
  15. 学习网络技术的一些常用论坛和网站
  16. 学了Java可以做什么工作
  17. 读者问题答疑:4 个超级简单的 Linux 基础考试题!
  18. 三维建模学习太难?业内前辈给你指点一下!
  19. 电脑c盘数据迁移的方法
  20. 全球与中国缓震田径鞋市场深度研究分析报告

热门文章

  1. JS学习笔记之call、apply的用法
  2. Centos7.4 版本环境下安装Mysql5.7操作记录
  3. CSS控制字体在一行内显示不换行
  4. Rancher部署Traefik实现微服务的快速发现
  5. Docker 安装registry (构建私有镜像库)
  6. SpringBoot学习之路:09.Spring Boot中添加Filter应用
  7. 《机器学习与数据科学(基于R的统计学习方法)》——2.11 R中的SQL等价表述...
  8. Quartz2D绘图
  9. Java基础系列——IO流
  10. cisco aaa 授权后门测试