微服务架构

文章目录

    • 一、认识微服务
      • (一)完整的微服务技术栈
      • (二)需要学习那些微服务知识?
      • (三)从项目架构形式引出微服务
        • 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命令,你可以将一个镜像重命名为另一个镜像!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620662.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于粒子群优化的配电网重构

一、配电网重构原理 配电网重构是指在满足配电网运行基本约束的前提下,通过改变配电网中一个或多个开关的状态对配电网中一个或多个指标进行优化。通过配电网重构,可以在不增加设备投资的情况下,充分发挥配电系统的潜力,提高系统…

SpringCloud之LoadBalancer自定义负载均衡算法,基于nacos权重

LoadBalancer基于Nacos权重自定义负载算法 ReactorLoadBalancer接口&#xff0c;实现自定义负载算法需要实现该接口&#xff0c;并实现choose逻辑&#xff0c;选取对应的节点 public interface ReactorLoadBalancer<T> extends ReactiveLoadBalancer<T> {Mono<…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之十一 简单给视频添加水印图片效果 一、简单介绍 二、简单给视频添加水印图片效果实现…

跨境业务为什么要做Yandex推广?

随着全球化进程的不断加速&#xff0c;越来越多的企业开始寻求跨境发展机遇&#xff0c;尤其是在极具潜力的海外市场中寻找新的增长点。其中&#xff0c;俄罗斯及其周边地区因其庞大的市场规模和消费需求&#xff0c;成为众多企业瞄准的焦点。要在这一区域成功展开业务并触及目…

2024年Facebook广告新手教学与投放技巧大全

截止2024年1月&#xff0c;Facebook的每月活跃用户就超过了30亿&#xff0c;逐渐成为全球最受欢迎的社交媒体平台。许多广告主也纷纷用Facebook投放广告并获得了不错的效果&#xff0c;本篇文章将为广告新手提供全面的Facebook广告投放教程&#xff0c;从基础概念到Facebook广告…

prometheus metrics 添加元数据

1. 背景 当使用 Prometheus 监控多个 Kubernetes 集群时,如果没有合适的标签管理,alertmanager 在接收到警告时可能无法识别是哪个集群产生的警告。这可能会带来一些挑战: 警告上下文缺失: 当 alertmanager 接收到警告时,如果没有集群标识信息,很难确定警告来自哪个集群。这会…

文献速递:深度学习肝脏肿瘤诊断---基于深度学习的肝细胞结节性病变在整片组织病理图像上的分类

Title 题目 Deep Learning-Based Classification of Hepatocellular Nodular Lesions on Whole-Slide Histopathologic Images 基于深度学习的肝细胞结节性病变在整片组织病理图像上的分类 Background 背景 Hepatocellular nodular lesions (HNLs) constitute a heterogen…

Unity | Shader基础知识(第十二集:颜色混合)

目录 前言 一、日常生活中的常见现象 二、unity自带的一个结构体&#xff08;表面着色器SurfaceOutputStandard&#xff09; 三、自己写一个颜色混合的Shader 1.只加基础颜色Albedo 2.加入法线 3.加入光滑度 4.加入金属度 5.加入自发光 四、作者的话 前言 shader里每一…

Git-常规用法-含解决分支版本冲突解决方法

目录 前置条件 已经创建了Gitee账号 创建一个远程仓库 Git的优点 版本控制 Git 下载 Git的使用 检查Git的是否安装成功 git的常用命令 常用流程 Git 分支 分支流程 Git 远程仓库 远程仓库流程 特殊 可能遇到的问题 前置条件 已经创建了Gitee账号 创建一个远程仓…

Macs Fan Control Pro for Mac:全面优化Mac散热的得力助手

Macs Fan Control Pro for Mac是一款专为苹果电脑用户设计的风扇控制软件&#xff0c;旨在通过精确的风扇速度调节&#xff0c;全面优化Mac的散热性能&#xff0c;确保系统始终运行在最佳状态。 Macs Fan Control Pro for Mac v1.5.17中文版下载 该软件具备实时监控功能&#x…

中仕公考:教师招聘和事业单位联考的区别

教师招聘考试与事业单位联考作为两种不同的职业资格考试&#xff0c;其在报考条件和考试内容上存在明显的差异&#xff0c;具体内容为大家简要介绍一下&#xff1a; 一、报考条件 1. 教师招聘考试&#xff1a;此类考试的报名通常要求申请者持有相关教师资格证明。对于非师范生…

Maven配置的修改

在集团做java实习生的第一天&#xff0c;我的leader给了我项目的代码&#xff0c;并且还有一个settings.xml文件&#xff0c;当时很懵&#xff0c;不知道这个文件是干啥的&#xff0c;当然有的小伙伴可能一眼就认出来了&#xff0c;这个配置文件是做什么&#xff0c;是做maven配…