『高级篇』docker容器来说微服务导学(一)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!

原文链接地址:『高级篇』docker容器来说微服务导学(一)

跟我学过初级和中级的小伙伴,感谢有你们的支持哈哈,我开始高级篇了。这次设计到springboot 和spring cloud,重点是落地,之前的CICD涉及的面有老铁说最后镜像部署没说,我说高级一定补上的!

微服务

微服务最近几年比较火,不了解也没关系,可以理解成一个项目的模块吧,微服务运行在docker容器里面,如果管理docker容器用服务编排框架k8s。

为什么要继续高级篇

镜像生产环境的自动化部署

  • 不同行业IT系统更新频率纵向的是系统的更新频率,黄色的是半年以上更新一次,绿色的部分是3-6个月,蓝色的部分是每个月都要更新。横向的是行业的细分:制造业,金融行业,互联网行业,交通物流行业,零售业。其中互联网的更新频次最高92%的服务每个月都要更新。其中应该有很多服务一个月要更新多次。我相信如果一个行业如果要有竞争的优秀,更新频率一定是在不断的提高的。这就会倒逼越来越多的企业加入转型,docker微服务就是方向。
  • IT系统支撑所存在的问题看2个比重最大的问题,系统复杂性越来越高,IT运维管理复杂,构建一个全功能团队困难。应用频繁的升级开发团队会非常的痛苦:企业业务系统经过多年的发展,系统往往非常庞大,复杂度非常的高,要改动其中任何一个小功能都需要部署整个应用,敏捷开发和快速的服务根本无从谈起,传统行业在传统的IT建设过程中往往会使用不同的技术,这就存在了技术之前的诧异很大,管理和运维就比较复杂,随着这些问题的凸显,企业向微服务进行转型需求越来越强烈。
  • 微服务架构落地情况6%的企业应用了spring cloud开发框架,9%采用了dobbo和其他的微服务框架,51%考虑云原生的架构方向转型(公有云,私有云),因此可以看出来绝对部分企业有转型的需求的。
  • 2018年和2017年docker的使用情况对比图docker从2017年的7% 升级了4个百分点达到11%。考虑使用docker的应用的越来越多,特别是100台服务器以上的。
  • 2017年的docker情况企业的关注度才不断的升高。docker的使用在不断的普及,容器的成熟,对微服务的落地提供了很多的基础,轻量化的容器是微服务的最佳环境。微服务在容器的环境下,在加上服务编排框架持续集成变成可能。
  • 为何存在腾讯,阿里,京东,包括新浪 都在使用docker。通过图片的数据和案例说明:docker,服务编排,微服务值得我们去学习。可能在不久的将来将会是每一位开发和运维的老铁不得不了解的技术。

###高级具体说些什么?

  • 微服务
  • 传统架构演变微服务
  • 微服务架构的架构图优势的不足
  • 微服务带来的问题和解决方案从实战的角度出发

1.传统服务和微服务对比的方式来进行学习。

  1. 问题和业界的解决方案(springboot + spring cloud)
  2. 很多老铁都是搞java的,了解下springboot 和 cloud跟微服务,跟docker的关系,跟服务编排框架的关系。
  • 微服务实例开发通过业务场景。从0开始一行不拉的开发完整个项目,微服务的开发有一个深刻的体会,服务开发过程中我们会用到,dubbo,spring boot ,spring cloud,网关,thrift。 体会到:dubbo的远程调用,thrift跨语言的接口调用,spring boot快速开发。
  1. 几个微服务,微服务需要怎么来划分。
  2. 他们之前的关系,他们是如何划分的。
  • 部署前的准备
  • 服务docker化,调整配置,制作成docker镜像。
  • docker-compose,运行在docker容器中,保证容器间的正常通信。
  • docker仓库,harbor搭建,push镜像。
  • kubernetes,mesos,swarm,初级我讲了mesos,中级主要讲了swarm,高级重点还是k8s。其实他们都是学会其中一种,基本都是庞统的。
  • 服务编排
  • 了解mesos,画出架构图,集群环境,部署微服务
  • 了解swarm,集群环境,调整服务,部署服务
  • 压轴k8s,通过2017年docker承认k8s后,服务编排的领导地位,2017年爆发增长,企业上docker首选k8s,门槛太高了,光服务搭建都能压死人。了解概念,基础集群搭建,小试牛刀,服务发现,认证授权,部署微服务。
  • CICD和Devopsjekens 和gitlab 中级欠大家jekens这次补给大家。目的是从代码提交到流程更新全部自动化。

环境参数

  1. 做java的常用的IDEA
  2. 消息服务用python3.6.3
  3. RPC框架Thrift0.10.0 跨语言
  4. Ubuntu-16.04
  5. Docker-18.03
  6. kubernetes-1.9.0

技术储备

  • 熟悉java 后台开发
  • 熟悉docker基本命令,镜像容器什么的
  • 熟悉linux基本操作

PS:整体把握微服务,清晰理解微服务的各种概念,如果开发微服务,技术栈之间的微服务通信,怎么样把一个服务运行在docker容器里,服务之间是如何建立连接的,多种编排框架下服务的编排和服务的发现扩容。docker绝对是你以后必经只选。来我们一起努力,成为更好的自己。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏祝威廉

运维=平台+数据

运维的发展日新月异,曾几何时,运维仅仅是被认知为跑机房,装系统,设计网络,给开发擦屁股。但是现在运维变得极度重要,运维职责也更加细化,譬如稍大点的公司就将运维划...

5965
来自专栏智能计算时代

微软保护物联网的新颖方法

Sopris项目希望创建一套可以保护硬件和通信的安全层,并且可以刷新受影响的设备。 ? 事物部署工业互联网面临的主要问题之一是常年问题:安全。当您在组织周围部署...

2745
来自专栏即时通讯技术

子弹短信光鲜的背后:网易云信首席架构师分享亿级IM平台的技术实践

自从2018年8月20日子弹短信在锤子发布会露面之后(详见《老罗最新发布了“子弹短信”这款IM,主打熟人社交能否对标微信?》),关于它的讨论不绝于耳,7 天融资...

3332
来自专栏ThoughtWorks

数字化企业的API架构治理

在前文中我们说到,传统企业在逐步建设自己的数字平台过程中,需要抓住交付基础设施、API和架构治理、数据自服务、创新实验基础设施和监控体系、用户触点技术这五个支柱...

3254
来自专栏程序你好

采用微服务和容器架构的五个想法

作为New Relic容器Fabric项目(我们的内部容器编排和运行时平台)的首席站点可靠性工程师(SRE),我花了大量时间与现有和潜在客户一起回答关于我们如何...

913
来自专栏云计算D1net

成功实施DevOps的七个有力工具

现如今,每个软件企业都在谈论DevOps,他们希望从DevOps中获得好处。DevOps本身不是开发工具,而是开发文化的一次革新,为了能够成功地实施DevOps...

3419
来自专栏大数据和云计算技术

云​大数据和计算技术周报(第47期)

“大数据” 三个字其实是个marketing语言,从技术角度看,包含范围很广,计算、存储、网络都涉及,知识点广、学习难度高。

1163
来自专栏SDNLAB

谈谈虚拟化及其安全性

虚拟化是硬件和软件工程的协作,以创建虚拟机(VM)。这被认为是计算机硬件的抽象化,使单个物理机能够当作多个机器运行。没有虚拟机,单个操作系统将会占用所有的硬件资...

37311
来自专栏前沿技墅

容器即服务:从零构建企业级容器集群

6833
来自专栏大魏分享(微信公众号:david-share)

基于车联网应用场景架构设计PaaS平台以实现DevOps同行技术探讨经验总结

声明:本文作者为edwin1986,上汽通用汽车 系统架构师。本文已获得授权转载。

5295

扫码关注云+社区