微服务学习(黑马)

学习黑马的微服务课程的笔记

导学


微服务架构


认识微服务


SpringCloud

spring.io/projects/spring-cloud/


服务拆分和远程调用


根据订单id查询订单功能


存在的问题

硬编码


eureka注册中心

搭建eureka


服务注册


在order-service中完成服务拉取


Ribbon负载均衡


Nacos注册中心

前往GitHub下载1.4.1版本,下载后解压,在conf中可以修改占用端口(默认8848)

在bin目录下打开终端执行:./startup.cmd -m standalone

                                        -m:模式        standalone:单机启动

默认账号密码都是nacos


服务注册到nacos


Nacos服务分级存储

将orderservice配置集群为GX(8080),将userservice配置集群为GX(8081)和GD(8088)。

这样order(GX)所有的请求会优先到user(GX),如果user(GX)宕机了,才会访问user(GD)。

nacos会将请求优先发送给同集群,集群中默认随机分配。


服务实例的权重设置

权重越大接收请求越多。

权重为0时,服务不会接收请求,当我们需要进行版本更新或者维护时,可以使用该方法。


环境隔离

新建命名空间

上面操作不写id会自动生成一个

修改orderservice:

此时重新启动orderservice:

现在访问order/101

idea控制台显示:没有userservice实例


eureka和nacos的区别


Nacos配置管理

统一配置管理

 

配置文件命名:服务名称-服务环境.文件类型


项目获取Nacos中的配置文件:项目启动时到nacos中获取配置文件,再和项目中的配置文件组合,因此我们要把nacos地址放到bootstrap.yml中(bootstrap.yml是springboot提供的,它的优先级很高)。

上面文件后缀名要和自己设置的一样,如我应该改为yml。


配置自动刷新


多环境配置共享


Nacos集群搭建

跟着黑马给的文档搞就行了


Feign

使用feign


feign自定义配置


Feign性能优化


Feign最佳实践

方式二中注意:


统一网关Gateway

搭建网关

网关是一个独立的服务


路由断言工厂

 


路由过滤器GatewayFilter


全局过滤器GlobalFilter


过滤器的执行顺序


跨域问题处理

 


Docker


初识Docker


安装docker

Centos7(最低要求)

为防止之前可能下载过低版本docker,先卸载docker

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce

安装docker

配置yum工具

yum install -y yum-utils \device-mapper-persistent-data \lvm2 --skip-broken

更新yum本地镜像源(默认到国外获取镜像,速度慢)

# 设置docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast

安装(ce为社区免费版)

yum install -y docker-ce

关闭防火墙

# 关闭
systemctl stop firewalld
#禁止开机启动防火墙
systemctl disable firewalld
#查看防火墙状态
systemctl status firewalld

启动docker

systemctl start docker

查看是否启动成功

方法1:systemctl status docker方法2:docker -v

配置docker镜像,docker官方镜像仓库网速较慢,需要设置为国内镜像

# 使用腾讯云云服务器演示
vim /etc/docker/daemon.json
# 添加
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
# 保存退出后重新加载daemon文件重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

docker镜像相关命令


docker容器相关命令


创建运行容器


进入容器内部修改内容

sed -i 's#Welcome to nginx#传智教育欢迎你#g' index.html
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html


数据卷

 

创建数据卷

挂载数据卷


除了数据卷挂载还可以直接宿主机目录和宿主机文件挂载


Dockerfile自定义镜像

镜像结构


构建镜像

命令最后的点表示dockerfile在当前目录下。

上面的dockerfile有很多可以减少的地方,上面我们基于ubuntu开始构建,需要自己配置jdk,但我们可以基于java:8-alpine


DockerCompose

安装DockerCompose

curl -L https://github.com/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-composeecho "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

DockerCompose部署微服务

 


RabbitMQ


MQ介绍

RabbitMQ安装和入门

在Centos7中使用Docker安装

docker run \-e RABBITMQ_DEFAULT_USER=itcast \-e RABBITMQ_DEFAULT_PASS=123321 \--name mq \--hostname mq1 \-p 15672:15672 \ #rabbitmq的管理平台的端口-p 5672:5672 \ #之后做消息通信的端口,发消息收消息要通过该端口-d \rabbitmq:3-management


RabbitMQ常见消息类型

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

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

相关文章

水利自动化控制系统平台介绍

水利自动化控制系统平台介绍 在当今社会&#xff0c;水资源的管理和保护日益成为全球关注的重要议题。随着科技的进步和信息化的发展&#xff0c;水利监测系统作为一种集成了现代信息技术、自动化控制技术以及环境监测技术的综合性平台&#xff0c;正在逐步改变传统的水利管理模…

快照技术的基本介绍

目录 一、概述 二、名词解释 三、镜像分离 四、COW 五、ROW 六、参考 一、概述 全球网络存储工业协会 SNIA&#xff08;Storage Networking Industry Association&#xff09;对快照&#xff08;Snapshot&#xff09;的定义是&#xff1a;关于指定数据集合的一个完全可用…

广佛站点导航助手小程序产品使用说明书

一、产品简介 广佛站点导航助手小程序是一款专为广佛地区用户设计的地铁导航工具。通过获取用户的实时位置信息&#xff0c;小程序能够迅速定位并展示离用户最近的三个地铁站点。用户可以通过本小程序轻松查找地铁站点&#xff0c;规划出行路线&#xff0c;提高出行效率。 二、…

【背】蓝桥杯大模板

蓝桥杯大模板 /* 头文件声明区 */ #include <STC15F2K60S2.H>//单片机寄存器专用头文件 #include <Init.h>//初始化底层驱动专用头文件 #include <Led.h>//Led底层驱动专用头文件 #include <Key.h>//按键底层驱动专用头文件 #include <Seg.h>//…

Win11 WSL2 install Ubuntu20.04 and Seismic Unix

Win11系统&#xff0c;先启用或关闭Windows功能&#xff0c;勾选“适用于Linux的Windows子系统”和“虚拟机平台”两项 设置wsl默认版本为wsl2&#xff0c;并更新 wsl --list --verbose # 查看安装版本及内容 wsl --set-default-version 2 # 设置wsl默认版本为wsl2 # 已安装…

Debian 安装 Docker

Debian 安装 Docker。 这是官方安装文档 Install Docker Engine on Debian | Docker DocsLearn how to install Docker Engine on Debian. These instructions cover the different installation methods, how to uninstall, and next steps.https://docs.docker.com/engine/i…

我的 Lisp 学习历程:从新手到熟练掌握

Lisp&#xff0c;作为一种功能强大且具有独特思维方式的编程语言&#xff0c;一直以来都吸引着我。在我的编程之旅中&#xff0c;我决定深入学习 Lisp&#xff0c;并在这个过程中经历了许多挑战和成长。本文将分享我在 Lisp 学习过程中的心路历程。 第一次接触 Lisp&#xff0…

计算机网络——抓取icmp包

前言 本博客是博主用于记录计算机网络实验的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 抓包 我们是用Wireshark工具来进行抓包的。 ​在安装时候一路打勾安装即可&#xff0c;不过最后那个因为是英文&#xff0c;一定要看清&#xff0c;点了立即重启&am…

mars3d.MaterialType.Image2修改配置面状:图片2的speed数值实现动画效果说明

摘要&#xff1a; mars3d.MaterialType.Image2修改配置面状&#xff1a;图片2的speed数值实现动画效果说明 前提&#xff1a; 1.在示例中&#xff0c;尝试给mars3d.MaterialType.Image2材质的图片加上speed参数&#xff0c;实现动画效果&#xff0c;但是没有看到流动效果说明…

去掉el-date-picker弹窗默认回显当前月份的方法

打开日期弹窗&#xff0c;默认会显示当前月份&#xff0c;如图 会发现加了穿透&#xff1a;&#xff1a;v-deep 样式也不生效 .el-month-table .today .cell {color: pink&#xff1b;font-weight: 400;}要让 popper-class“xclass” :append-to-body“false” 这俩配合着使用…

界面设计【1】-项目的UI设计css

引言&#xff1a; 本篇博客对简单的css html界面设计做了简要介绍 这篇博客主要就是介绍了做横向项目中&#xff0c;CSS界面设计与优化。 界面设计【1】-项目的UI设计css 1. 什么是css?2. css编程demo3. 可视化效果 1. 什么是css? CSS是层叠样式表&#xff08;Cascading S…

每日一题 — 将 x 减到 0 的最小操作数

思路&#xff1a; 题目要求是让我们从数组的最左端和最右端进行操作&#xff0c;这样的话解题的难度大大提升&#xff0c;我们可以用 正难则反 的思想&#xff1a; 题目中要求是减去数组中的数刚好等于X&#xff0c;我们可以转换成 数组中某一段的和等于 数组的总长减去X(sum -…

Godot插值、贝塞尔曲线和Astar寻路

一、插值 线性插值是采用一次多项式上进行的插值计算&#xff0c;任意给定两个值A和B&#xff0c;那么在A和B之间的任意值可以定义为&#xff1a;P(t) A * (1 - t) B * t&#xff0c;0 < t < 1。 数学中用于线性拟合&#xff0c;游戏应用可以做出跟随效果&#xff08;…

vivado FFT IP核使用

matlab生成正弦函数 采样点数为512&#xff0c;每个采样点位宽为16位&#xff0c;其中最高位为符号为&#xff08;0正&#xff0c;1负&#xff09;。换句话说&#xff0c;如果用ROM存储正弦函数的coe文件的话&#xff0c;ROM ip核的位宽设置为16&#xff0c;深度为512. clear…

5G智慧港口简介(二)

5G 技术赋能智慧港口 5G 标准的制定是一个不断发展和完善的过程:第一版国际标准(Rel-15)已全部完成,第二版增强标准(Rel-16)正在制定中,预计 2020 年 3 月完成,面向演进的 Rel-17 标准已启动技术布局,进入立项规划阶段。 5G 是一张具备大速率、大连接、低时延的网络…

Vue ElementUI el-input-number 改变控制按钮 icon 箭头为三角形

el-input-number 属性 controls-position 值为 right 时&#xff1b; <el-input-number v-model"num" controls-position"right" :min"1" :max"10"></el-input-number>原生效果 修改后效果 CSS 修改 .el-input-number…

【LeetCode热题100】41. 缺失的第一个正数(数组)

一.题目要求 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 二.题目难度 困难 三.输入样例 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3…

g++ 13.2.0 编译 C++模块

创建并使用自己的C模块&#xff08;Windows10MSVC&#xff09;-CSDN博客 在这篇文章中使用的是MSVC来编译模块和使用模块的代码&#xff0c;现在换g再来编译一次。 环境&#xff1a; ubuntu 23.10 sharpsharp-vbox ~> g --version g (Ubuntu 13.2.0-4ubuntu3) 13.2.0 C…

深度学习——离线数据增强——图片resize

因为有一批数据有点儿小&#xff0c;数据质量不佳&#xff0c;为了标注方便使用数据增强将数据固定在1080P&#xff0c;方便标注&#xff0c; # -*- coding: UTF-8 -*- """ Project &#xff1a;yolov5_relu_fire_smoke_v1.4 IDE &#xff1a;PyCharm Au…

STM32电机控制SDK介绍

目录 一、STM32 MC SDK包含以下项目&#xff1a; 二、电机控制应用流程 三、 MC 软件应用程序设计工作流程 四、STM32 MC固件 五、PMSM FOC 库 一、STM32 MC SDK包含以下项目&#xff1a; STM32 MC firmwareSTM32 MC WorkbenchSTM32 MC Board ManagerSTM32 Motor PilotTh…