前期做应用不特别复杂的网站,要注意以下几点
2021-01-04 16:38:58 阅读(171) 评论(0)
作为一名技术从业者,经过十年的访问,我发现一些知识需要在世界各地阅读才能整理出线索。让我们从一开始就一步一步地谈谈系统点。一个每天访问数千个小网站到每天访问100万或200万个小网站,我们如何才能让它顺利度过这个阶段,不要在技术上有先天性的不足,写给一些技术人员和不懂技术的企业家。了解互联网的人都有自己的想法,有些人把想法付诸实践,做一个网站,然后开始运营。事实上,从纯网站技术的角度来看,由于开源模式的发展,建立一个小网站既简单又便宜。当访问量达到一定数量级时,成本开始飙升,问题开始出现。由于带宽的增加、硬件的扩展和人员扩张带来的成本增加是显而易见的,相当大一部分成本是由代码重构、架构重构甚至底层开发语言更换引起的。最糟糕的是数据丢失。经过几年的努力,他们一夜之间回到了创业之前。降低成本就是增加利润。很多事情,我们一开始就可以避免,先打好基础,以后可以节省很多精力,少操很多心。假设你是一个参与创业的技术人员,目前你很穷,你必须自己做一切,自己付钱。在早期阶段,你必须制作一个应用程序不是特别复杂的网站,所以你应该注意以下几点:首先,一般来说,技术人员(程序员)创业是根据自己的技术背景选择最熟悉的语言,但考虑到你不可能一个人写程序,你必须仔细考虑。无论使用什么语言,最终代码的质量都取决于管理,所以我们仍然从纯语言层面更加实用。java现在很流行、php、.net、python、ruby有自己的优缺点,python和ruby,现在人员招聘还是比较困难的,性能优化会费很大的力气,.net平台买不起windowserver。java、最常用的php。在早期阶段,几乎所有的应用程序都依赖于前端支持的网站。php具有入门简单、设计模式简单、写作快、性能充足等优点。然而,不注意设计模式也是其缺点,容易变得松散,隐藏更多的错误,难以维护。java的优点是有许多成熟的工具来帮助整个管理过程,强大的类型也可以避免一些弱智的bug。大多数java程序员更注重设计模式,而不管它是否实际,代码格式看起来仍然很好。这也是一个缺点,初学者可能过于注重模式,难以解决实际需求。前端不仅仅是html、css之类的。与用户互动的整个部分是前端,包括处理程序。建议使用这类程序的主要原因是开发迅速,员工广泛。至于行为分析、银行接口、异步信息处理等后端,只能根据不同的业务需求选择不同的语言。二、代码版本管理如果开发人员之间的网络速度相似,SVN;比较分散,比如跨国,hg。大多数人还是svn。假设选择了svn,有几个考虑因素。一是采用什么树结构。前期可能只有一个主干,以后需要建立一个分支,比如一个开发分支,一个在线分支,然后每个小组可能需要一个分支。建议在开始时选择两个分支,开发和在线。每个功能在当地测试正确后提交到开发分支,最后统一测试,可以合并到在线分支。如果你喜欢使用svn作为移动硬盘,写一点也没关系,也就是说,当合并更大时,这些人可以建立自己的分支,甚至建立一个本地代码仓库,随意提交自己的分支,然后在测试后提交到开发分支。部署,可手动部署,也可自动部署。手工部署比较简单,一般是直接在服务器上svnupdate,或者找新目录svncheckout,然后把webroot给ln-s。应用程序越复杂,部署就越复杂,没有统一的标准,只要不使用ftp上传的形式,一个是上传文件引用不一致错误率增加,另一个是开发人员的版本很容易与在线版本不一致,导致想要改变错误的单词成为一个回滚杯。若有多台服务器仍建议自动部署,更换代码的机器将从当前服务池中临时撤出,更新后再重新加入。无论项目有多小,养成使用版本管理的好习惯至少可以作为你的备份,我的http://zhiyi.us虽然是wordpress,但还是svn,只改一两句css也是劳动成果。三、服务器硬件不要羡慕大客户和有钱人,看看机房散户区,一台服务器孤独支撑的网站数不胜数。若资金稍有充足,建议至少三台标准配置,分别用于web处理、数据库、备份。web服务器至少需要8G内存,双sataraid1。如果经济稍微宽松一点,或者有更多的静态文件或图片,15ksasraid1 0。数据库至少有16G内存,15ksasraid1 0。备份服务器最好与数据库服务器配置相同。硬件可以自己购买品牌底板,即机箱配备主板和硬盘盒,CPU内存硬盘配备自己,也可以在整个品牌或兼容机上使用。三台机器,市场情况6台、7万也就配齐了。网络服务器可以运行程序和内存缓存,数据库服务器只运行主数据库(如果是MySQL),备份服务器工作相对较多,网络配置、缓存配置、数据库配置与前两个一致,所以网络和数据库任何问题,备份服务器更改ip切换。备份策略可以是drbd、rsync或许多其他开源备份方案。rsync是最简单的,放在cron里自己跑就行了。备份和切换,建议做更多的测试,选择最安全、最适合业务的,并尽可能多地备份。4、尽量不要选择三种机房:联通访问特别慢的电信机房、电信访问特别慢的联通机房、电信联通访问特别慢的移动或铁通机房。那网通机房呢?亲爱的,网通联通N久前合并改名为联通。多寻找,实地考察,多测试,多探索,北京、上海、广州等主要节点城市,或有很多高质量的机房,找到网络质量好,严格的机房管理,特别是严格的管理,不要访问网站,打电话过去知道别人维护你的网络电缆,这比DOS头疼。自己拉几根光纤叫机房,看你的抗风险程度和心理素质。机房可以说是非常重要的,直接关系到网站的访问速度,网站的访问速度直接关系到用户体验。我可以翻墙看风景,但是很难买到网络游戏vpn来打开你这个不太知名的网站。也许你的网站ajax很出色,但document怎么也不ready,有些代码总是与用户绝缘。五、架构初始架构一般比较简单,web负载平衡 数据库主从 缓存 分布式存储 队列。总的来说,就这些东西而言,无数的文章已经重复了细节。根据未来的情况,会有N多WEB、N多主从关系、N多缓存、N多xxx设计。基本方案是现成的,但您比其他人更强大的是,考虑到缓存故障时的雪崩效应、同步数据的一致性和时差、队列的稳定性和失败后的重试策略、文件存储的效率和备份方法。缓存总有一天会失效,数据库复制总有一天会断裂,队列总有一天会写不进去,电源总有一天会烧坏。缓存总有一天会失败,数据库复制总有一天会断裂,队列总有一天会写不进去,电源总有一天会烧坏。根据墨菲定律,网站迟早会成为茶几。六、Linux服务器软件、nginx、php、mysql,除了名字,我们还必须选择版本。Linux有很多发行版本。只要没有特殊要求,就可以选择人数最多、社区最活跃、配置最方便、软件包最完整、最新的,比如debian。、ubuntu。至于RHEL,你使用只能在RHEL上运行的软件吗?剩下的nginx、php、mysql、activemq、其他的等等,除非你改变了这些软件或你的程序,否则尽量更新版本,新版本,意味着新特性、漏洞和性能的增加。道听途说的人总是告诉你,旧版本是稳定的。与特殊业务相比,所谓的稳定性,大多数人没有改变任何服务器软件源代码,绝大多数情况下可以顺利升级到新版本。类似jdk5到jdk6,python2到python3等变化较大的升级还是比较少见的。看看changelog,看看升级说明,根据自己的情况进行评估。升级越早越好。其他家庭使用php6编写程序,并参观php4。优秀的开源程序升级还是很负责任的,看好文档,不要害怕。以上六点已经准备好了。现在我们有了运行环境、基本架构骨架、备份和切换方案,我们应该开始设计和开发。在发展方面有无数的事情,下一篇文章将首先讨论一些重点。七、数据库几乎所有的操作最终都会落在数据库上,而且最难扩展(存储也很难)。在开发之前,必须确定mysql,什么样的表用myisam,什么样的表用inodb。还应确定复制策略和分片策略。在表引擎方面,一般来说,更新不多、不需要事务的表可以使用myisam,需要线路锁定和事务支持的表可以使用innodb。myisam的锁表不一定是性能低下的根本原因,innodb也不一定都是行锁,具体细节要多看相关文档,熟悉引擎特性才能更好的使用。现代WEB的应用越来越复杂。我们经常设计很多冗余的表结构。虽然不符合传统范式,但值得考虑速度。如果要求较高,甚至应结束联合查询。编程时要多注意数据一致性。在复制策略方面,多主多最好从结构开始设计,代码直接根据多主多编写,使用一些技巧避免复制延迟问题,解决多数据库数据是否一致,可以自己编写或找到现成的操作和维护工具。分片策略。总有几个表数据量超大,此时分片是必然的。分片有很多策略,从简单的分区到根据热量自动调整,根据具体业务选择适合自己的。避免以自增ID为主键,不利于分片。存储过程很难扩展。这种情况主要发生在传统的C/S,特别是OA系统转换的开发人员。低成本网站不是一两台小型机器运行数据库处理所有业务的模式,而是机海作战。方便的水平扩展比预分析时间和网络传输流量要重要得多。NoSQL。这只是一个概念。在实际应用中,网站拥有越来越多的密集写作操作、数亿的简单关系数据读取、热准备等,这些都不是传统关系数据库擅长的,因此产生了许多非关系数据库,如redis/TC&TT/MongoDB/Memcachedb等,在测试中,这些都达到了每秒至少1万次的写作操作,内存类型甚至超过5万次。例如,MongoDB可以通过几句配置形成复制 自动分片 在failover的环境中,文档存储也简化了传统的设计库结构再开发模式。很多业务可以用这样的数据库代替mysql。八、缓存。数据库非常脆弱,前面必须有缓存,事实上,我们优化速度,几乎是优化缓存,可以使用缓存,不要跑到后端数据库。缓存有持久缓存和内存缓存。生成静态页面是最容易理解的持久缓存。还有很多,比如varnish的分块缓存、上面提到的memcachedb等。memcached首当其冲。被动更新和主动更新可用于缓存更新。被动更新的优点是设计简单。当缓存空时,它会自动去数据库取数据,然后填写缓存,但很容易引起雪崩效应。一旦缓存大面积失效,数据库的压力可能会急剧上升。主动缓存可以避免这一点,但可能会导致程序无法获取数据。如何配合这两者,程序设计要多动脑筋。九、队列。一个用户操作可能会导致一系列资源和功能的调动。如果同时发生这些调动,压力无法控制,用户体验也不好。这些操作可以放在队列中,由其他模块异步执行,如发送电子邮件和手机短信。开源队列服务器很多,性能要求不高。使用数据库作为队列也可以。只要程序读写队列的接口保持不变,底层队列服务就可以随时更换,类似于Zend_Queue类的Zendframework,java.util.Queue接口等。十、文件存储。除结构化数据外,我们还经常存储其他数据,如图片等。这类数据数量多,访问量大。典型的是图片,从用户头像到用户上传的照片,生成不同的缩略图尺寸。存储的分布几乎和数据库扩展一样困难。在不使用专业存储的情况下,基本上是靠自己的NAS。这涉及到结构。以图片存储为例。图片很容易产生热点。有些图片上传后就没人看了。有些图片可能每天访问数十万次,大量小文件的异步备份也需要时间。为了准备未来的图片,最好在一开始就把图片的域名分开,而不是主域名。很多网站都设置了cookie.domain.ltd,如果图片也在这个域名下,很可能会因为cookie而导致缓存失效,占用多余的流量,也可能会因为浏览器并发线程的限制而导致访问缓慢。有一个简单的方法可以用普通的文件系统存储图片。计算文件的hash值,如md5,以结果第一为第一级目录,因此第一级有16个目录。从0到F,这个字母可以作为域名,0.yourimg.com到f.yourimg.com(客户端dns压力会增加)
推荐阅读
- seo是什么意思 SEO是什么职位
其实在很多互联网从业者中有很多的一部分人是从事SEO职业的,但是有很多的外行人都不知道SEO是什么意思,下面小编就给大家来详细介绍一下seo是什么意思 SEO是什么职位这一块的内容,希望能帮助到大家。 seo是什么意思 SEO(…查看详情
- 视频怎么登记版权?收费按时长计算
说起版权,很多人第一时间想起的就是文字作品或者是图片作品,其实,对于可以适用于版权登记的作品类型不仅仅限于这两种,视频作品也是做版权登记的。那么视频怎么登记版权?需要哪些资料呢?图片来源于网络(1)按要求填写完整的作品登记证书申请表;(2)…查看详情
- 生存射击类游戏有哪些 2022生存射击类游戏排行榜
生存射击类游戏算是比较好玩的一类游戏,也是有很多的玩家玩这类游戏的,下面小编就给大家来详细介绍一下生存射击类游戏有哪些 2022生存射击类游戏排行榜这一块的相关内容,希望下面的游戏大家能喜欢, 2022生存射击类游戏排行榜 1、…查看详情
- 版权注册有什么用?维护权益、信誉认定、争取奖励
即使如今社会经济、互联网在飞速发展中,人们对知识产权的重视度越来越高,但在实际生活中仍然存在侵权的情况,但是若及时进行版权登记,受到法律保护,就能及时维护自己的著作权,因此很多人开始进行版权登记,那么究竟版权注册有什么用,一起来看看。图片来…查看详情
- 国际域名是什么 国际域名有哪些?
相信我们很多小伙伴都接触过域名,但是很多人对国际域名不是很熟悉,可能对这个概念也不是很清楚,下面万商云集小编给大家来详细介绍一下国际域名是什么 国际域名有哪些?,希望能帮助到大家理解到国际域名这一块的相关内容。 国际域名是什么 …查看详情
- guest账户是什么意思
电脑里Administrator和Guest的区别是什么?计算机上有两种类型的可用用户帐户:计算机管理员帐户和受限制帐户。在计算机上没有帐户的用户可以使用来宾帐户。■计算机管理员帐户计算机管理员帐户是专门为可以对计算机进行全系统更改、安装程…查看详情
- 开通小程序要钱吗
微信小程序申请需要费用吗? 分情况,如果小程序对应的公众服务号,已经认证,直接绑定就可以,不要收费。 如果只有一个小程序,并且要认证,也需要收费300 我的建议,就是先申请公众服务号,认证后再申请小程序绑定。因为小程序的推送机制比…查看详情
- 2021精品免费系统软件推荐
在今天,网络购物、网络交友越来越成为人们生活中必不可少的事情,随着互联网的发展,系统的需求量也越来越大,为了能更高效地解决问题,因此这里为大家盘点几款好用的免费系统供大家参考! 1.必牛免费CRM系统 客户分布,客户消费统计,客户来源,客户…查看详情
- 表情包版权登记有难度,未必都能有版权!
观前提醒,表情包版权登记的前提是表情包符合作品登记的要求!因为,表情包未必都有版权,需要在不侵犯他人权利的情况下,具有足够的独创性。所以,表情包版权登记申请还是具有一定难度的。图片来源于网络表情包是在社交软件活跃之后,形成的一种流行文化,表…查看详情
- 2021最新餐饮业收银系统软件排名软件评价
随着科技的发展,更多企业也为满足人们的日常生活需要而随之上市。但在生活中,人们往往是追求更便利的方式,今天我们来了解一下关于收银系统。小编在这为大家做了详细的软件排名及评价,有兴趣可了解。 美团收银。 隶属于美团公司旗下,专注于提供一体化的…查看详情
- 选购性能较好的汽车轮胎,可看以下汽车轮胎排名榜单
如果想要有一个舒心的驾车体验的话,那么汽车轮胎就相当重要。有一些汽车自带的轮胎质量不是很好,所以很多人都会在后备箱里放一个备用轮胎,那么如何选择一个性能好的轮胎呢?推荐汽车轮胎排名榜单。1、米其林米其林轮胎在中国拥有多家运营机构,因为科技技…查看详情
- 工商变更网上操作流程
一、前言 随着互联网技术的发展,越来越多的企业开始使用网络进行办公以及经营活动,工商变更业务也不例外。如今,企业可以通过在网上操作,实现工商变更,减少繁琐的手续和时间成本。本文将详细介绍工商变更网上操作的流程和注意事项。 二、流程 …查看详情
- 淘宝隐形降权的原因有哪些?
优质答案(1) 买家号降权一般是刷单导致的,买家给刷单的店铺被查了,违规订单里会有对应的买家账号,那么这些号再去刷单是会有较大的可能被查的,所以这些号就成了降权号。 提升销量平台排行榜可 淘宝如果认定买家的账号参与虚假交易了,那么…查看详情
- 电脑启动不了是什么原因
电脑无法正常启动相信很多人都遇到了这种情况,但是很多热对于电脑无法启动又不知道是什么原因造成的,下面万商云集小编给大家来详细介绍一下电脑启动不了是什么原因,希望能帮助到大家解决相关的问题。电脑启动不了是什么原因 1:电源问题:首先请排…查看详情
猜你喜欢
最新文章
扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121
关注微信公众号
和10万中小企业共同成长
扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有 蜀ICP备12001963号-2 川公网安备 51010402000322号
快速找产品
找一找哪款产品适合您?
咨询热线:400-0033-166
免费查找信息保护中请放心填写-
-
电话沟通
在线咨询
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达
关注万商云集
和10万中小企共成长
TOP
企业首选的数字选用平台