HA


应用服务器HA/集群 & 负载均衡 & session共享

hi zhili ,我用nginx搭的负载均衡。

入口:
http://172.29.163.101:8080/bluescan/

实际节点:
http://172.29.163.104:8081/bluescan/
http://172.29.163.101:8081/bluescan/

目前采用的round-robin的轮替方式,暂时没发现什么问题。
另外绑定ip的方式,当一个节点故障,nginx会自动切换到另外节点。所以source-ip轮替方式也差不多够用

负载均衡

session共享


数据库 & 缓存

为什么要用solr?
不全文检索,就没必要用solr

derby?
小,稳定,但是只有本地版,

mysql?

redis

postgres

##

一、工作中因为要使用到Tomcat集群部署,此时就涉及到了Session共享问题,主要有三种解决方案:

  1. tomcat自带的session共享

  2. 使用数据库来存储Session

  3. 使用Cookie来存储Session

  4. 使用Redis来存储Session。优点:使用Session的代码没有任何变化,Tomcat默认把Session保存到Redis上面了。

二、本文中主要讲一下第3种方案,也就是使用Redis来存储Session,Github中已经有该开源组件(tomcat-redis-session-manager),下面讲一下配置的步骤

1、配置tomcat配置文件context.xml

【java源码系列】工具类 - Arrays

此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

为什么不写到int
Arrays.toString(

它提供的操作包括:

  • 排序 sort
  • 查找 binarySearch()
  • 比较 equals
  • 填充 fill
  • 转列表 asList()
  • 哈希 Hash()
  • 转字符串 toString()

扩展阅读

Class 文件格式中精确地定义了类与接口的表示形式

Java 语言中的各种变量、关键字和运算符的语义最终都是由多条字节码命令组合而成的,因此字节码命令所能提供的语义描述能力肯定会比Java语言本身更强大,这便为其他语言实现一些有别于Java的语言特性提供了基础,而且这也正是在类加载时要进行安全验证的原因。