随着企业业务规模的扩大,系统服务的稳定性受到很大的挑战。为了应对苛刻的生产工作负载,在V10新版本中,我们产品实现支持分布式session共享、负载均衡优化、扩展包热加载,产品补丁包实现快速修复等功能,提高产品系统的稳定性,减轻运维人员工作量,大大提高了其工作效率,有效提升了用户的体验。
分布式session共享,实现无状态化 V10版本通过分布式Session共享实现产品无状态化:即使服务器在宕机、断电、切换等情况下,都无须用户重新登录,保障业务操作不中断、数据/模板不丢失,有效提升用户体验。
Smartbi产品通过将会话信息统一存储在分布式缓存数据库Redis 中,实现多个应用服务器共享会话信息,保证服务器重启或切换后,仍然可以正常继续操作不会跳转至登录页面,也不会出现500,400错误。常见部署模式如图所示:
图-Proxy+Tomcat集群+Redis集群部署模式
负载均衡调整优化,支持健康汇报 当系统面临大批用户访问、负载过高问题的时候,系统性能以及稳定性问题就凸显出来。通常会考虑增加多台机器进行横向扩展以此提高整个系统的处理能力。此时,负载均衡是实现系统高可用性和稳定性的一个关键组件。
新版本中我们对负载均衡服务器Smartbi proxy进行了优化:用前后端分离的框架,保障请求被分发到健康的服务器上。这种优化在大流量多元化场景下对保证用户业务的持续稳定运行起到至关重要的作用。
图-自定义分发策略的权重
支持扩展包热加载,无需重启 我们知道扩展包通常用于实现客户现场要求的特定需求,如增加功能模块、删除功能点等等。在产品V10版本中我们还实现了支持扩展包热加载,即运维人员调试或是更换扩展包时能直接上传,无需重启服务器,还能通过可视化界面迅速了解扩展包的加载状态,还能在线启用、禁用和重新加载,实现了客户系统稳定性运行。
支持补丁包手动上传,实现快速修复 V10版本支持以产品补丁包的方式来实现快速修复。通过可视化界面手动上传补丁包,不需要重新部署War包,实现问题的快速修复,缩短了更新版本的周期,提高了运维人员工作效率!
支持单元格告警阈值设置,实现预警 随着产品处理的数据量越来越大,有时候一次查询太多的数据,可能会引起内存的溢出,为了避免这个问题,确保系统的稳定性,V10版本中我们支持对查询的单元格数量进行控制和预警。
当用户查询的单元格数量达到设置的告警阈值时,会终止用户本次查询并弹出错误提示,并根据设置的告警提示方式(邮件、站内信)给管理员发送告警信息。此外,还新增了“内存告警日志”报表,方便管理员查看告警详细信息。
|