赞
踩
理解云原生基本概念及分布式容器设计模式
自从云原生概念诞生以来,云原生的定义就一直在持续的发展
云原生不只是一系列技术的组合 ,而是一套适用于云计算时代的T架构与方法论, 包括容器化、微服务、DevOps、持续交付等主题。它的核心是通过优化应用的架构设计、开发流程和部署、运维方式,让云计算的弹性、灵活、自动化优势得到充分发挥,使得工程管理和基础设施管理变得更加高效和自治,从而帮助管理者将精力集中到业务创新之中。
容器化
应用细粒度拆分
容器化交付
镜像&运行时
容器镜像仓库
容器运行时
CI&CD
构建持续集成和持续部署工作流
实现自动化的测试、灰度、回滚
容器与应用编排
容器编排调度
应用定义与编排
观察与分析
应用监控
日志分析
请求追踪
网络性能与安全
容器网络管理
网络性能优化
安全策略控制
信息流与信息
引入RPC框架
分布式消息中间件
服务器网关与路由
服务注册与发现
服务路由管理
负载均衡与健康检查
持久化存储
计算存储分离
分布式数据库&缓存
云磁盘、对象存储、分布式文件系统
“将单个应用程序拆分成多个独立运行的小型服务;服务间基于轻量级机制通信,比如基于Http协议的Restful API ;每个服务承担独立的业务功能,并且能够独立部署;服务通过去中心化的方式进行管理;服务可以各自使用不同的编程语言,并使用不同的数据存储技术。”
“A service mesh is a dedicated infrastructure layer for handling service-to-service communication. It’s responsible for the reliable delivery of requests through the complex topology of services that comprise a modern, cloud native application. In practice, the service mesh is typically implemented as an array of lightweight network proxies that are deployed alongside application code, without the application needing to be aware.”
– William Morgan
翻译过来就是:
Service Mesh是一个处理服务通讯的专门的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传送。在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,对应用服务透明。
总结一下就是:
云原生的分布式系统中常见的容器设计模式,包括Init container,Sidecar,Ambassador等模式,以及适用范围和使用注意事项等,并用简单的例子介绍这些模式。
之前设计和实现,基本都是从头做起,因为没有什么成熟可用的模块或者组件可以重用
进入云原生时代,容器(Docker)和容器编排(K8S)的出现,极大的改变了分布式系统的设计和开发,因为我们有了可以重用的组件
Init Container Pattern就像Java语言的初始化函数
Pod中的Init container起的作用也是用来初始化
适用条件:
App Container需要满足一些前置条件
功能:
使用Sidecar的好处:
什么时候使用Sidecar Pattern:
一种特殊的Sidecar
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。