这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
架构如何而来
单机系统要对外服务,并部署在一台机器上,会遇到c10k问题,运维服务需要停止。
单体架构可以分布式部署,垂直应用架构将服务按功能垂直切分,缺点是开发效率不高。
SOA架构,service oriented architecture,将应用的不同功能单元抽象为服务。定义服务之间的通信标准。
微服务架构,SOA的去中心化演进方向。可能有数据一致性,高可用,治理,解耦等问题
企业级后端架构
云计算:是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。 虚拟化技术和编排方案是基础。IaaS,买房子和租赁平台。PaaS清包和全包。SaaS,从零培训和雇佣培训师傅。FaaS,纯手工制作和弹道及批量生产
云原生:云原先技术为组织在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。弹性资源的虚拟化容器以及快速扩缩容;微服务架构的业务单元解耦以及统一的通信标准;Devops的敏捷开发和cicd;服务网格的业务与治理解构,异构系统的治理统一化,复杂治理能力
挑战
基础设施层面上物理资源是有限的,比如机器和带宽,资源利用率受制于服务 用户层面网络通信开销;网络抖动导致运维成本提高;异构环境下不同实例资源水位不均
解决
希望能够降低物理成本,提供更多的弹性资源,增加收入;可以使用离在线资源并池;对于在线业务,主要是IO密集型为主,有潮汐性和实时性;离线业务的特点是计算密集型占多数,非实时性。 自动扩缩容利用在线业务潮汐性自动扩缩容。使用微服务亲和性部署,将满足亲和性条件的容器调度到一台宿主机,微服务中间件与服务网格通过共享内存通信。服务网格控制面实施灵活、动态的流量调度。
基于微服务中间件&服务网格的流量治理
使用cpu水位负载均衡解决异构环境算力差异,IaaS提高资源探针,服务网格动态负载均衡