云原生架构

云的优缺

优点

  • 基础设施成本优化:通过云原生技术,可以减少对传统基础设施的投入,实现开发产品线的快速建设和灵活裁撤。
  • 运营效率提升:降低设备运营成本,缩短产品迭代周期,使产品扩缩更加便捷,提高整体运营效率。
  • 运维成本与效率:显著减少运维人力成本,通过高效的运维定位和故障排除,实现系统升级和降级的平滑过渡

缺点

  • 多租户支持与隔离:虽然支持多租户架构,但隔离性可能不够彻底,需要进一步优化。
  • 自主研发挑战:自主研发可能面临经验不足的问题,需要通过学习和实践积累经验。
  • 标准化程度:尚未形成完整的标准化流程,这可能影响产品的稳定性和可预测性

云原生

定义

云原生是一种构建和运行应用程序的方法,旨在充分利用云计算模型的优势。它支持应用程序的弹性扩展,由微服务架构、DevOps实践和以容器技术为代表的敏捷基础设施组成。

关键技术

  • 微服务架构:采用高内聚、低耦合的方式,实现服务间的有效交互。
  • 容器技术:作为微服务的理想载体,提供一种自包含的打包和部署方式。
  • 容器编排:解决微服务在生产环境中的部署和管理问题,确保服务的高可用性。
  • 服务网关:作为关键基础设施组件,负责服务间的通信和路由。
  • 不可变基础设施:提高发布效率,简化环境管理和快速扩展。
  • 声明式API:允许用户声明期望达到的状态,系统将自动调整以符合这一状态,与命令式API相比,减少了直接操作的复杂性。

常见API方式对比

  • 声明式API:用户可以指定期望的状态,系统自动实现状态转换。
  • 命令式API:用户直接发出命令,如启动容器、进入容器或删除容器等,需要用户管理操作的具体步骤

云原生关键技术

云原生关键技术包括:微服务,容器,容器编排,服务网络,不可变基础,声明式API。

微服务

应用程序构建为一组小型、独立的服务,每个服务实现特定的业务功能,并通过轻量级的通信机制(通常是HTTP RESTful API)进行交互服务与服务间通过“高内聚低耦合”的形式交互。

微服务典型架构包括:

  • 服务重构:单体改造成符合业务的微服务架构。

    • 目的:将传统的单体应用分解为一组更小、松散耦合的服务。
    • 方法:识别业务领域,根据业务能力对应用进行模块化。
    • 优势:提高了灵活性和可维护性,简化了部署和扩展过程。
  • 服务注册与发现:微服务模块间的服务生命周期管理。

    • 目的:管理微服务的生命周期,包括服务的注册、发现和注销。
    • 实现:使用服务注册中心(如Consul, Eureka)来维护服务实例的列表。
    • 功能:服务实例在启动时向注册中心注册自己,在停止时注销。
  • 服务网关:身份认证、路由服务、限流防刷、日志统计。

    • 身份认证:验证服务请求者的身份。
    • 路由服务:将请求路由到正确的服务实例。
    • 限流防刷:控制访问频率,防止服务过载。
    • 日志统计:收集和分析服务请求的日志数据。
  • 服务通信:通信技术方案如,RPC vs REST vs 异步消息。

    • RPC(Remote Procedure Call):远程过程调用,如gRPC。
    • REST(Representational State Transfer):基于HTTP的方法,如GET、POST。
    • 异步消息:使用消息队列(如RabbitMQ, Kafka)进行服务间的异步通信。
  • 可靠性:服务优雅降级,容灾,熔断,多副本。

    • 服务优雅降级:当服务部分失败时,系统能够继续运行,提供部分功能。
    • 容灾:系统能够在部分组件失败的情况下继续运行,保证服务的可用性。
    • 熔断:在服务间调用失败时,防止连锁反应,快速失败以保护系统稳定。
    • 多副本:运行多个服务实例,提高服务的可用性和容错能力。

    容器

    打包应用的方式,将应用中的所有软件和软件所依赖的环境打包,实现跨平台部署

    容器关键技术:namespace视图隔离、Cgroups资源隔离 Union File System联合文件系统

    容器编排

    自动化管理和协调容器的系统,专注于容器的生命周期和调度

    核心功能

    容器调度,根据策略将容器与节点绑定

    资源管理 CPU MEM Ports Device

    服务管理 负载均衡 健康检测

    服务网格

    服务网格是一种微服务间通信的基础设施层技术,它将通信逻辑从应用层解耦出来,实现网络通信的抽象化管理。服务网格的实现通常依赖于一组轻量级的网络代理,即Sidecar代理,它们与应用程序代码紧密部署,对应用透明无感知。

    Service Mesh 特点:

    • 通信中间层:作为应用程序间通信的中间层,管理服务间的交互。
    • 透明代理:轻量级网络代理,对应用程序完全无感知,不侵入业务逻辑。
    • 功能解耦:将重试、监控、追踪和服务发现等功能从应用中解耦,由服务网格统一处理。

    不可变基础设施

    不可变基础设施是一种部署哲学,其核心在于一旦系统部署,不再对其做任何更改。任何必要的更新或修改都通过部署新的基础设施来实现,从而保证了部署的一致性和可重复性。

    声明式API

    声明式API允许用户定义期望达到的状态,系统将自动调整以符合这一状态。这种方式简化了操作复杂性,因为用户只需关心最终状态,而无需管理中间过程。

    DevOps

    DevOps是开发(Development)和运维(Operation)的结合,它通过一系列实践和工具,促进开发、技术运营和质量保障部门之间的协作与整合。

    技术层面上,DevOps可以促进研发与运维团队的协作;业务层面上,DevOps提供的一致容器镜像,持续集成,持续交付,持续部署,持续测试可以更快地交付客户价值。

    包括:

    • 文化:建立开发与运维团队之间的共识和合作文化,消除隔阂。
    • 自动化:自动化软件开发和交付流程,包括持续集成、持续交付、持续部署,以及云原生环境下的基础设施自动化。
    • 度量:通过客观的度量和监控来验证流程和变更的效果,确保按预期进行。
    • 共享:开发和运维团队共享知识基础,参与对方的工作流程,如开发参与运维值班,运维参与架构设计。

    DevOps不仅是一种技术实践,更是一种文化和哲学,它强调团队协作、自动化和持续改进,以实现更快、更可靠地交付价值给客户。

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值