tomcat人数限制_开源软件运维杂谈——Tomcat篇

开源软件的革命

3f9b3e8fce468c0c389cefc9d4f6cfb6.png

“开源是无处不在的,它是不可避免的……对抗开源的政策是不切实际的,会使你处于竞争劣势。”——加特纳。

1998年2月,“开源”这一术语率先被用于软件领域,经过二十年的发展,开源已趋于成熟。2008年阿里成为Oracle最大用户之一,数据库规模居亚洲首位,但是同年提出了去“IOE”的想法,2013年5月支付宝下线最后一台IBM小型机。伴随着互联网的崛起,开源的趋势已经无法阻挡,但是机遇也伴随着挑战。针对开源软件的选择、引入,技术规范等等,都给传统的金融行业带来了前所未有的挑战,也给运维带来的莫大的压力。

开源软件的挑战

1、开源的软件的前世今生

在2014年以前,我行的大部分应用是基于Java平台,这些应用大部分部署运行在WebLogic Server上,我们的运维工具和主要运维手段也都是基于这款商业产品的并且在系统性能和稳定性也经历了长期的考验。

对于开源软件我们开始的时候还是有点谈虎色变的,开源软件在我行一直作为应用软件的一个部分,运维团队不会对开源软件进行单独的运维,都是由项目组进行安装和配置,相较于稳定成熟的商业软件,开源软件在软件的成熟度及其配套的支持服务方面都有些天生的缺陷。

2、开源趋势不可挡

 随着互联网金融的高歌猛进,新型业务上线的速度越来越快,开源的身影也在行内的系统中出现的越来越多,甚至到了野蛮生长的地步,给运维部门带来的压力也越来越大,当我们开始梳理这些开源软件的时候,发现这些开源软件产品众多,甚至相同的功能存在不同的产品,相同的产品存在不同的那版本,相同的版本有存在不同的分支,安装配置不统一、配置参数五花八门,管理困难,运维手段单一,缺少相关的监控和诊断工具,给日常的运维工作带来了极大的挑战。我们开始不断反思,既然开源软件趋势不可逆,堵不如疏。

3、 开源软件的选择与完善

开源软件项目的范围,覆盖业余玩家到专业的开发和版本测试等不同阶段。 从centos到 Ubuntu,从MySQL到PostgreSQL,从Tomcat到resin,众多产品如何选择?如何进行管理?

    开源软件虽好,但是如果真的把开源软件直接放在生产环境中又会发现许多问题。软件的严谨性不够,问题可追溯性不强,文档过于简单粗略,监控手段有限等等一系列的问题,也给运维团队带来了许多新挑战。

开源软件的安全也是首要问题,也是现在运维的重中之重,如果社区不够成熟,使用人数较少势必对漏洞的修复效率造成影响,我们该选择什么样的社区?快速修复和升级又改如何进行?也是现在运维团队不得不思考的问题。

开源软件引入实例

重视开源软件的技术成熟度,并看重开源软件的长期发展,对于软件的引入和管理有安全合规的要求,使开源软件更加规范的使用。

1、 开源产品的选择

从2015年开始我行开始正式引入Tomcat开源软件,选择之初我们就制定了开源软件的使用模式及其生命周期研究、试用、主推、限制使用和限期替换五个阶段。同一领域内技术产品不超过2个,主推加试用的技术产品不超过3个。这样我们就在产品的范围上进行了限制,保证在生产环境中主流版本统一性,减少因为同类产品造成运维的复杂性也可以保证引入产品的严谨性。

Tomcat的顶层架构

2、开源产品的完善

开源产品的完善也是必不可少的部分,刚开始研究Tomcat的时候我们就发现Tomcat有天生的优势,性能稳定、技术先进、部署快捷,结构复杂但非常模块化。虽然是一款成熟的开源软件,但是对比WebLogic、WebSphere这样成熟的商业中间件产品在软件成熟度上还是有一定得差距,如何优化?如何进行完善?我们对这5个方面进行了,大刀阔斧的改造。

Connector 和Container

a)    整齐划一:

考虑到提升后期运维的统一性、整体性、尽量屏蔽软件差异,对于多个系统多个节点的可操作性和追求执行结果的幂等性,我们对tomcat的目录进行了统一规划,这样为后续的统一运维工作打下了基础。

b)   软应分离:

   Tomcat本身作为一个Web容器,并没有像商业的中间件一样(如:WebLogic、WebSphere)做基础软件和应用数据文件的分离,这样在后续因为一些安全原因或软件BUG需要升级的时候,就还需要重新部署应用又增加了工作量。在统一规划了tomcat的目录的基础上,我们针对Tomcat进行了基础软件部分和应用的分离把Tomcat分成了基础软件部分和应用程序部分。

c)    应管分权:

Web容器是和应用结合的最紧密的部分,应用管理员、中间件管理员可能都需要对Tomcat进行相关的操作,需要不同的权限。针对日常维护和启停操作,我们用了不同的操作系统系统用户,这样既做到了权限的分离又有一些相互重叠的部分,达到了应用管理、中间件管理分权,不进行重复授权。

d)   双重监控:

在Tomcat的监控方面,我们从应用角度和本身运行角度做了双方面考虑。应用角度我们接入了我行的鹰眼(APM)系统,通过应用的角度监控应用的性能。Tomcat资源角度,统一接入了Zabbix监控系统通过JMX采集其资源使用信息并且制定告警阈值进行相关告警。

e)    自动构建:

重复的工作需要自动化完成,Tomcat在安装的时候我们根据自己的需求进行了配置,需要对Tomcat的原始脚本进行封装处理,这里用Python编写自动化脚本,进行自动化构建,保证每个环境的统一性。

3、安全可靠性

Tomcat是由Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,也是一个治理型社区,网站访问流量和下载次数统计应能够说明其用户群体应足够庞大,缺陷修复及时、版本发布持续活跃,安全补丁机制健全、有专用的安全漏洞报告渠道。有了整齐划一的生产环境,有了软件与应用的分离,有了不同权限的管理,那我们仅需要自动化的工具来完成快速的升级,提高系统的安全性、可靠性。

开源软件的引入意义

开源软件给我们的运维团队带来更多的可能性,通过新的开源技术使我们基础环境交付的速度大大提高,新业务的上线速度大大加快,对于业务的支持能力也越来越强。开源对软件的发展具有深远的意义,它帮助我们共享成果,重复使用其他人开发的软件库,让我们能够专注于我们自己的创新,它推进了技术的快速发展。开源的时代正在来临,我们如何拥抱开源?如何使用开源软件?如何能保证系统的稳定和安全?我们也还在开源的路上不断探索与前行,望此文对开源软件的引入及其完善提供些许参考意义。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值