Spring Cloud与Docker微服务架构实战,你确定你会吗?
Spring Cloud与Docker微服务架构实战。
微服务架构是当前软件开发领域的技术热点。它在各种博客、社交媒体和会议演讲上的出镜率非常之高,笔者相信大家也都听说过微服务这个名词。然而微服务似乎又是非常虚幻的一我们找不到微服务 的完整定义,以至于很多人认为是在炒作概念。
那么什么是微服务呢?它解决了哪些问题?它又具有哪些特点?诸多问题,本章都将为你一一解答。同时,微服务理论性的内容,互联网上已有很多,本书不会过多提及。会尽量把篇幅花在微服务的具体实战内容上。
单体应用架构存 在的问题
一个归档包(例如war格式)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。
以一个电影售票系统为例,架构如图1-1所示。
如图1-1所示,该应用尽管已经进行了模块化,但由于UI和若干业务模块最终都被打包在一个war包中,该war包包含了整个系统所有的业务功能,这样的应用系统称为单体应用。.
Spring Cloud特点
Spring Cloud有以下特点:
●约定优于配置。
●适用于各种环境。开发、部署在PC Server或各种云环境(例如阿里云、AWS等)均可。
●隐藏了组件的复杂性,并提供声明式、无xml的配置方式。
●开箱即用,快速启动。
●轻量级的组件。Spring Cloud整合的组件大多比较轻量,例如Eureka、Zuul, 等等,都是各自领域轻量级的实现。
●组件丰富,功能齐全。Spring Cloud为微服务架构提供了非常完整的支持,例如配置管理、服务发现、断路器、微服务网关等。
●选型中立、丰富。例如,Spring Cloud支持使用Eureka、ZooKeeper或Consul实现服务发现。
●灵活。Spring Cloud的组成部分是解耦的,开发人员可按需灵活挑选技术选型。
Docker 简介
Docker是-一个开源的容器引擎,它有助于更快地交付应用。Docker 可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样 进行管理。使用Docker,可更快地打包、测试以及部署应用程序,并可缩短从编写到部署运行代码的周期。
使用Dockerfile构建Docker镜像
本节将讨论如何使用Dockerfile构建Docker镜像。Dockerfile 是-一个文本文件,其中包含了若干条指令,指令描述了构建镜像的细节。
先来编写一个最简单的Dockerfile。以前文下载的Nginx镜像为例( 详见第12.6.2 节),来编写一个如下的Dockerfile修改该镜像的首页。
1.准备一个文件,名为Dockerfile:FROM nginxRUN echo '
Spring Cloud与Docker微服务实战
' > /usr/share/nginx/html/index . html该Dockerfile非常简单,其中的FROM、RUN都是Dockerfile的指令。FROM指令用于指定基础镜像,RUN指令用于执行命令。
2.在Dockerile所在路径执行以下命令构建镜像:docker build -t nginxmy,其中,命令最后的点(.)用于路径参数传递,表示当前路径。
3.执行以下命令,即可使用该镜像启动-一个Docker容器。
docker run -d -p 92:80 nginx :my
4.访问http://Docker宿主机IP:92/,可看到如图13-1的界面。
从本例不难看出Dockerfile 的强大。仅仅编写了两行代码,就修改了原始镜像的行为。不仅如此,通过Dockerfile,还可直观地看到修改镜像的具体过程。
怎么样?是不是很符合大家来好好学习?话也不多说,主要是为了能让大家拿到手,并且能够好好学习。把它利用起来,取其精华,去其糟粕。
玉不琢,不成器。人不学,不知义。
转发此文关注我私信回复【学习】得到获取《Spring Cloud与Docker微服务架构实战》的方式。