在大部分互联网公司中业务和技术是这样的关系,公司是业务驱动型的,技术是服务于业务的,在不同阶段技术承担着业务背后的守门员角色。
互联网系统系统发展到一定规模之后需要面对多个层面不同的压力,从资源压力到数据访问瓶颈都需要持续进行解决。
比如早期的互联网业务更多的是为了进行业务试错,所以通过单体系统实现一个MVP架构。随着业务落地之后用户规模的增加,会进入分布式阶段,通过大量无状态的服务水平扩展解决大用户量带来的压力。之后进入业务和数据高度丰富的阶段,这个解决需要解决的除了性能问题还有数据安全性和业务的可用性,一般通过异地多活的方式实现容灾。再之后是一系列的精细化运营,主要是降低平台成本,通过工具化自动化等方案实现降本增效。
对于互联网架构,一般需要解决的问题是高并发场景下的高性能,高可用,以及高扩展。
高性能的标准是低延迟,高可用的标准是几个9,高扩展的标准是开发成本低。
我们假借支付宝的发展看下在业务和数据发展到一定规模之后,互联网系统架构应如何设计。