基于容器的企业级微服务平台介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

议题
• 业界技术发展趋势和挑战 • 微服务和PAAS平台 • 使用Kubernetes构建企业级微服务运行平台 • 从单体到微服务架构需要解决的问题
微服务和PaaS平台
《Blueprint for Deploying a Microservice Architecture With PaaS》--- Gartner
Service Provider A Instance 1
查询
192.168.1.4:8011
Service Provider A instance 2
Registry Service
注册
服务端发现
Service Consumer
Router 查询
192.168.1.3:8091 负载均衡
Service Provider A Instance 1
8
1. 访问控制 2. 服务路由控制 3. 服务注册表以解决服务发现 4. 负载均衡器 5. 以平台服务的形式提供消息
队列实现事件驱动的服务 6. CI/CD和自动化部署 7. 运维监控 8. 统一身份验证
议题
• 业界技术发展趋势和挑战 • 微服务和PAAS平台 • 使用Kubernetes构建企业级微服务运行平台 • 从单体到微服务架构需要解决的问题
Kubernetes基本概念
Kubernetes Master
API Server
Replication Controller
Kubernetes Cluster
Container Pod
Container Pod
kubelet
Kube-proxy Node
docker
Container Pod
Container Pod
192.168.1.4:8011
Service Provider A instance 2
Registry Service
注册
14
统一服务平台
Node
VIP
10.10.1.2:80
Kube-Proxy 配置
Iptables
请求
172.10.1.2:80
172.10.1.3:80
172.10.1.4:80
基于容器的企业级微服务平台介绍
技术创新,变革未来
议题
• 业界技术发展趋势和挑战 • 微服务和PAAS平台 • 使用Kubernetes构建企业级微服务运行平台 • 从单体到微服务架构需要解决的问题
企业IT技术应用曲线
2009
By Simon Wardley http://enterpriseitadoption.com/
Service A Instance 1
192.168.1.4:8011
Service A instance 2
Discovery Circuit Breaker LB Configuration Heart Beat Trace
12
Side-car模式
查询
Service A
Side-car
Pod
Registry Service
3
2014 MSA
• 2014年被很多人认为 是企业上云元年
• 2014年几乎企业应用 都没有考虑的Docker 在2015年就已经被所 有人纳入应用计划
• 微服务在2016年成为 仅次于物联网和认知 计算的第三热门技术
传统企业应用开发模式
产品发布计划 4
开发
开发
集成开发
测试/发布
运维人员替 换部署旧版 本
注册
Service
SDK
注册
Rest API Registry Service
平台注册
Service 监听服务启动
Registrator
注册
Rest API Registry Service
13
服务发现
客户端发现
Service Consumer
SSDDKK
192.168.1.3:8091 负载均衡
开发
开发
部署到生成 环境
开发
部署到生成 环境
开发
部署到生成 环境
bugs
部署到生成 环境
微服务带来的好处和挑战
服务模块的边界更清晰:
微服务强调模块化结构 (REST接口调用),这对 大型团队非常重要
支持独立部署:
简单服务更易部署,由于 服务是自治的,出现问题 之后不会引起系统崩溃
允许技术多样性:有了
节点Agent 主节点
微服务定义 --- API first
Service A(Java)
IDL Compiler
Registry
Service B(C)
11
微服务实现模式
Chassis模式
查询 Consumer ChaSsDsKis
Registry Service 注册
负载均衡
192.168.1.3:8091
微服务,你可以混合使用 多种编程语言、开发框架 和数据存储技术
6
分布式编程难度大、 有风险:分布式系统编
程难度更大,远程调用更 慢且总存在失败风险
需处理分布式系统 的 一致性:对于分布
式系 统来说,保持一致 性非常 困难,意味着大 家都要处 理最终一致性
增加运维复杂性:需
要一个成熟的运维团 队 (机制)来管理大量需要 频繁部署的服务
kubelet
Kube-proxy Node
docker
= Labels
= Service
10
EN
CN
Container
容器
Pod
Replication Controller (ReplicaSet)
Service
容器组
副本控制器 (副本集)
服务
Label
标签
Node
节点
Kubelet
Kubernetes Master
注册
192.168.1.3:8091
Service A Instance 1
192.168.1.4:8011
Service A instance 2
Discovery Circuit Breaker LB Configuration Heart Beat Trace
服务注册
应用自注册
Service
Container Pod A
Container Pod B
Container Pod C
Container Pod D
Container Pod E
15
Service创建
百度文库监听
Kube-API
Etcd
监听 MyController
开发
• 技术实现单一,需要想办法用一种技术解决所有问题
• 只能按大颗粒系统发布版本,响应周期长
(小特性版本3-6个月,每年1个大版本)
开发
• 无法做到永远在线,大版本升级时,要停机中断服务
微服务化的应用构建和发布
产品发布计划 产品发布计划 产品发布计划 产品发布计划 5
开发
部署到生成 环境
旧版本持续运行
相关文档
最新文档