本课时会讲解分布式系统架构以及面试中做项目介绍的技巧,重点有如下三部分。
-
介绍系统架构的演进:包括微服务架构、云原生以及业界最新趋势 ServiceMesh。
-
讲解微服务的基础知识点:Docker 和 K8s。
-
面试技巧,教你如何更有效地做项目介绍。
系统架构演进
首先以演进的方式来了解不同的系统架构。
单体架构
最简单的系统架构是单体服务,如下图所示。
一个项目中的多个服务,混合部署在一个进程内,服务之间的交互都是通过进程内调用完成的,正如图中 Service 之间的红色箭头所示。这样做的好处是可以快速开发、部署服务,服务之间调用的性能也最好。
当然,这种架构缺点也非常多,比如:
-
随着业务的增长,项目越来越臃肿;
-
服务之间因为 JAR 包引用导致频繁的依赖冲突;
-
服务资源变更困难,因为一个服务可能被多个不同的业务引用,升级资源需要多个业务方同时升级&#