摘要: 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指执行当前 阅读全文
posted @ 2018-11-21 11:07 不止思考 阅读(5996) 评论(2) 推荐(6) 编辑
摘要: 最近特别忙,忙里偷闲还是抽空把网易云课堂大白老师的《即兴讲话,也能套公式》快速的学习了一遍,收获很大。 作为一名程序员,为啥要去学习这种教我们怎么讲话的课呢?就做一名安静的美男子好好敲代码难道不好吗! 这就是我今天想要跟大家聊的重点。 大家对我们程序员群体的普遍印象就是:「 内向」、「 呆板」、「 阅读全文
posted @ 2018-11-05 12:11 不止思考 阅读(1096) 评论(6) 推荐(5) 编辑
摘要: 在之前的文章中,我们知道数据库服务可能已经成为了很多系统的性能关键点,甚至是瓶颈了。也给大家介绍了数据库服务器从主备架构、到主从架构、再到主主架构的基础方案。但如果单台机器已经不能满足完整业务数据存储的时候,我们就需要考虑采用多机甚至多中心的部署方案了。 今天我们就再来聊一聊,在多机环境下,数据库集 阅读全文
posted @ 2018-09-30 12:34 不止思考 阅读(5810) 评论(0) 推荐(2) 编辑
摘要: 在互联网项目中,当业务规模越来越大,数据越来越多,随之而来的就是数据库压力会越来越大。慢慢就会发现,数据库层可能已经成为了整个系统的关键点和性能瓶颈了,因此实现数据层的高可用就成为了我们项目中经常要解决的问题。 本文我们就来聊一聊如何实现数据存储层的高可用方案。在保障数据层的高性能与高稳定方面,最容 阅读全文
posted @ 2018-09-27 19:03 不止思考 阅读(1953) 评论(3) 推荐(4) 编辑
摘要: 在计算机网络中,路由器的一个很重要责任就是要在端对端的节点中找出一条最佳路径出来,通过自己与相邻节点之间的信息,来计算出从自己位置到目的节点之间的最佳线路,这种算法我们可以理解为路由算法。 路由的模式又主要分为「静态路由」和「动态路由」。静态路由协议是由网络管理员手动输入配置的,适用于小型的不太复杂 阅读全文
posted @ 2018-09-21 10:24 不止思考 阅读(3617) 评论(0) 推荐(2) 编辑
摘要: 我们在遇到网络不通的情况,大家都知道去 ping 一下,看一下网络状况。那你知道「ping」命令后背的逻辑是什么吗?知道它是如何实现的吗? 一、「ping」命令的作用和原理? 简单来说,「ping」是用来探测本机与网络中另一主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建 阅读全文
posted @ 2018-09-13 12:49 不止思考 阅读(2158) 评论(2) 推荐(5) 编辑
摘要: 在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,其重要性不言而喻。 一、什么是负载均衡? 早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现 阅读全文
posted @ 2018-09-06 12:56 不止思考 阅读(1749) 评论(4) 推荐(6) 编辑
摘要: 刚刚,据说又有一名程序员在工作中由于过劳倒下了,这是在8月份发生的事情: http://tb-video.bdstatic.com/tieba-smallvideo-transcode/3062574_f3f4c62bf9fafcc04d9b6ee91bb54d05_0.mp4 事件发生之后,这个视 阅读全文
posted @ 2018-08-30 13:10 不止思考 阅读(7058) 评论(52) 推荐(20) 编辑
摘要: 大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题。 当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端处理,不能并发的执行,否者就会出现同一时刻有 阅读全文
posted @ 2018-08-24 11:59 不止思考 阅读(1828) 评论(0) 推荐(6) 编辑
摘要: 在互联网项目中,当业务规模越来越大,数据也越来越多,随之而来的就是数据库压力会越来越大。 我们可能会采取各种方式去优化,比如之前文章提到的缓存方案,SQL优化等等,除了这些方式以外,这里再分享几个针对数据库优化的常规手段:「数据读写分离」与「数据库Sharding」。这两点基本上是大中型互联网项目中 阅读全文
posted @ 2018-08-21 18:30 不止思考 阅读(1279) 评论(6) 推荐(4) 编辑