大厂容器云实践之路(二)

3-网易蜂巢的DOCKER实践之路

面临问题

img

img

img

 场景分析

img

 如何解决

功能性需求(基础)

第一步 技术支撑公有化

开发流程

img

 场景分析

img

功能性需求(基础)
非功能性需求(SLA)

第二步 产品技术云端化

开发流程

img

 场景分析

img

多版本
服务依赖(SOA,MSA)
规范流程

第三步 云端技术容器化

开发流程

img

三步走
第一步 技术支撑公有化
第二步 产品技术云端化
第三步 云端技术容器化
云计算是互联网+的必然选择

实践之路

为开发者打造的基于DOCKER容器云

开发者定义

img

 问题

img

 研发+Kubernetes+Docker

img

 实践之路-架构

img

img

img

img

img

 场景分析-示例

img

 实践之路

img

 实践之路-反馈三境界

命令无法使用(nt found)
命令无法使用(not found等)
命令无法正常工作(iptables,drop cache等)
命令运行结果不一致(aufs,dm,overlay等)

实践之路-总结

性能优化(镜像架构,编排调度,资源池等)
运行规模(多租户,节点数,POD数等)
掌控底层及SDN网络技术的必要性
线上互联网产品稳定运行多年
更多服务容器化(业界领先RDS,日志,安全等)

目标与展望

img

4-京东弹性计算实践 

私有云面临得挑战

img

 用户需求

1、稳定性

2、性能

3、用户习惯

弹性计算之路

img

 从KVM迁移到Docker

img

 弹性计算架构

img

 弹性计算平台 = JDOS(JD Datacenter OS)+CAP(Cloud Application Platform)。
JDOS实现实现基础设施(网络,物理机,存储)的资源管理、容器的生命周期管理、监控指标采集;
CAP负责应用治理、部署、监控报警、资源利用率统计、手动和自动的弹性伸缩。

OpenStack

img

Docker Driver

img

 网络(OVS/VLan)

img

为了兼容现在的基础设施系统,满足用户习惯,每个容器都有独立的IP。
禁用了Docker网络,采用Neutron集成OVS;
优化OVS转发层,提升网络小包延迟,适用于微服务调用;

存储

img

 镜像分层合并

img

 镜像中心

img

 配置中心

img

 CAP 架构

img

核心是一套工作流,基于Zookeeper分布式调度引擎来实现。能动态注册发现节点;能控制单个节点并发任务数,失败重试次数,确保同一应用互斥任务串行执行。

系统监控指标

img

 监控架构

img

指标数据带有明显的时间特性,每日数据上亿,采用了成熟的OpenTSDB方案。
提供了从应用和实例多个维度查看负载情况,满足用户的需求。
可以对应用配置警策略,进行短信或邮件报警。

宕机探测架构

img

 硬件故障探测

img

 监控页面

img

 调度流程

img

 弹性扩容流程

img

应用在启动之前可能需要数据库授权,启动之后需要挂载VIP,注册统一监控和统一日志。如何能自动发现应用的注册信息,采用了模版方式。应用先申请一个容器,手工注册这些信息,后续的扩容会以该容器为模版来进行自动注册。

故障迁移流程

img

当遇到容器或物理机故障,需要进行快速的迁移,迁移后的容器需要保持原有的IP,避免还要重新申请授权。

弹性调度算法

img

 应用场景

img

双11全面使用弹性云来备战,线上应用在新机房都部署在容器上;
核心应用如:网站,交易,订单履约,配送,售后,无线,拍拍,金融,O2O等等平稳运行在容器上

容器资源利用率

以一小时为单位,计算容器的资源最大使用率;

img

 应用资源利用率

根据应用和容器的关系,统计应用资源使用率;

img

 部门资源利用率

根据负责人、部门、应用和容器的关系,统计部门资源使用率;

img

 一键伸缩

批量快照水平扩容;
批量水平扩容;
批量水平缩容;
批量垂直搜索;

img

 应用部署巡检

定期巡检应用容器部署情况,邮件报告;

img

实践经验

无状态,同时对磁盘IO要求不高的应用,很适合部署到弹性云;
微服务应用由于能自动服务注册发现,辅助均衡,非常适合部署到弹性云
推荐万兆网络和网卡,避免网络共享出现资源竞争;
稳定的操作系统版本;
推荐高配置物理机,合理得CPU和内存比,便于充分利用资源;
采购高质量的交换机和物理机;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
电子商务系统是现代商业的重要组成部分,大厂应用场景之一,可以通过使用UML(统一建模语言)来进行建模设计。下面是一个电商系统建模设计教程的例子: 首先,我们需要确定系统的角色。在电商系统中,常见的角色有买家、卖家和管理员。买家是购买商品的用户,卖家是出售商品的商家,而管理员则负责管理和维护系统。 接下来,我们可以使用用例图来表示系统的功能。如买家可以浏览商品、添加商品到购物车、下订单等。卖家可以添加商品、管理订单等。管理员可以管理用户和商品信息。 然后,我们可以使用类图来表示系统中的实体。如用户类、商品类和订单类。用户类中包括买家和卖家的属性和操作。商品类包括商品的名称、描述和价格等属性。订单类包括订单的状态、数量和总价等属性。 接下来,我们可以使用对象图来表示系统中的具体对象和关系。如买家对象可以和商品对象关联起来,表示买家正在购买商品。订单对象可以和买家和商品对象关联起来,表示订单是买家购买商品的结果。 此外,我们还可以使用序列图来表示系统中的交互过程。如购买商品的过程可以用序列图来表示买家选择商品、生成订单、支付订单和确认收货等过程。 最后,我们可以使用状态图来表示系统中的状态变化。如订单的状态可以包括待支付、已支付、待发货和已完成等状态。 通过这些UML图,可以清晰地描述电商系统的结构和功能,帮助系统设计人员理解和沟通系统设计。同时,UML还可以用于系统的分析、测试和维护等工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenGd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值