问题驱动
智慧老师在直播课上多次强调了“抓住问题”的重要性,经过多次“轰击”,它终于引起我的重视,忽然想到,原来智慧老师是这么看待技术和问题之间的关系的。其实在此之前也在吴军老师那里听到过类似的说法,学习是为了解决问题的,盲目地为了学习而学习,只会让自己更加焦虑。
现在的学习资源太多了,而且还在不断地快速迭代,懂得过滤信息变得更为重要了。而通过问题驱动的方式,一来让我们回归解决问题的初衷,二来让我们在信息收集上有了方向,提高效率,同时通过问题联动,还能帮助我们构建起完整的知识体系。
性能优化
在我们做性能优化之前,我们需要先搞清楚系统的性能瓶颈在哪里,因此,我们需要先做性能测试。有了对性能瓶颈的认识,找到解决方案就容易多了。这里面有一个重要逻辑是:通过抓大放小(解决主要瓶颈),达到事半功倍的效果。
相反,缓存作为性能优化的一大利器,将缓存当成性能优化的银弹,在数据频繁更新的场景下,缓存达不到读优化不说,徒增系统写缓存的开销。
分布式技术栈
分布式涉及的技术那么多,如何才能将各个知识点串联起来并灵活运用是一个很大的挑战。
使用分布式是解决什么问题呢?主要是两个:
提高系统容量:通过集群技术,将高并发流量分摊到多台服务器上处理,提升系统整体容量;
提高系统可用性:通过分布式冗余系统,消除单点故障,从而提高系统可用性。
然而,分布式技术并不完美,在解决了上述问题的同时,也带来了其他一堆问题,比如:架构设计复杂性、运维也随着服务变多而变得复杂、令人头疼的数据一致性问题等等。
要学会分布式技术,就需要搞清楚其背后的各种问题,没有完美的技术,都是有得有失,都是一种 trade-off。
总结
问题驱动是一种高效的学习方式,时刻记住,技术是为解决问题而存在的。
版权声明: 本文为 InfoQ 作者【林昱榕】的原创文章。
原文链接:【http://xie.infoq.cn/article/eba2dd787a221457c231d92f3】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论