1.什么是微服务 使用一套小服务来开发各个应用的方式,每个服务启动单独的进程,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署。 微服务是一种设计思想。 2.微服务的特点 单一职责:独立的业务单独放在一个项目里,比如订单服务作为一个项目。 轻量级的通信:http,rpc通信。 隔离性:每个服务相互隔离,不干扰 有自己的数据 技术多样性 3.微服务诞生的背景 互联网行业的快速发展,需求变化快,用户数量变化快。 敏捷开发深入人心,用最小的代码,做最快的迭代,频繁修改、测试、上线。 容器技术的成熟,是为服务的技术基础。 4.互联网架构演进之路 4.1单体架构 单体架构: 1.所有功能集成在一个项目中 2.项目整个打包,可以部署到服务器运行 3.应用于数据库可以分开部署,提高性能 优点: 1.小项目的首选,开发成本低,架构简单。 缺点: 1.项目复杂后,很难扩展和维护 2.扩展成本高,有瓶颈 3.技术栈受限制 4.2垂直架构 垂直架构: 1.对于单体架构的拆分,大项目拆成单个项目结构 2.存在数据冗余 3.项目之间要处理数据同步,通过数据库同步 优点: 1.小项目的首选,架构简单。 2.避免单体架构的无限扩大 3.技术不受限制 缺点: 1.很多功能放在一个工程中,有一定的瓶颈 2.系统性能扩展要通过集群节点扩展,成本较高 4.3SOA架构(面向服务的架构) SOA架构: 1