随笔分类 -  网站架构

记录网站架构方面技术方案
摘要:谈谈后端业务系统的微服务化改造本文所提倡的微服务,是结合作者所在team自身业务特点来说的,适合自身的场景,是建立在团队人员素质到了,有成熟的基础设施和框架、中间件辅助,流程也规范,包括CI、敏捷等,团队都做好了准确去做这个转变,有足够的能力来实施,微服务化也就是水到渠成的事了。相反,小团队在前期或 阅读全文
posted @ 2017-09-23 18:41 王滔 阅读(343) 评论(0) 推荐(0) 编辑
摘要:刚才看到文章这个看法很有同感,以前也没有深刻理解到可维护性的重要性。在现在的公司呆了一年半,才明白。因为现在的公司用户量大,团队开发人员多,遇到很多难以维护的代码,花费人员沟通成本,延缓功能的开发进度,去填补遇到的坑..... http://www.cnblogs.com/freeflying/p/ 阅读全文
posted @ 2015-09-15 11:51 王滔 阅读(925) 评论(0) 推荐(1) 编辑
摘要:不使用单一入口的框架开发,代码和目录的数量越来越臃肿,项目维护成本很高没有反面例子来做借鉴,人的大脑不以为然。下面的截图就是一个中型项目后来变成的目录结构,项目的代码越来越乱,开发人员不愿意去维护这个系统的代码,因为去找代码进行修改,变得很痛苦,代码混乱,目录很众多,找代码会看花眼。是一套典型是基于... 阅读全文
posted @ 2015-09-02 18:22 王滔 阅读(1333) 评论(0) 推荐(0) 编辑
摘要:常见的坑有两个:一、获取的是内网的ip地址。在nginx作为反向代理层的架构中,转发请求到php,java等应用容器上。结果php获取的是nginx代理服务器的ip,表现为一个内网的地址。php获取REMOTE_ADDR就是这样一个情况(内网地址)。二、获取的是攻击者伪造的ip地址。攻击者可以随便伪... 阅读全文
posted @ 2015-06-17 11:39 王滔 阅读(8513) 评论(1) 推荐(0) 编辑
摘要:/** * * 检查手机号码是否可用 * @param $cellphone 手机号码 */ public function checkPhone($cellphone) { $cellphone = trim($cellphone); if (InputCheck::CheckCellphone... 阅读全文
posted @ 2015-06-15 18:30 王滔 阅读(563) 评论(0) 推荐(0) 编辑
摘要:http://oauth.net/2/ 协议的原文。原来是1.0版本,现在是2.0版本了https://ruby-china.org/topics/15396https://blog.yorkxin.org/posts/2013/09/30/oauth2-1-introduction/通俗解释:ht... 阅读全文
posted @ 2015-06-07 17:44 王滔 阅读(2940) 评论(0) 推荐(0) 编辑
摘要:、系统之间耦合:用异步处理代替同步处理针对系统异常,提供降级处理,提供有限的合格服务。前端页面系统,php,使用优化器来优化php代码。将系统进行分级,按照重要性:一级系统:因为是强依赖关系,所以要同步调用,重试机制。二级系统,异步调用。系统拆分后,单独改造系统,优化系统容易。相互隔离,调试和排错... 阅读全文
posted @ 2015-04-21 00:08 王滔 阅读(368) 评论(0) 推荐(0) 编辑
摘要:资料来源:http://www.huxiu.com/article/106199/1.html?f=xianguo这个尚德教育机构的创始人,虽然不是做技术的,不过说话还真到点:我们发现,传统网校的业务人员不能用,他们的技术人员也不能用。很多网校的技术架构可以用垃圾来形容。在这一年里面,我们用了两个团... 阅读全文
posted @ 2015-01-14 12:50 王滔 阅读(837) 评论(0) 推荐(0) 编辑
摘要:要点如下:目前23台pc server每天pv数2k万左右。注册用户数300万。表的数据,大部分是行数量是千万的。5个人算法团队。另外开发人员总共11个,包括全职和兼职(以前看百姓网分享其技术也只有10名)06年的时候每天120万左右动态请求。这个时候主要瓶颈在磁盘i/0上面,拿到风投,有钱购买硬件 阅读全文
posted @ 2013-12-21 14:38 王滔 阅读(2154) 评论(0) 推荐(1) 编辑
摘要:网站如果有很多用户上传图片(相册,商品图片),一般的做法是将用户图片保存在磁盘上面(数据库中记录图片的地址)。用户上传的时候按照原图、中图、小图等各个尺寸都生成一份保存在磁盘上。比如php的网店系统echsop就是这么做的,而shopex之类也大同小异。这种做法也不是不可以。多生成几个尺寸,在磁盘上... 阅读全文
posted @ 2013-12-18 21:39 王滔 阅读(6380) 评论(2) 推荐(0) 编辑
摘要:http://v.youku.com/v_show/id_XMzc4OTA4MDky.html 58使用mongdbhttp://v.youku.com/v_show/id_XMzM4MDYwNTQw.html 赶集网。http://v.youku.com/v_show/id_XMzQxNDk1MDYw.html 去哪儿网搜索只有最适合的。没有最好的。预算是1万个并发。假设当时来了10万个并发,导致网站打不开。怎么应对:做一些队列。路由算法。存储领域做到扩展。存储领域难的问题是扩展方面。水平,均匀的分散到多个节点上去。节点冗余的必要性,容灾。58:mysql在使用,mongdb也在使用。帖子( 阅读全文
posted @ 2013-12-15 13:07 王滔 阅读(770) 评论(0) 推荐(0) 编辑
摘要:本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用。而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php、java等就是调用存储过程"。业务逻辑,通俗说就是:比如要取数据的操作,取出会员编号为x的数据,原来我们一般是封装成函数,或者直接编写sql语句查询。现... 阅读全文
posted @ 2013-12-15 13:06 王滔 阅读(7963) 评论(4) 推荐(4) 编辑
摘要:商品图片,用户上传的头像,其他方面的图片。目前业界存储图片有两种做法: 1、 把图片直接以二进制形式存储在数据库中 一般数据库提供一个二进制字段来存储二进制数据。比如mysql中有个blob字段。oracle数据库中是blob或bfile类型 2、 图片存储在磁盘上,数据库字段中保存的是图片的路径。 阅读全文
posted @ 2013-11-24 22:00 王滔 阅读(99138) 评论(13) 推荐(31) 编辑
摘要:session的存储了解以前是怎么做的,搞清楚了来龙去脉,才会明白进行共享背后的思想和出发点。我喜欢按照这样的方式来问(或者去搞清楚):为什么要session要进行共享,不共享会什么问题呢? php中session的原理,以前做了一下总结,可以参考:http://www.cnblogs.com/wa 阅读全文
posted @ 2013-10-29 22:33 王滔 阅读(56410) 评论(12) 推荐(12) 编辑
摘要:以前,看一些资料,比如一个公司选择什么类型的数据库系统,是mysql还是postgrelsql,mongdb等,不仅仅是看符合自己需求。而一个关键点也是非常重要的:持续的技术支持。如果php后面没有成立官方公司来运作,相信不会有多少公司愿意继续采纳。由于拥有了官方公司作为技术支持,以后遇到bug,一些新的问题,都可以让他们提供技术方案,他们会不断的升级。我觉得mysql也是这样子,大家选择它,有官方技术支持。而有些技术,没有成立官方公司来运作,你都无法确定你用了它后,指不定哪天就不开发了。而且如果公司很小,哪天就倒闭了,就没法提供技术支持了。你用他们的东西,出现一些莫名其妙的问题,根本不知道找 阅读全文
posted @ 2013-10-14 01:04 王滔 阅读(840) 评论(0) 推荐(0) 编辑
摘要:好的程序员做不出好的软件设计本文由“外刊IT评论”网(http://www.aqee.net/)荣誉出品你不能看到一个程序员还不错,就把他推到系统分析师、软件设计师或软件架构师的位置上。如果你在团队或公司里寻找一个能胜任软件架构师或设计师这样重要位置的人时,首先出现在脑子里的想法通常是在程序员中选一个最好的。别这么干。这样的位置不是随意的找个不错的程序员就能胜任的。把你最资深的程序员晋升到这个位置也未必就合适。乍一听你可能感觉荒诞。为什么我不能让一个程序员去做系统设计呢?毕竟,他们是设计程序的,不是吗?的确是的,没错。但你要明白的事情是,设计软件相对于编写程序,它需要的是一套完全不同的技能。让 阅读全文
posted @ 2013-08-07 14:04 王滔 阅读(27742) 评论(0) 推荐(1) 编辑