负载均衡:主要是将大量的并发请求按照一定的规律分发给不同的服务器处理,减少某台服务器的瞬间压力
分配算法:轮询,权重,ip哈希算法

跨域:是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。
跨域问题:
1. jsonp可以解决
2. cors设置Access-Control-Allow-Origin头
3. nginx解决,搭建一个中转nginx服务器,用于转发请求

session共享问题:
一个用户在登录成功以后会把用户信息存储在session当中,这时session所在服务器为server1,那么用户在session失效之前如果再次使用app,那么可能会被路由到server2,这时问题来了,server没有该用户的session,所以需要用户重新登录,这时的用户体验会非常不好

如何实现session共享

1. session共享(主要同时使用redis和cookies):redis的方案是,重写服务器中的HttpSession和HttpServletRequest,首先实现HttpSession接口,重写session的所有方法,将session以hash值的方式存在redis中,一个session的key就是sessionID,setAtrribute重写之后就是更新redis中的数据,getAttribute重写之后就是获取redis中的数据,等等需要将HttpSession的接口一一实现;
在filter中将服务器原生的request(也有可能是框架封装过的request),当做参数new出来一个MyRequest,并且MyRequest也实现了HttpServletRequest接口,其实就是对原生request的一个增强,主要重写了几个request的方法,但是最重要的是重写了request.getSession(),为了获取MySession,于是这样就在filter中,偷偷的将原生的request换成MyRequest了,然后再将替换过的request传入chan.doFilter(),这样filter时候的代码都使用的是MyRequest了。
2. 粘性session:Ngnix每次都将同一用户的所有请求转发至同一台服务器上,即将用户与服务器绑定(ip哈希算法)