网站从一万到亿级流量的全景描述

2023-11-11 14:20

本文主要是介绍网站从一万到亿级流量的全景描述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

故事的开头

如果你一毕业参见工作就进入了大型互联网公司,那么恭喜你了,你将体验到大公司深厚的技术底蕴以及企业文化。
如果你进入到了一个初创的中小型企业,那么也恭喜你了,你将可能体会到从0到1的那种激情和完整的架构演变带来的惊喜。
经过漫漫长路,当你也成长为一名架构师,意气风发、金光闪闪的时候,让你操刀一家初创公司,你会怎么做呢?激情满满之下,你会怎么思考呢?
下面我以主视角带你来推演一下这个进程。

摆正角色

对于一家互联网初创公司来说,创始人的情况可能有几种。一是自己努力+幸运挣到了第一桶金,心中有梦,开始创业;二是赶上投资热潮期,加上自己教育背景好,聪明又情商高,心中有梦,开始创业;三是家庭助力良多,儿孙子侄出来闯荡,心中有梦,开始创业。
这就可以看到资本的重要性呀,心中想:我什么时候挣到自己的第一桶金呢?
不管怎么说,创始人是公司的灵魂,是基石。有了一个雏形之后,就需要找到共创大业的伙伴了,我以前和创始人有过小交流,他找到了我当技术负责人,梦想说了一堆,薪金也很有竞争力,我决定加入新公司。
经过长年的岗位磨练,我有这样的思考:技术是为业务服务,业务是为商业服务,商业是为创始人们...哦,不,为大众和世界人民服务。
那么带着这样的思考,第一步该怎么开始呢?

“天山”阶段

未来是不可测的,最好的方式就是先做然后看反馈,有了正反馈就继续投入资源;如果被现实教育,最好能调整方向。如果用户有这个需求,创始人也眼光独到,一般来说第一步都会是正反馈。只是看反馈的持久性和爆发性了。
经过和创始人的讨论,公司前期的投入会比较紧张,第一步是先把产品做起来。
人员紧张,时间紧张,想了想,分布式系统那一套还是先简化一下,只选择基础的技术栈,大家先干起来。
申请完域名之后,我选择的基础服务器配置如下:

  • 测试机:8核 64G 放在公司自己买的服务器
  • 正式机:16核 64G 使用云服务器

运维方面的选型大概是:Centos7+Nginx+Docker+Jenkins+云监控。Docker中运行MySQL、Redis、RabbitMQ、ElasticSearch。
后端和前端的技术选型大概是:Spring Cloud、Freemarker、Vue.js、HTML5。
我们会有自己的一个网站,还有自己的APP,所以也会有一个移动端的团队,分别选用Kotlin和Swift语言来开发。
这时候的团队有2个Java后端工程师、一个前端工程师、一个Android和一个IOS工程师,有一个产品经理和一个助理,2个UI设计师,加上我总共10个人。
经过两到三个月的奋战,我们做出了初版的产品,内部代号为“天山”,推广到市场。

“秦岭”阶段

由于精准的产品定位加上独特的营销手段,半个月后产品获得了50万的用户,两个月后猛增到300万用户,这时候的QPS为400左右。产品还是不停的迭代,这一大周期在内部代号“秦岭”。
用户的指数级增长对服务器的性能是很大的考验,运维团队对整体架构做出了调整。
300W用户,活跃值是20%,放在互联网公司中只能算是中等水平,这时候由于前期投入成本巨大,所以还没有盈利,不过已经接到几个VC的投资意向,老板正在洽谈。
对应的技术团队此时也开始扩充人员,原先的单体应用需要拆分成不同的业务模块,因为创立时期就上了微服务,拆分完业务模块,分了业务团队之后,微服务的东西也该扩展一下了。
此时在团队管理和架构管理上会有几条原则:

  • 每个团队不超过16个人,吃自己的狗粮,每个团队负责一块业务,按职责分工,不是按技能分工。这就要求每个人都是全栈
  • 所有团队的服务模块都要通过接口的形式提供出去,比如RESTFul
  • 团队的通信都要通过这些接口,除此之外没有其他的通信方式,其他通信方式一概不允许
  • 所有的服务接口都必须设计成是对外开放的,必须做好规划和设计,便于未来把接口开放给全世界程序员。比如用好服务网关和保证SLA
  • 所有成员必须深度参与业务,理解业务。团队间都用领域对象来沟通

我主要精力呢,也是放在招聘和团队管理上,两个月要组建3到4个团队,压力还是很大的。
提一下架构方面的变迁,缓存和数据库暂时用云服务商提供的IaaS基础服务,分布式缓存+分布式数据库来解决基础设施层访问压力的问题,服务层用到4台云服务器来支撑,应用层用到2台云服务器来支撑。因为网站是偏电商类,所以图片会非常多,这时需要分布式存储系统和CDN等基础服务,也暂时用云服务商提供的IaaS服务。
随着服务的变多,调用关系开始变得复杂,没有一张全局鸟瞰图和链路追踪,出现问题的时候会变得非常麻烦。微服务的自动化运维此时显得非常重要,开始着手做这方面的工作。

“太行”阶段

“秦岭”上线半年后,业务突飞猛进,已经有了2000万的用户,PV已经有一亿以上,QPS达到了30000以上。内部的业务模块变为了20个左右,比较核心的业务服务有:会员中心、支付中心、订单中心、评价中心、物流中心等。
公司进入到高速发展期,“秦岭”之后,内部项目代号为“太行”。
“太行”阶段,微服务已经提供给我们了灵活性和可拔插性,现在团队主要精力放在了系统的高可用和稳定性上,这就需要一套高效的自动化运维平台。经过半年的奋战,我们阶段性的完成了以下目标:

  • 应用整体全栈监控搭建完毕。从基础层的服务器到中间件层的监控,从应用层的各种数据收集到客户端的性能指标分析都一应俱全。有了全栈监控,有两层意义:一、解决线上问题变得快捷;二、为架构师提供了全景信息,更容易做出决策,比如服务器的增减
  • 服务调度系统搭建完毕。包括服务关键程度,服务依赖关系,服务发现,版本管理,服务生命周期管理等,有了这些,对服务进行查看变得清晰,管理变的方便且优雅
  • 流量调度系统搭建完毕。包括服务熔断、降级、保护等,也包括流量的控制、异地多活,还包括流量的管理,如协议转换等。流量调度的部分自动化构建了一个如水般丝滑的后台服务,灵活的配置体系大大提高了系统的稳定性和应急处理能力

“贺兰”阶段

“太行”阶段两年后,网站整体用户达到了2个亿,日活用户有4000万。这时的公司已经有了大量的现金,也开始考虑新的增长点,收购了不少其他创业公司来补充自己的短板。
此时公司的核心赢利点还是在电商业务,其他创新业务也百花齐放,有的甚至开始狂飙突进。
此时的我作为技术团队负责人,关注的点在于全局的技术战略了。主要的精力放在大数据、人工智能、人机交互、物联网的思考上,同时怎么样招揽到顶级人才,怎么样从工程到科学,怎么样用技术来改变世界也会成为日常工作和思考的一部分。

总结

纵观网站从0到1,起步阶段以业务为主,发展阶段以基础设施建设为主,高峰期以大型工程构建为主,L型新常态下,以整理旧世界并探索新世界为主。
每个阶段都有大量的东西需要学习,每个阶段也都要突破自己,真是漫漫长路,江湖路远,也唯有不断精进,才能hold住局面。


好了,以上我们一起体验了一把从初级架构师到CTO的神奇旅程,不知道你对此有什么思考或建议呢,欢迎讨论!

文中的内容参考了大神们的智慧,罗列如下:

  • 大型网站技术架构
  • 明眸善睐系列--企业IT架构转型之道:阿里巴巴中台战略思想与架构实战
  • 大型网站系统与Java中间件开发实践
  • 左耳听风 洞悉技术的本质(强烈推荐,干货满满,构建分布式系统基础设施的思路来自于这个专栏)
  • 阿里巴巴CTO张建锋在2017云栖大会上的演讲

转载于:https://my.oschina.net/lizaizhong/blog/1856904

这篇关于网站从一万到亿级流量的全景描述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/390671

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re