云原生

云原生_第1张图片

只有变化是唯一不变的准则

什么是云

  • Paas 平台即服务
  • Iaas 基础设施即服务
  • Saas 软件即服务

什么是云原生

云原生是一种设计模式,它要求云原生应用具备可用性和伸缩性,以及自动化部署和管理的能力,可随处运行,并且能够通过持续集成、持续交付工具提升研发、测试与发布的效率。

云原生简单理解:微服务分布式系统开发+Devops+持续交付(CI/CD)+容器化

(容器化技术)虚拟化技术成为分水岭即docker 【容器化技术不仅仅是docker 只是docker市场最热门】

云原生与十二要素

遵循十二要素设计的应用具备云原生应用的 所有特征

  • 基准代码 (Codebase)

一份代码多次部署

  • 依赖 (Dependencies)

声明依赖(maven、Gradle)打包工具

  • 配置 (Config)

将配置存储至环境变量。

  • 后端服务 (Backing Services)

区别仅仅资源的 URL 不同

  • 构建、发布、运行 (Build、Release、Run)

严格分离构建阶段与运行阶段。

  • 进程 (Processes)
    将应用作为无状态的进程运行。
  • 端口绑定 (Port Binding)
  • 并发 (Concurrency)
  • 已处理 (Disposability)

可以快速启动和优雅关闭应用。

  • 开发环境与线上环境等价 (Dev/Prod parity)
  • 日志 (Logs)
  • 管理进程 (Admin Processes)
    后台管理任务当作一次性进程运行

至2020-06-29微服务解决方案:

  • SpringCloud +Eureka (成熟解决方案)
  • Dubbo+Zookeeper(成熟解决方案)
  • SpringCloudAlibaba+Nacos(2019年新生)

微服务解决4大问题:

1.这么多服务客户端怎样访问

(gateway)网关

2.这么多服务怎样管理

注册中心(Eureka、Zookeepr、Nacos、EDAS)

3.服务之间怎样通信

  • 同步通信:

    • HTTP:(Apache Http Client)
    • RPC:(Dubbo)
  • 异步通信下:
    kafaka、rabbitMq、rocketMq

4.服务挂了怎样办

熔断(Sential)、链路追踪(ShyWalking)、限流(GateWay、Hystric、zuul)

<微服务:从设计到部署> 详情参考

自动化运维Devops

容器化技术

  • docker

容器编排

  • Docker Swarm 为docker 而生,功能单一,架构问题扛不住大并发
  • Kubernetes
  • Mesos(未使用过)

服务网格化Service Mesh

非侵入式(无代码入侵)服务网格系统SiderCar模式,服务之间通信基础设置,代理微服务之间的所有网络通信

  • Istio

对服务网格的需求包括:服务发现、负载均衡、故障恢复、指标和监控,以及 A/B 测试、金丝雀发布、限速、访问控制、端对端身份验证等。

服务治理

  • 服务注册与发现: Eurake,Nacos
  • 服务外部化配置: Spring Cloud Config,Nacos,Apollo
  • 服务熔断降级: Hystrix,Sentinel
  • API 网关: Zuul,Spring Cloud Gateway
  • 负载均衡: Ribbon,Dubbo
  • 链路追踪: Zipkin,Skywalking
  • 日志收集: ELK,EFK
  • 服务监控: Promethues,Grafna,Spring Boot Admin

这些组件都有一个问题就是代码侵入性

Istio 是运行于分布式应用程序之上的透明(无代码入侵)服务网格,它同时也是一个平台,提供集成到其它日志、监控、策略系统的接口。

CI/CD

GitLab +Jenkins

大数据

  • Hadoop
  • Druid (大数据实时处理的分布式系统)
  • Spark

分布式数据库

  • TiDB 支持无限的水平扩展 强一致性和高可用性 兼容mysql

平台

整合 Mesos 和 Kubernetes 的 Rancher

架构新纪元(一):从分布式架构到云原生架构
架构新纪元(二):什么是云原生?
架构新纪元(三):云原生的生态圈
架构新纪元(四):观察分布式服务
架构新纪元(五):云原生生态的基石 Kubernetes
架构新纪元(六):跨语言服务治理方案 Service Mesh

你可能感兴趣的:(云原生)