最近在读一些架构的文章,特别是分布式的。
感觉我们在解决高并发,访问慢的问题时,所用的解决思路还是沿用我们在平时生活中,社会上的一些思路、经验。
例如分布式架构、多入口,负载均衡等,这些概念与方法就跟去银行排队办事一样,首先是增开窗口,然后是多个网点,让人们选择最近的网点(CDN),再加上非阻塞,拿号相当于排队,不用人傻傻的站着排队,别的事都干不了,拿了号后你就可以去做其它事情 ,甚至是逛下街再回来凭号办事都可以。
这些措施无非都是为了怎样才能让人们更快、更方便的享受到服务,网站也是一样,使用了分布式架构,CDN这些东西也是为了让网站打开得更快,访问得更流畅。
我的思考时:虽然通过横向扩展是能解决一些性能问题,而且也是相当有效简单的方式。但我们也不能太过于依赖于这种方式,从而忽略了从源头上找问题,例如我们的程序能不能调得更优,我们的网络能不能更快,通信协议能不能更好。
我觉得横向与纵向的扩展应是同时进行的,这样才能达到技术上真正的进步。
这也对程序员提出了更高的要求,你写的东西是不是最优化了的,还是只是一堆不高效的东西。