文章目录
- 一、认识微服务
- (一)完整的微服务技术栈
- (二)需要学习那些微服务知识?
- (三)从项目架构形式引出微服务
- 1.单体架构
- 2.分布式架构
- 3.微服务是分布式架构的最佳实践
- (四)微服务结构与技术对比
- (五)企业常用的四种微服务架构需求
- 1.SpringCloud
- 二、服务拆分及远程调用
- (一)服务拆分
- (二)服务间的远程调用
- (三)提供者与消费者
- 三、Euseka
- (一)Eureka注册中心
- 1.问题提出——
- 2.解决方案——
- 3.eureka作用
- 4.总结
- (二)eureka注册中心动手实践
- 1.三步走搭建eureka注册中心
- 2.Eureka服务注册(客户端配置)
- 3.Eureka服务发现(客户端配置)
- (三)eureka总结
- 四、Ribbon
- (一)Ribbon负载均衡原理
- 1.Ribbon负载均衡流程
- 2.Ribbon负载均衡细节流程
- (二)Ribbon负载均衡策略
- 1.常见的负载均衡策略
- 2.调整负载均衡规则的两种方式
- 针对全体微服务
- 针对某个微服务
- (三)饥饿加载
- (四)总结Ribbon
- 五、Docker
- (一)快速认识Docker
- (二)初识Docker
- 1.Docker机制
- 2.Docker与虚拟机的区别
- 3.Docker架构
- (1)Docker镜像
- (2)DockerHub—镜像的托管平台
- (3)Docker是CS架构程序
- (三)Docker操作——镜像
- 1.一些基本名词
- (1) **镜像(Image):**
- (2) **容器(Container):**
- (3)**数据卷(Volume):**
- 2.镜像
- (四)Docker操作——容器
- 1.容器命令案例1
- 2.容器命令案例2
- 3.容器命令案例3
- (五)Docker操作——数据卷
- 1.数据卷命令
- (1)问题引出—容器与数据耦合的问题
- (2)数据卷原理
- (3)数据卷操作的基本语法
- (4)数据卷案例
- 总结
- 2.数据卷挂载
- 总结
- 3.目录挂载
- 总结
- (六)Dockerfile自定义镜像
- 1.镜像结构
- 2.Dockerfile语法
- (1)什么是Dockerfile
- (2)案例
- (3)总结
- (七)DockerCompose
- 1.什么是DockerCompose
- 2.DockerCompose自动部署与手动创建容器对比
- 3.部署微服务集群
- 4.总结
- (八)Docker镜像服务
- 1.搭建自己的的镜像服务
- 2.在私有镜像仓库推送或拉取镜像
一、认识微服务
(一)完整的微服务技术栈
(二)需要学习那些微服务知识?
(三)从项目架构形式引出微服务
1.单体架构
2.分布式架构
3.微服务是分布式架构的最佳实践
致力于实现高内聚低耦合
总结——
(四)微服务结构与技术对比
(五)企业常用的四种微服务架构需求
1.SpringCloud
二、服务拆分及远程调用
(一)服务拆分
(二)服务间的远程调用
实现跨服务远程调用,其实就是发送一次http的请求
(三)提供者与消费者
三、Euseka
Euseka里面记录了所有服务信息。
Eureka是Netflix开发的一种服务发现组件,它用于构建分布式系统中的服务注册和发现。在微服务架构中,各个微服务会注册到Eureka服务器上,从而形成服务注册表。其他微服务可以通过查询Eureka服务器来发现并调用特定的微服务。
(一)Eureka注册中心
1.问题提出——
2.解决方案——
3.eureka作用
4.总结
(二)eureka注册中心动手实践
1.三步走搭建eureka注册中心
2.Eureka服务注册(客户端配置)
3.Eureka服务发现(客户端配置)
(三)eureka总结
四、Ribbon
Ribbon是Netflix开发的一种客户端负载均衡工具,它与Eureka配合使用。
Ribbon能够根据一些负载均衡算法从多个服务提供者中选择一个,确保客户端请求能够被均匀地分发到各个服务实例上。在Spring Cloud中,Ribbon通常与Eureka一起使用,通过Eureka获取可用的服务实例列表,然后使用Ribbon进行负载均衡。
(一)Ribbon负载均衡原理
1.Ribbon负载均衡流程
2.Ribbon负载均衡细节流程
(二)Ribbon负载均衡策略
1.常见的负载均衡策略
2.调整负载均衡规则的两种方式
针对全体微服务
针对某个微服务
(三)饥饿加载
(四)总结Ribbon
五、Docker
(一)快速认识Docker
Docker 是一种开源平台,用于自动化应用程序的部署、扩展和管理。它利用容器技术,将应用程序及其所有依赖项打包到一个容器中,使得应用程序在任何环境中都能够以相同的方式运行。Docker 提供了一个轻量级的、可移植的容器化解决方案,使开发者能够更快速、更便捷地构建、测试和部署应用程序。
以前我们在虚拟机上装软件超级复杂,按照源码编译、执行运行、开启服务等等之类的很繁琐,而且如果某个软件在运行期间出错影响了Linux系统,还可能会影响其他软件的运行环境。有了Docker这些问题都可以轻松解决。
(二)初识Docker
1.Docker机制
Docker如何解决不同系统环境的问题?——将底层函数库一起打包,仅仅依赖最核心的Linux内核
2.Docker与虚拟机的区别
虚拟机(virtualmachine)是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在 Windows 系统里面运行
Ubuntu 系统,这样就可以运行任意的Ubuntu应用了。
3.Docker架构
(1)Docker镜像
(2)DockerHub—镜像的托管平台
(3)Docker是CS架构程序
(三)Docker操作——镜像
1.一些基本名词
(1) 镜像(Image):
- 镜像是一个包含应用程序和其依赖的可执行软件包。
- 它包含了运行一个应用程序所需的所有内容,包括代码、运行时、库、环境变量和配置文件等。
- 镜像是只读的,一旦构建完成,其内容不可修改。
- 镜像通常是基于其他镜像构建而成的,它可以被共享、分发和复用。
(2) 容器(Container):
- 容器是镜像的运行时实例,是一个独立、轻量级的可执行包。
- 容器包含了运行应用程序所需的所有内容,但是它是镜像的可运行版本,可以被启动、停止、删除等。
- 容器是一个隔离的环境,与主机系统隔离开来,但又共享主机的内核。
- 容器是可移植、可重复和自包含的。
(3)数据卷(Volume):
- 数据卷是用于持久化存储容器中数据的一种机制。
- 它提供了容器之间或容器与主机之间共享数据的方式,数据卷的内容可以在容器之间传递和保留。
- 数据卷是独立于容器的,即使容器被删除,数据卷的内容仍然保留。
综合而言,镜像是应用程序的静态打包,容器是镜像的运行时实例,而数据卷提供了持久化存储容器数据的机制。这些概念使得Docker具有高度可移植性、灵活性和可重复性。
相当于镜像就是程序,容器就是进程,数据卷就是数据库
2.镜像
镜像操作有哪些?
docker images
docker rmi
docker pull
docker push
docker save
docker load
(四)Docker操作——容器
1.容器命令案例1
2.容器命令案例2
3.容器命令案例3
(五)Docker操作——数据卷
1.数据卷命令
(1)问题引出—容器与数据耦合的问题
(2)数据卷原理
(3)数据卷操作的基本语法
volume
美[ˈvɑːljəm]英[ˈvɒljuːm]
n. 体积;音量;一卷;合订本;
(4)数据卷案例
总结
2.数据卷挂载
总结
3.目录挂载
总结
(六)Dockerfile自定义镜像
之前我们的镜像全是在DockerHub里面提供的,而我们自己的微服务一定要自己提供镜像,故引出自定义镜像
1.镜像结构
2.Dockerfile语法
(1)什么是Dockerfile
(2)案例
(3)总结
(七)DockerCompose
1.什么是DockerCompose
2.DockerCompose自动部署与手动创建容器对比
3.部署微服务集群
4.总结
(八)Docker镜像服务
1.搭建自己的的镜像服务
2.在私有镜像仓库推送或拉取镜像
利用docker tag命令,你可以将一个镜像重命名为另一个镜像!