20__个人年度总结报告
从20__年_月份入职已经快半年了,在这期间我参与银联云集成开发平台项目的开发。
由于我参与云集成开发平台项目的时间较晚(项目已经进入开发阶段),因此进入项目的前一段时间,对项目的需求并不十分了解。阅读项目需求文档和设计文档也很费力,因为项目涉及的设计思想、概念、技术都很丰富。我的开发任务是云集成开发平台的管理控制台,主要是调用各个功能模块提供的接口并提供前端的WEB页面展示,例如在页面上单击一个按钮来完成一组应用容器(集群Jetty)的启停操作。随着管理控制台开发的不断深入,我逐渐理解了云集成开发平台的整个过程,能对PaaS运行过程中出现问题的做出快速定位。
在项目一期结束后我们曾多次到银联安装部署PaaS基础服务,但由于缺乏项目实施经验和准备工作做的不充分,我们部署工作花了很多时间,同时也发现很多问题。第一、PaaS平台需要依赖IaaS(云资源管理平台)提供的WebService服务;由于IaaS的WebService没有经过严格的测试,在与PaaS集成的时候要花费很多时间去调试。第二、安装整个PaaS基础服务需要安装很多软件,配置也很多,初期没有做自动化安装,所有的软件以及Linu_需要的类库都要手动安装、耗时较多;由于涉及软件服务较多和环境的不稳定性如网络、Linu_系统环境,安装过程出现的有些问题不容易解决。第三、PaaS平台使用了很多第三方软件,有些软件是我不熟悉的,如RabbitMQ、Ngin_、
Hapro_y、ApacheFlume等,这些需要花很多时间去学习。第四、个人认为有些功能模块设计的不合理,PaaS平台使用Jetty作为应用容器是因为它比较轻,但数据源开发使用的eos部分原有组件导致引入了大量eos的Jar。数据源功能就是通过PaaS平台管理控制台给每个应用配置数据源,部署在PaaS平台上的应用就能取得数据库连接。实际上就是给用户提供一个获取数据源的接口,和修改数据源配置文件(通过管理控制台上配置后完成一组虚拟机上(集群)数据源配置文件的修改工作);这个功能的实现不需要依赖于eos,eosJar的引入会使得部署在Jetty上的应用变得笨重。使用云集成开发IDE开发的WEB应用都需要导入一组eosJar包,这样的应用WAR包才能部署到PaaS平台上正常运行,但使用者开发的应用并不是eos应用。我个人认为有必要重新开发这部分功能,使其脱离eos成为独立的组件、轻量化。
PaaS平台开发的各个基础服务都做了详细的日志记载,这方便我们定位问题所在以及对BUG的修复操作。PaaS平台许多操作是一个复杂的流程,如果没有日志,中间任何一个环节出现问题都很难定位。例如创建应用,过程为:创建虚建应用动应用建数据库建资源库建缓存建负载均衡服务。创建应用的过程使用了代理框架,通过收发命令来执行各个基础服务机器上相应的脚本来完成服务的创建、删除和修改等操作。Agent接收命令和命令的执行情况都做了日志记录。还有各个基础服务的运行情况都有自己的日志记载,如管理控制台的日志记录了整个
PaaS平台应用的创建、销毁过程,以及应用的部署,启停等操作。
我们的平台还不稳定,PaaS平台的运行需要依赖IaaS平台。IaaS创建的虚拟机不稳定会导致PaaS平台无法运行,另外就是代码缺陷会导致PaaS平台不稳定,网络因素也会影响PaaS平台的稳定性。我们近期的任务就是提高PaaS平台的稳定性和完善PaaS基础服务。近日,银联又提出了明年PaaS平台要做的服务。这些服务涉及范围很广,有短信服务、支付服务、加解密服务、数据挖掘、定时服务、邮件服务以及各种服务监控,性能优化等。展望20__,我们需要学习更多的新技术,尝试做我们没有做过的事情。