对一个“失败”项目的审视—架构

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

wKiom1PghsShNO_EAAHGi0Dp0EI520.jpg

衡量一个产品的成败,往往所站的角度不同理解也就不同。站在一个开发人员的角度来看,判断一个产品是否成功,往往首先判断这款产品是否满足用户的需求。对于有性能扩展要求的产品,则还要考虑其是否具有较高的性能、是否便于后期扩展;对于具有代码洁癖的开发者来说,则还要看代码编写是否规范等等。

今天我们先来了解一下这款产品的架构是如何设计的,再说说它的各服务器的功能。

 

首先我简单说明一下架构中需要重点考虑的几点:

1:网吧断网时的处理:架构设计中要考虑到网吧和中心服务器断网的情况,所以简单的按照MMO游戏的设计方式是不可行的(这种情况虽不常见,但是经常会由于网络不稳定而出现,有时也会因为一些其它原因而导致,例如某地区曾出现一整年断网情况),所以架构设计时需要处理:当网吧服务器和中心服务器断开后,网吧要能进行正常的业务处理;同时,当网吧服务器和中心服务器重新建立连接以后,需要将网吧在断线时间段内所处理的所有数据重新的发送到中心服务器上,并进行继续处理。

2:网吧业务连续性:对于网吧业务来说会存在一定的业务连续性,例如网吧的业务一定是先上机,后下机。这种业务如果处理顺序错乱,后果不堪设想。

3:网吧数据不准确:由于可能出现网吧网管勾结外部人员修改网吧营业数据的情况,因此网吧本地的数据不存在可信性(这里的数据指的是诸如营业流水等数据),需要中心服务器记录网吧所有的营业情况,并以重新计算得到的数据为准。

4:网吧数据产生的时段性:去过网吧的人都知道,网吧在一天之中业务数据产生的时间并非都是均匀的,例如在晚上10点以后到第二天7点左右(各网吧情况不同而定)一般是很少产生业务数据的,因为这段时间属于通宵包机时间;而在早晨8-9点属于网吧清场开业时间,这段时间会有数据大量产生。同时在周末的时候网吧也会出现业务数据产生的高峰期。基于以上的情况,架构的设计要能处理网吧业务数据瞬间变高的情况。

以上4点是系统设计时所要重点考虑的,尤其是第一点(是不是觉得考虑得很周到?但我要剧透的是,这种面面俱到的考虑其实是华丽丽的自虐。这个问题我以后会详说)。

我设计的架构图是这样的:

wKioL1PfhHriqE6_AAF-jJ_PlKE708.jpg

在这个架构中每个核心服务器的功能概要说明:

1:网关服务器:

(1):用来接收大量的并发网吧服务端连接请求。

(2):接收网吧服务端的业务请求后,根据请求类型进行分析,并将请求发送给相应的后端业务处理服务器。

(3):接收后端业务处理服务器返回的业务处理数据,并将此数据转发给相应的网吧服务端。

 

2:帐号服务器:

(1):对网吧的帐号信息进行合法性验证。

 

3:上报服务器:

1):接收网吧业务中需要上报的业务(例如:用户上机、下机、加钱、积分转换等等)进行业务逻辑处理。

2):由于网吧业务存在前后逻辑关系,因此在处理的时候需要对网吧上传的业务进行顺序性处理。

 

4:同步服务器:

1):检测网吧服务端相关数据是否和中心数据库中的一致(费率数据、会员数据、营业流水等等),对于不一致的数据,采用同步方式强行让网吧数据和中心数据库数据一致。

 

外围服务器功能概要说明:

1:负载均衡服务器:

1):针对网吧帐号、所在区域等等信息对网吧应该连接的反向代理服务器的IP和端口进行指定。

2):为了防止恶意连接反向代理服务器,负载均衡服务器为每一个网吧生成具有一定时效性的session

3):接收反向代理服务器的消息,对网吧帐号和session进行认证。

2:日志服务器:

(1):记录所有服务器的日志信息。

(2):对所有日志进行相关分析,提取出Error级别的日志,并将此类日志保存在数据库中。

3:监控服务器:

(1):监控所有服务器的运行情况,对于出现异常而宕掉的服务器程序进行自动运行,并向相关负责人发送短信报警。

(2):定时从Error日志数据库中提取相关日志,并将信息进行汇总后以短信(邮件)的方式发送给相关责任人。

本文转自狗窝博客51CTO博客,原文链接http://blog.51cto.com/fxh7622/1535702如需转载请自行联系原作者


fxh7622

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
3月前
|
消息中间件 监控 前端开发
如何开发项目管理系统中的项目结项板块?(附架构图+流程图+代码参考)
在企业项目管理中,“项目结项”是关键环节,常因流程不清、文档不全、审批滞后等问题导致交付困难。本文介绍如何通过“项目结项”模块实现线上化管理,涵盖结项申请、审批流程、成果上传、权限控制等功能,帮助团队高效完成项目收尾,避免成果丢失与流程混乱。内容包括功能设计、业务流程、系统架构、数据库设计、核心代码实现、前端交互及优化建议,助力项目管理系统快速落地并稳定运行。
|
2月前
|
人工智能 自然语言处理 JavaScript
Github又一AI黑科技项目,打造全栈架构,只需一个统一框架?
Motia 是一款现代化后端框架,融合 API 接口、后台任务、事件系统与 AI Agent,支持 JavaScript、TypeScript、Python 多语言协同开发。它提供可视化 Workbench、自动观测追踪、零配置部署等功能,帮助开发者高效构建事件驱动的工作流,显著降低部署与运维成本,提升 AI 项目落地效率。
274 0
|
3月前
|
数据挖掘 项目管理 Python
如何开发项目管理系统中的项目启动板块?(附架构图+流程图+代码参考)
本文介绍了项目管理系统中“项目启动”板块的设计与实现,涵盖功能模块、业务流程、开发技巧及效果展示,并提供代码参考和常见问题解答,助力企业高效搭建项目管理平台。
|
3月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
323 0
|
3月前
|
缓存 Java 数据库
Java 项目分层架构实操指南及长尾关键词优化方案
本指南详解基于Spring Boot与Spring Cloud的Java微服务分层架构,以用户管理系统为例,涵盖技术选型、核心代码实现、服务治理及部署实践,助力掌握现代化Java企业级开发方案。
173 2
|
3月前
|
监控 前端开发 BI
如何开发项目管理系统中的项目收支板块?(附架构图+流程图+代码参考)
本文深入讲解项目管理系统中项目收支模块的设计与实现,涵盖预算、收入与支出管理,以及报表分析功能。内容包括模块功能概述、业务流程、开发技巧与实现方法,并提供数据库设计及前后端代码示例,助力企业打造高效的项目财务管控系统。
|
3月前
|
SQL 前端开发 项目管理
如何开发项目管理系统中的项目执行板块?(附架构图+流程图+代码参考)
随着企业项目规模扩大,传统管理方式已难以满足需求。本文介绍项目管理系统中“项目执行”板块的开发,涵盖任务管理、创建、验收及进度汇报等核心环节。通过功能设计、业务流程和开发技巧,结合代码示例,帮助企业高效推进项目执行,提升管理效率。
|
4月前
|
设计模式 开发者
一、HarmonyOS Next 开发者手册项目之项目架构设计
该项目是一个基于HarmonyOS Next的开发者学习手册应用,旨在帮助开发者系统学习HarmonyOS开发知识。项目采用分级学习方式,从基础到高级逐步深入讲解技术与实践案例。前四章重点介绍应用架构相关内容,助力快速掌握应用核心。 项目结构清晰,包含主入口、源代码目录、公共资源和工具等。页面导航分为多个阶段:萌新小白(基础入门)、登堂入室(进阶学习)、进阶高手(高级开发)。支持Markdown解析,使用`@luvi/lv-markdown-in`插件展示内容,并定义了多种数据结构以规范开发流程。 源码已开源,持续更新中
112 1
|
7月前
|
存储 数据采集 机器学习/深度学习
新闻聚合项目:多源异构数据的采集与存储架构
本文探讨了新闻聚合项目中数据采集的技术挑战与解决方案,指出单纯依赖抓取技术存在局限性。通过代理IP、Cookie和User-Agent的精细设置,可有效提高采集策略;但多源异构数据的清洗与存储同样关键,需结合智能化算法处理语义差异。正反方围绕技术手段的有效性和局限性展开讨论,最终强调综合运用代理技术与智能数据处理的重要性。未来,随着机器学习和自然语言处理的发展,新闻聚合将实现更高效的热点捕捉与信息传播。附带的代码示例展示了如何从多个中文新闻网站抓取数据并统计热点关键词。
304 2
新闻聚合项目:多源异构数据的采集与存储架构
|
8月前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
356 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战