欢迎访问网易云社区,了解更多网易技术产品运营经验

进阶版结论:Kubernetes + Docker 是 Dev 和 Ops 融合的一个桥梁。

 

DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。有工具支持,运维关注代码,开发关注部署,效率和质量都能得到提升。

在软件日趋复杂的情况下,微服务架构是弹性扩展、快速迭代的优选,微服务有利于负责单个服务的小团队降低沟通成本、提升效率,众多的服务却也让研发需要关心环境交付,整个运维工作复杂度剧增。说到秒级启动、秒级自动修复、服务发现、弹性伸缩等等,使用虚拟机和使用容器并无质的差距,但有了 Docker 镜像,最大的变化是环境交付可以提前,每个开发只需多花 5% 的时间,就能换取运维 200% 的劳动,并且提高稳定性。而有了 Kubernetes 以后,运维层关注服务发现、配置中心、熔断降级也顺理成章。

微服务设计要点包括无状态化、服务拆分和服务发现、服务编排与弹性伸缩、熔断/限流/降级等,网易云的体会,Kubernetes 本身就是微服务的架构,几乎所有的组件都是无状态化的,虽然看起来复杂,但是容易定制化,容易横向扩展。Kubernetes 不仅是编排的标准,其 deployment 和 StatefulSet 分别对应无状态对应和有状态,deployment 主要通过副本数,解决横向扩展的问题;StatefulSet 的机制可以让容器里面的脚本有足够的信息,处理异常情况,实现哪怕是有状态,也能尽快修复。

更多的原理详解,请参阅:为什么 kubernetes 天然适合微服务

相关回答参考:网易云:在哪些情况下考虑用docker?

相关文章:
【推荐】 移动端互动直播(入门篇)
【推荐】 Win10应用设计的那些事儿

最新文章

  1. JAVA线程锁lock下Condition的使用
  2. Cacti学习笔记一:基本安装和配置
  3. 尽量少用Include
  4. 深入理解Javascript
  5. 宏ut_2pow_remainder
  6. Java知识总结--三大框架
  7. Java基础知识强化之集合框架笔记66:Map集合面试题之HashMap和Hashtable区别(重要)
  8. 用java制作日历,想休息的时候看一看离周末还有几天!
  9. javascript 学习笔记之面向对象编程(一):类的实现
  10. Dialog式的Activity(AndroidActivity生命周期)
  11. 用户控件(.ascx)与<ul><li>以及<a>布局之小结
  12. VS2015预览版中的C#6.0 新功能(三)
  13. OCP读书笔记(14) - 管理数据库性能
  14. 1230: [Usaco2008 Nov]lites 开关灯
  15. QT调用百度语音REST API实现语音合成
  16. 51nod--1183 编辑距离(动态规划)
  17. Python中的单例模式——装饰器实现剖析
  18. Delphi XE 新功能试用:多种皮肤样式静、动态设置方法
  19. SPI和RAM IP核
  20. 软工作业No.3--团队作业:甜美女孩出击!

热门文章

  1. rhel6.3-64 yum问题
  2. InputStream转化为String
  3. VB.Net条形码编程的方法
  4. 光圈、曝光、ISO
  5. S 导入公司数据
  6. 为Eclipse安装功能扩展插件
  7. Visual Studio 2013 boost
  8. 265. Paint House II 房子涂色K种选择的版本
  9. php 共享内存学习(shmop函数)
  10. SpringMVC框架结构的图解、架构的处理流程以及三大组件的说明和使用