【课程笔记】华为 HCIP-Cloud Service Solutions Architect 云服务08:云原生应用架构
第一代:单体架构(紧耦合),动一发而牵全身第二代:SOA架构(松耦合),通过ESB总线进行系统集成第三代:微服务架构(解耦),DevOps(CI/CD,全自动化)软件架构风格,把各功能划分成各区块,且各区块通过API相互通信,应用程序是由一个或多个微服务组成(1)服务治理能力内嵌在业务代码中,典型技术:SOA、ESB(2)服务治理能力抽象到统一SDK实现,典型技术:Spring Cloud(3)服
云原生应用架构
作者系HCIE-Cloud Service Solutions Architect No.28901,现于本平台分享学习云服务时的笔记,期望能助力更多人了解云服务并考取相关证书。当然,笔记中难免存在错误,还望大家不吝指正,感谢!
目录
六、华为云原生应用的解决方案—应用管理与运维平台ServiceStage
一、云原生应用与微服务介绍
1. 架构演进
第一代:单体架构(紧耦合),动一发而牵全身
第二代:SOA架构(松耦合),通过ESB总线进行系统集成
第三代:微服务架构(解耦),DevOps(CI/CD,全自动化)
2. 单体架构
单体式应用:一般是指单层的应用程序,其用户界面和数据访问等内容,整合在单一系统平台上的某个程序里。单体式应用程序可以独立运作,此应用程序要完成指定功能所需要的所有步骤
3. SOA架构
面向服务架构,是一个组件模型
SOA架构引入ESB企业服务总线集成(由中间件基础设施实现):
(1)主要功能
①监控及路由消息通信传输
②控制服务版本与部署
③监控通信质量及故障修复
④事件处理
(2)缺点:系统扩大时,系统间调用增加,ESB的服务接入压力增大
4. 微服务介绍
软件架构风格,把各功能划分成各区块,且各区块通过API相互通信,应用程序是由一个或多个微服务组成
5. 微服务架构
(1)微服务架构是一种架构模式,将单体应用划分一组小的服务,通过服务之间相互写作,共同实现系统功能
(2)每个服务运行在其独立的进程中,服务间采用轻量级的通信机制协作(通常基于Restful API)
(3)每个服务都围绕着具体业务进行构建,由独立的小团队负责设计、开发、测试,并可以独立部署到生产环境
微服务架构优势:
①松耦合去中心化
②独立迭代
③独立部署和扩展
④孤立容错
⑤分布式开发
二、云原生应用的主流框架
1. 架构发展演变简介
(1)服务治理能力内嵌在业务代码中,典型技术:SOA、ESB
(2)服务治理能力抽象到统一SDK实现,典型技术:Spring Cloud
(3)服务治理能力归一到服务网格
2. Spring Cloud简介
是基于Spring Boot(简化创建产品级的Spring应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能)的一套实现服务的框架
Spring Cloud是一种软件架构,以区块为基础,利用模块化方式组合出复杂的大型应用程序,各功能区块用API相互通信
3. Service Mesh特点
是一个处理服务通讯的专门的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传递。在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,对应用服务透明
特点:
(1)应用程序间通信的中间层
(2)轻量级网络代理
(3)应用程序无感知
(4)解耦应用程序的重试/超时、监控、追踪和服务发现
4. Service Mesh架构
Service Mesh中SideCar(代理)将分布式服务的通信抽象为单独一层
5. ServiceComb
Apache ServiceComb:提供融合开源生态的一站式微服务解决方案
6. Istio介绍
是一个提供连接、保护、控制以及观测功能的开放平台,通过提供完整的非侵入式的微服务治理解决方案,能够很好的解决云原生服务的管理、网络连接以及安全管理等服务网络治理问题
Istio+Kubernetes解决方案:
三、华为云原生应用的解决方案—应用服务网格ASM
1. 应用服务网格ASM
是一种高性能、高可靠性和易用性的全托管的服务网格,支持虚拟机、容器等多种基础设施,支持跨区域多集群服务的统一治理
ASM控制面和数据面均和开源Istio完全兼容,无缝对接华为云的企业级Kubernetes集群服务云容器引擎CCE
2. ASM解决的主要问题
提供完整的非侵入式的微服务治理解决方案
(1)连接
(2)安全
(3)控制:下发并执行流量控制策略
(4)遥测
3. ASM适用场景
(1)服务流量管理
(2)服务运行监控
(3)服务灰度发布
四、华为云原生应用的解决方案—应用中间件介绍
1. 分布式消息服务DMS
适用于解决分布式架构中的系统解耦、跨系统跨地域数据流通、分布式事务协调等难题,协助构建优雅的现代化应用架构,提供可兼容Kafka/RabbitMQ/RockerMQ开源系统的云服务
典型应用场景:
(1)分布式服务异步解耦
(2)削峰填谷
(3)分布式事务协调
(4)平台监控、日志、活动分析
(5)IoT物联网消息
2. 分布式消息服务Kafka
一款基于开源社区版Kafka提供消息队列服务,处理中间件。在日志收集、流式数据传输、在线/离线系统分析、实时监控等领域有广泛应用
3. 分布式消息服务RabbitMQ
完全兼容开源RabbitMQ,为用户提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,应用于秒杀、流控、系统解耦场景(消息队列:支持优先级队列)
4. 分布式消息服务RocketMQ
一个低时延、弹性高可靠、高吞吐、动态扩展、便捷多样的消息中间件服务。兼容开源RocketMQ客户端,提供顺序、延迟、定时、重投、死信、事务消息、会话消息等功能,可以更好适配电商、金融场景
5. 微服务引擎CSE
用于微服务应用的云中间件,提供注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力。无缝兼容Spring Cloud、ServiceComb等开源生态(提供一站式管理平台)
适用场景:适用CSE托管Spring Cloud应用
6. API网关
是为企业开发者及合作伙伴提供高性能、高可用、高安全的API托管服务,帮助企业轻松构建、管理和部署不同规模的API(API网关使用RESTful API,标准化API接口)
五、华为云原生应用的解决方案—软件开发平台DevCloud
1. 软件开发平台DevCloud的介绍
软件开发平台DevCloud是面向开发者提供的一站式云端DevSecOps平台,从需求下发到代码提交与构建、测试与验证、部署与运维,打通软件交付的完整路径,提供软件研发托管运维端到端支持
DevSecOps是“开发、安全与运维”的缩写。使用华为云DevCloud内置CI/CD能力,持续交付价值
2. CI/CD全流程实现
CI:持续集成
CD:持续交付或持续部署
3. 项目管理能力
包含多项管理、敏捷Scrum(开发)、精益看板、需求管理、缺陷跟踪、文档托管、统计分析等功能
4. 代码托管能力
(1)自研代码托管服务,并对Git内核进行大量扩展和加固,松耦合架构,解决大规模开发活动下的性能以及容量问题
(2)确保核心代码安全、可信、防篡改
(3)支持各种语言代码文档的存储,支持将私有仓库公开为模板供其他用户使用
5. 代码检查服务和编译构建
以数据驱动为基础,提供开箱即用、开发流程融合、高扩展的自主代码检查平台
6. 自动化部署和发布服务
六、华为云原生应用的解决方案—应用管理与运维平台ServiceStage
1. 应用管理与运维平台ServiceStage的介绍
一站式应用管理与运维平台,提供应用发布、部署、监控与运维等一站式解决方案
支持Java、Go、PHP、Node.js、Python、Docker等运行环境
支持Web应用以及Apache ServiceComb、Spring Cloud、Dubbo、Mesher服务网格等微服务应用和通用应用
2. 主要功能
①应用管理
②微服务应用接入
③应用运维
更多推荐
所有评论(0)