码迷,mamicode.com
首页 > 其他好文 > 详细

不能因为为了添加一个新功能,影响到旧的功能

时间:2015-06-04 22:37:22      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

涉及到后台的, 一般都是要跟数据库打交道的大型数据量的处理问题。
以类 client - server 为基础的架构, 或者变形后的架构。

客户端处理用户的输入和数据, 
然后大量的客户端(多个客户端的多种数据) 反馈到服务端统一处理和协调, 然后服务端对客户端发出相应的指令。
其中 后台程序 代表的就是服务端的程序。 包含以下几点:
1. 网络通信,  要跟远程的client打交道,只能用网络
2. 并发 和 并行处理。0。。 多个客户端可能在同一时间同时需要处理同一个类型的数据, 谁先谁后,谁的有效谁的无效? 服务端的并发,同步显得非常重要。 同理,每个客户端外表看起来都是立刻接收到服务的,这需要并行化处理。
3. 数据库设计。 大量的数据,必须通过数据库进行管理。但是频繁的数据库写入会导致性能下降,所以要有合理的数据库设计,以及读写控制设计。  然后数据库的备份设计, 万一down掉了怎么办,只能用备份的。这一点在银行等电子商务的后台设计中是重中之重。 
4. 良好的扩展性的架构, 后台一直在变的, 因为客户端的需求一直是增加的, 不能因为为了添加一个新功能,影响到旧的功能。

 简要补充一下第二段吧:
1.特殊的算法。 速度,性能提升领域
2.用户行为的分析。 数据挖掘领域
3.容忍程序运行时的错误。 程序的健壮性, 软件工程领域
4.安全性,以及防备注入、溢出、攻击、窃取的能力。   信息安全领域

这4点  个单独拿出来都是难题, 每一个都有大学教授深入研究。。。
所以 先掌握第一段的内容吧。。。

另外补充一下 server的类型:
小型网站: windows Server 2003 足以
虚拟机: xen server
中性,大型站: 我觉得centOS 的安全性比较高。 当然 ubuntu server也行。 

我只用过上述这几种server,  当然我没有独立做过后台架构设计, 只是做过服务添加功能而已。但是阅读整体的server代码时,还是觉得他们封装很安全, 有感而发。  觉得这方面还是挺复杂的。

数据库一般小型,中性数据 mysql就好了。。 没用过大型数据库。

我们的后台开发是 java, c++混合的。 用java做逻辑层, c++的计算算法被封装起来, 给java调用。java读写数据库。
 

不能因为为了添加一个新功能,影响到旧的功能

标签:

原文地址:http://www.cnblogs.com/nbhhcty66/p/4553077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!