一个应用系统(java开发),部署于weblogic中运行,在一台Windows服务器上已经运行了好几年了,现在客户提出想要实现如下功能,就是如何保证应用系统的服务不会停?比如服务器挂了怎么办,应用挂了怎么办?
有的说做weblogic集群,因为没有实际用到过,weblogic下的集群好用吗?
多个服务器做容错 https://blog.csdn.net/pickinfo/article/details/8951534
1) 故障检测
为群集提供高可用性,它必须是能够从失败服务中恢复。 集群中的WebLogicServer实例通过监测,观察他们的同行服务器实例是否发生故障:
ü Socket实时点对点及时通信
WebLogic Server实例监控使用IP套接字网络连接的方法,实时检测对等服务器实例是否发生故障。 如果一个服务器实例通过Socket连接另外一个服务器实例进行数据通信时,由于网络中断或不可用故障发生时,那么将与这个不可用服务器实例相关的所有服务对象将从JNDI命名树中删除。
ü 定期的服务器心跳检测
如果集群环境下的服务器实例不开发实时的点对点及时通信,出现故障的服务器实例仍然能够被WebLogic Server通过心跳检测发现,并 组播或单播到集群中的其他成员分发这个心跳消息。
每个心跳消息包含数据的唯一标识该服务器实例消息。 服务器自身在10秒一个周期定时播出他们自己的心跳消息。 同时,每个服务器也在这个周期进行监控,以确保所有同行服务器的心跳消息正在发送组播或单播其心跳消息。一个服务器如果三次以上心跳检测失败(或30秒内未发出心跳消息),该服务器实例将被认为出现故障不可用,此时将与这个不可用服务器实例相关的所有服务对象将从JNDI命名树中删除。
分布式开发,功能性的宕机不至于影响整个项目的功能出现问题
将项目搭建成分布式的 多个节点。这样挂其中一个不会影响所有的功能使用,可以达到客户需求
多机器部署,业界内普遍的做法了。
分布式开发,多机器部署,这样就算挂了其中一个也不会影响其他
数据库容灾实时备份。
iis多进程运行。
分布式开发,多部署服务器
服务器集群部署,错误日志(类似于心跳检测)记录,自动将错误日志发送给管理员,制作远程启动服务器小工具,管理员可以通过手机重启服务器,过后查找宕机原因。
部署多节点 ,前端再放个反向代理
对于不太稳定的代码,在非业务时间自动kill掉重启一下