- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 如何搭建有状态的集群web服务
1、目的:为了高可用,需要搭建两个web容器构成集群(比如两个tomcat 、两个nginx),并且需要用户无感知(即会话需要共享)2、解决方案: 2.1 会话信息不能采用j2ee自带的session变量来存储,采用redis来存储(或者任何第三方的共享来存储) 2.2用户登入成功之后,在后台生成一个UUID的唯一码,并把信息写入到redis(key为uuid,valu...
2018-07-12 08:43:43
790
原创 java-No route to host 解决办法
出现No route to host 的时候,有如下几种可能:1、对方的域名确实不通2、本机自己开了防火墙3、本机的etc/hosts 里面没有配置本机的机器名和ip (可能性最大)其中第三点是最猫腻的,在不配置的时候是间断性的(可能1个月都正常,然后突然几天不正常)。修改方案如下:在结尾加上:机器名和机器ip(用空格隔开)...
2018-07-12 08:37:30
12448
原创 服务端获取用户的IP
背景:如果公司的网络扩扑图从统一的nginx转发过来的,需要在NG的配置文件里面配置:把用户实际的IP注入到请求头部的X-Forwarded-For ,然后应用程序去截取X-Forwarded-For中的内容来获取用户的实际IP。判断是否内网的规定来自:如果不用此方案的后果:用户的IP会被伪造,会存在很多衍生的漏洞伪代码: 1、从请求的head中读取X-Forwarded-For ,...
2018-07-12 08:34:20
457
原创 如何处理jvm内存溢出
1 前言相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识。在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识。jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永...
2018-07-12 08:27:32
15099
原创 linux 句柄数过高的排查方法
背景:做linux系统上的后端代码开发,偶尔会碰到后台报错:too many file open XXXX ,紧跟着是socket open timeout 。这种情况大部分是因为linux 文件句柄数满掉引起的。排查方法如下:1、linux操作系统默认的句柄数为1024,windows默认的句柄数为6万。所以linux操作系统更容易出现句柄数不够用的情况。但是1024的句柄数在大部分情况下...
2018-07-12 08:18:43
14799
原创 使用Map实现redis的功能(适用于单机版)
背景:某个项目需要用到类似redis的功能(存储键值对,并且希望键值对是有过期时间的)。如果只是为了一个小功能,就安装一个redis服务器,那明显太浪费性能。所以开发了这个类,使用MAP来模仿和实现redis的处理。原理:利用两个Map,一个map用来存储值,一个map用来存储过期时间。另外有一个线程,定期去扫描那些key过期,如果过期,则移除这个值。注:使用ConcurrentHashMap是为...
2018-07-12 08:09:31
1676
1
转载 Docker私有仓库Registry使用
但有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。使用私有仓库有许多优点:121)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;2)提供镜像资源利用,针对于公司内部使用的镜像,推
2017-06-15 15:49:51
3153
资深经理人的职场笔记
2016-11-16
weka 集成LibSVm所需的jar(wlsvm.zip)
2008-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人