导语:CTO训练营***季已经圆满收官,作为一个学习分享和社交的平台,CTO训练营提供的不光是知识分享,还有一个属于技术管理者的人脉圈子。结课之后,***季学员提交了毕业设计,来对四个月以来的学习进行总结与回顾,部分论文由CTO导师进行点评和打分。
"e管家"系统当前架构及升级 杨一甲 天津联创宏图CTO
我司主要产品为社区类O2O平台“e”管家,在此选择“当前系统技术架构总结分析,并给出解决方案”为课题,进行答辩。
1.1.当前系统架构
本项目整体架构如下图所示。
基本架构就是当前典型的移动互联网系统架构。客户端通过restful web服务进行对业务逻辑操作。通过负责均衡服务器实现分流和容灾。将业务部署在两台阿里云服务器上,采用nginx web服务器,主要业务逻辑通过php及python实现。数据库为mysql,目前没有做分别分库处理,只是实现了MySql的主从复制和读写分离。文 件服务通过七牛云存储实现。监控运维通过听云实现。
就当前架构来说,我们的优点为架构简单,基本满足了当前的业务需求。并充分利用了当前市场上的第三方服务,如负载均衡、云服务器、云数据库都利用了阿里云,即时通讯使用了融云,通知推送使用了JPush以及前面提到的听云和七牛。这样大大节省了我们的开发成本和上线速度。
缺点为目前架构简单,如果业务量发生突然增长,只能通过添加硬件的形式满足业务增长。并且小区数量和用户数量爆发增长,那么数据库当前架构无法支持系统工 作。并且当前公司商业模式比较复杂,主要存在与物业合作、招募合伙人、定制开发三种扩展模式,从而导致了客户端多样性、接口混乱等问题。在开发方面,缺乏 自动化部署,如果未来服务器数量增多,则会导致代码上传问题。
现正在进行的优化有客户端组件化、按照业务逻辑(不同小区)进行分表分库处理、部署自动化发布平台等等,详细解决方案不一一说明,在下节对项目的整体架构优化进行说明。
1.2. 项目升级架构
2. 2.1系统设计架构
根据课程所学内容,对整体系统设计如下图所示:
客户端通过统一接口,连接服务器,实现各种业务。其中将业务层分为四大类:基础服务、公用服务、行业服务、可定制服务。其中如通知推送、即时通讯、短信服务 等为基础服务;帮帮、电商、论坛等为公共服务;物业报修、物业投诉、社区电话等为行业服务;通用查询、领域应用、衍生应用为可定制服务。在这些业务之下, 提供了组件服务和基础服务能够更加稳定高效的实现业务层逻辑。并提供云管理后台,实现用户、社区等业务管理,并提供镜像管理、可用性管理、安全管理等资源 管理实现系统的高可靠性、高稳定性。同时提供了自动化发布系统让系统服务自动化升级,以及在线测试平台、运行监控平台保证及时发现、修正系统问题。
2.2技术架构
本项目技术架构如下图所示:
在原有系统上,增加计算层、存储层、采集层、调度层,增强系统的稳定性、高效性、可靠性。
导师点评:七乐康高级技术总监曲毅
评分:B
评语:层次分的非常清晰,其中webcontroller和appcontroller根据具体的应用场景和灵活性对service进行了适配转换。这里提出一个观点仅供思考,我们说系统架构,除了后端架构。其实前端也可以架构。或者我们的前端和后端可以统一架构。 例如我们的web和app还有微信。如何采用架构减少适配,减少编码,减少业务逻辑的重复编写? 在本设计图中,没有看到前端的架构。提出观点,是否可以前后端统一架构,这样我们能设计出性能更好,更灵活的系统,是否有这样的可能性。
【CTO训练营】是51CTO高招旗下,面向中高端技术管理人才,提供技术和管理的学习以及人脉和资源平台,旨在打造技术经理的MBA,为行业输送更多CTO人才,第二季CTO训练营课程内容参照CTO胜任能力以及延展能力设计,包含技术与架构、技术与管理、商业运营、敏捷个人管理4大模块,聘请一线互联网平台CTO担任导师,完成为期12天的课程学习之后,参与毕业典礼,辅修学分,完成结业。