内容简介:原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!原文链接地址:跟我学过初级和中级的小伙伴,感谢有你们的支持哈哈,我开始高级篇了。这次设计到springboot 和spring cloud,重点是落地,之前的CICD涉及的面有老铁说最后镜像部署没说,我说高级一定补上的!
原创文章,欢迎转载。转载请注明:转载自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.传统服务和微服务对比的方式来进行学习。
- 问题和业界的解决方案(springboot + spring cloud)
- 很多老铁都是搞 java 的,了解下springboot 和 cloud跟微服务,跟docker的关系,跟服务编排框架的关系。
- 微服务实例开发
通过业务场景。从0开始一行不拉的开发完整个项目,微服务的开发有一个深刻的体会,服务开发过程中我们会用到,dubbo,spring boot ,spring cloud,网关,thrift。
体会到:dubbo的远程调用,thrift跨语言的接口调用,spring boot快速开发。
- 几个微服务,微服务需要怎么来划分。
- 他们之前的关系,他们是如何划分的。
- 部署前的准备
- 服务docker化,调整配置,制作成docker镜像。
- docker-compose,运行在docker容器中,保证容器间的正常通信。
- docker仓库,harbor搭建,push镜像。
- kubernetes,mesos,swarm,初级我讲了mesos,中级主要讲了swarm,高级重点还是k8s。其实他们都是学会其中一种,基本都是庞统的。
- 服务编排
- 了解mesos,画出架构图,集群环境,部署微服务
- 了解swarm,集群环境,调整服务,部署服务
- 压轴k8s,通过2017年docker承认k8s后,服务编排的领导地位,2017年爆发增长,企业上docker首选k8s,门槛太高了,光服务搭建都能压死人。了解概念,基础集群搭建,小试牛刀,服务发现,认证授权,部署微服务。
- CICD和Devops
jekens 和gitlab 中级欠大家jekens这次补给大家。目的是从代码提交到流程更新全部自动化。
环境参数
- 做java的常用的IDEA
- 消息服务用 python 3.6.3
- RPC框架Thrift0.10.0 跨语言
- Ubuntu-16.04
- Docker-18.03
- kubernetes-1.9.0
技术储备
- 熟悉java 后台开发
- 熟悉docker基本命令,镜像容器什么的
- 熟悉 linux 基本操作
PS:整体把握微服务,清晰理解微服务的各种概念,如果开发微服务,技术栈之间的微服务通信,怎么样把一个服务运行在docker容器里,服务之间是如何建立连接的,多种编排框架下服务的编排和服务的发现扩容。docker绝对是你以后必经只选。来我们一起努力,成为更好的自己。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 『高级篇』docker容器来说软件架构的进化(二)
- 『高级篇』docker容器来说微服务优势和不足(四)
- 『高级篇』docker容器来说什么是微服务(三)
- 直觉不可靠,让数据[对比]来说话
- Windows Lite 对微软来说意味着什么?
- 2018 年的 Apache 社区不平凡:让数字来说话
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术:第4卷 第4册(双语版)
Donald E.Knuth / 苏运霖 / 机械工业出版社 / 2007-4 / 42.00元
关于算法分析的这多卷论著已经长期被公认为经典计算机科学的定义性描述。迄今已出版的完整的三卷组成了程序设计理论和实践的惟一的珍贵源泉,无数读者都赞扬Knuth的著作对个人的深远影响。科学家们为他的分析的美丽和优雅所惊叹,而从事实践的程序员们已经成功地应用他的“菜谱式”的解到日常问题上,所有人都由于Knuth在书中所表现出的博学、清晰、精确和高度幽默而对他无比敬仰。 为开始后续各卷的写作并更......一起来看看 《计算机程序设计艺术:第4卷 第4册(双语版)》 这本书的介绍吧!