承保系统

项目架构图(太大,不好画)

  • 登陆用单点系统,做到集群下,多个系统,不需要重复登陆
    • 使用acegi security安全框架处理,应用请求先通过acegi security的拦截器,判断是否已经登陆,在redis进行查询,集群或多系统配置,需要对系统进行重命名。
    • 请求时,先经过拦截器,多个拦截器,登出,登陆,匿名处理,异常处理,安全处理。
    • 登陆之后,sessionid放到redis中,生成cookie存放到浏览器。
    • 登出时候,销毁cookie和redis中的数据,抛弃当前session。
    • 超时或异常时,重定向,销毁cookie和redis中的数据,抛弃当前session。
  • jsp(struts2的自定义标签。重redis中获取数据)+js
  • spring(事务)+struts2+hibernate(连接池)
  • mysql(分库分表,读写分离?)+redis(存放不宜改变的,不用多次查询数据库,不作为数据缓冲)
  • 侧面有dubbo(服务模块化,水平拓展,支持高并发。中间连带垂直拓展,由于业务性质导致,数据表比较多)+zookeeper(注册中心集群,1主2辅,2n+1的模式,防脑裂,节省资源)
  • activitymq降低并发,处理实时性不高的业务。
  • 服务接口有servlet和webservice,webservice框架用的axis2-1.4.1版本。
    • axis2版本之间兼容性比较差,自定义类型在反射的时候,类型有可能会变化。接口定义的时候,如果传输的是对象,注意序列化问题。List没有序列化,ArrayList有序列化,另外,泛型的转换的问题。
  • 文件解析用的poi

异步系统

  • 没有页面
  • maven管理项目包,springboot+Mybatis
  • activitymq消费,直连dubbo,仅仅做数据的转发。