摘要:
test 阅读全文
摘要:
极客大学的架构师训练营课程结束,一共15周,信息量很大。下面是用思维导图对课程内容的总结。 第一周讲的架构方法 第二周, 框架设计 第三周,设计模式 第四周, 互联网系统架构 第五、六周,分布式系统技术 第七、八、九周,性能优化 第 十周微服务,第十一周安全稳定架构,第十二、十三周大数据 第十四周, 阅读全文
摘要:
PageRank算法是一种经典的网页排序算法,是谷歌的两位创始人佩奇 (Larry Page) 和布林 (Sergey Brin)提出的。他们借鉴了学术界评判学术论文重要性的通用方法, 就是论文的引用次数,来评判一个网页的重要性(给网页一个附加的PageRank值),然后据此来给网页排名。 阅读全文
摘要:
MapReduce是大数据分布式计算框架,是大数据技术的一个核心。它主要有两个函数,Map() 和 Reduce()。直接使用MapReduce的这两个函数编程有些困难,所以Facebook推出了Hive。Hive支持使用 SQL 语法来进行大数据计算,比如说你可以写个 Select 语句进行数据查询,然后 Hive 会把 SQL 语句转化成 MapReduce 的计算程序。这样,熟悉数据库的数据分析师和工程师便可以无门槛地使用大数据进行数据分析和处理了。 但与此同时,Hive也把大数据分布式计算框架的核心知识点隐藏了。本文通过一个例子来解析一个Hive例子,将其还原到MapReduce函数,来理解MapReduce的核心思想与方法。 阅读全文
摘要:
每个系统的可用性是不一样的。像我们平时使用的微信、淘宝、抖音,好像是一直可用,随时可用,但其实这并不是说它们就是100%一直可用的。而像其他一些小的网站或应用,经常会碰到系统宕机不可用。那么我们如何度量一个系统的可用性?系统不可用是怎么造成的?怎样才能提高系统的可用性? 阅读全文
摘要:
微服务架构到底是什么样的?从不同的背景、不同的角度出发,就会有不同的理解。本文作者从做桌面程序开发,然后直接跳到基于云的开发,对于基于PaSS(微软的Service Fabric)和Kubernetes的微服务开发有一些经验。然后作者在架构师训练营课程中又跟着老师走了一遍,怎么从大型单体架构的网站、大型分布式系统开发背景下演化到微服务架构。这个两个角度相互补充,可以更完善对微服务架构的一些认知。 阅读全文
摘要:
秒杀大家都很熟悉,它就是在某一时刻大量请求同时抢购某一商品并完成交易的过程。作为一个支持秒杀活动的系统,面临哪些挑战,又有什么对策呢? 阅读全文
摘要:
现在的软件或系统,性能都异常关键。无论任何软件或网站,都怕一个字“慢”。那么作为开发人员,如何变“慢”为“快”,如何做性能优化? 阅读全文
摘要:
有两个单向链表(链表长度分别为 m,n),这两个单向链表有可能在某个元素合并,也可能不合并,如下图所示的这样。现在给定两个链表的头指针,在不修改链表的情况下,如何快速地判断这两个链表是否合并? 阅读全文
摘要:
CAP是指一致性(consistency)、可用性(Availability)和分区容错(partition-tolerance)。那么CAP从何而来,具体是什么呢,又有什么用呢? 阅读全文