近日在看《码农翻身》和《码农翻身2》,被书中的故事吸引了,但这背后,也蕴含了很多计算机思想,尝试总结一下。
- 所有计算机问题都可以通过增加一个中间层来解决。 这句话最早是在分布式课程上听笔者的导师讲到的,当时的理解就是增加一层可以更有效的进行功能划分,方便迭代。在阅读本书的过程中,作者也多次提到这一思想,将其放到业务逻辑中去阐述。例如,为了统一接口的JDBC,用于负载均衡的网关等等,这些中间层的作用不一,但都有一些公共特征,例如为了分离功能,避免单一节点负载过高;或者为了统一标准,通过中间层将中间层及以下内容下放到各厂商。
- 经常思考单点失效问题。 在业务场景中,单点失效是不可避免且严重的,这对于未接触过业务代码的笔者来说,是没有养成的思维,但是在业务中,单点失效是未知且不可避免的,因此要多考虑此问题并通过增加冗余来解决。这也会进一步和负载均衡以及中间层结合。
- 网络是不安全的。 此问题是老生常谈,只是在web相关的问题中要经常考虑可能有冒充的情况。
- 任何时候都可能出现机器故障。