摘要:Swarm简介 1、Swarm是一个集群化任务编排工具,使用声明式的配置,配置文件接近docker-compose 2、Swarm是Docker引擎内置(原生)的集群管理和编排工具,Docker Swarm是Docker官方三剑客项目之一(但现在用的不是特别多了) Docker swarm的特点:
阅读全文
摘要:Sentinel 中的动态规则 1,Sentinel提供两种方式修改规则: 通过API直接修改(loadRules) FlowRuleManager.loadRules(List<FlowRule>rules);// 修改流控规则 DegradeRuleManager.loadRules(List<
阅读全文
摘要:请描述seata AT模式的前提条件和整体的机制 基于ACID的关系型数据库 java应用通过JDBC访问数据库 两阶段提交协议的演变: 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。 二阶段: 提交异步化,非常快速地完成。 回滚通过一阶段的回滚日志进行反向补偿。 请描
阅读全文
摘要:Seata-Server安装 1,首先确定版本,参考文档:版本说明 我们当前SpringCloud Alibaba的版本是2.2.9.RELEASE,对应Seata版本是1.5.2,故可以去github上找到对应版本物料下载:github:v1.5.2 2,上传到192.168.10.31并解压到指
阅读全文
摘要:Seata简介 Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务 官方中文网:https://seata.io/zh-cn github项目地址:https://github.com/seata/seata springCloudAlibaba下使
阅读全文
摘要:自定义GatewayFilter的方式 1、继承AbstractGatewayfilterfactory,自行提供承载配置的类以及配置加载后和配置字段对应的问题【参考自定义断言工厂实现】 2、继承AbstractNameValueGatewayfilterFactory,针对Name-Value结构
阅读全文
摘要:Harbor仓库管理 Harbor的概念: harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装 Harbor的特点: 1、天生拥有UI界面 2、基于角色的访问控制 3、支持日志审计(如日志的上传下载) 4、支持漏洞扫描 harbor的基
阅读全文
摘要:GlobalFilter的定义 1.GlobalFilter无需在配置文件中配置,作用于所有路由 2.Gateway内置了多种GlobalFilter可参考官方文档:global-filters 3.可用使用Ordered接口为filter指定顺序 @Component @Slf4j public
阅读全文
摘要:Linux简介 1.1 什么是Linux image-20220726102535136 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由Linus Torvalds于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSI
阅读全文
摘要:系统安装 发行版中不管是RedHat、CentOS还是Ubuntu,其内核都是来自Linux内核官网(www.kernel.org),不同发行版之间的差别在于软件管理的不同,所以不管使用哪一个发行版,只要理解其原理之后,各类发行版的区别其实不大。 我们后面的所有内容中将主要使用版本为7.9的Cent
阅读全文
摘要:docker的网络连接 为什么需要Docker网络? 先看下图是不使用docker的网络示意图 网络存在的问题: 1、使用宿主机网络因为需要转发请求,影响网络效率 2、使用宿主机网络需要绑定IP后期迁移机器需要更改IP Docker的网络模式: Docker的网络模式有:bridge模式(桥接)、h
阅读全文
摘要:为什么需要挂载路径 因为容器启动时时候会自动加一个存储层,数据都是写入到存储层的, 容器启动会创建一个存储层 随着容器结束存储层也会消失 容器会存在写时复制的问题(写时复制:由于镜像是不可改变的,如果需要修改centos层的内容,需要先将centos的内容读到读写层再进行修改),这样效率会很低 解决
阅读全文
摘要:DockerFile Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 创建Dockerfile文件 vi Dockerfile 具体内容如下: FROM openjdk:8-jdk-alpine VOLUME /tmp ADD learn-dock
阅读全文
摘要:Docker的运行流程 1、当用户发送一个操作指令首先它会先到达docker_host下docker_host代表docker的主机。 2、docker主机下有docker daemon的进程,它会接收指令并去执行。 3、docker daemon管理容器和本地仓库,当他收到run命令时,它会先检查
阅读全文
摘要:下面我们来安装Docker,安装可以参考下:https://baiyp.ren/Docker安装.html Docker安装步骤 1、设置防火墙 测试环境可以直接关闭防火墙,如果是生产环境只能运行一个服务开放一个端口。 2、设置安装源 如果不设置安装源,则安装不了Docker 3、安装服务 设置完安
阅读全文
摘要:传统部署方式容易造成的问题 1、环境问题 解决了依赖环境不同导致的问题产生,比如开发测试环境没有问题,生产环境出现问题 比如操作系统不一致 2、依赖问题 解决了各种依赖冲突导致的问题(比如java需要jdk环境,python需要python的环境) 为了解决依赖环境问题,它会将函数库以及依赖和应用打
阅读全文
摘要:部署模式经过了物理机时代、虚拟机时代、容器化时代 物理机部署 就是将服务直接部署在物理机中,这样部署会造成资源浪费以及环境冲突,成本较高。 缺点: 1、容易造成环境冲突 2、受到操作系统限制(比如.net应用在linux下不能运行) 3、资源利用率低,当资源冲突时可能需要部署多态物理机 虚拟机部署
阅读全文
摘要:Linux系统之所以更安全,是因为对文件权限有着非常严格的控制。 查看文件或目录的权限:ls-al 文件权限分别为:读( read ),写( write ),执行( execute),简写即为(r,w,x),-即无权限。 每个文件针对每类访问者定义了三种主要权限。其中,第一位:代表文件类型,后面每3
阅读全文
摘要:Linux用户管理 用户 & 用户组 用户: Linux是多用户多任务操作系统,换句话说,Linux 、系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。 不同用户具有不同的权限,毎个用户在权限允许的范围内完成不同的任务,Linux 正是通过这种权限的划分与管理,实现了多用
阅读全文
摘要:Vim文本编辑器 Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。 Vi 编辑器是 Unix 系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。 在 GNU 项目中,程序员在将 Vi 编
阅读全文
摘要:Linux文件管理 文件目录的层级结构 为了方便管理文件和目录,Linux 系统将它们组织成一个以根目录 / 开始的倒置的树状结构。Linux 中的目录,和 Windows 系统中的文件夹类似,不同之处在于,Linux 系统中的目录也被当做文件看待。 在 Linux 操作系统中,所有的文件和目录都被
阅读全文
摘要:帮助命令(help、man、info) Linux系统中的命令是非常多的,约2600个命令。我们不可能记住每个命令的使用方法,以及各个参数的功能。但好在Linux给我们提供了帮助手册,供我们查看命令的详细使用说明。 help:可以查看内部命令帮助信息 man:查看所有命令的详细信息 info:信息最
阅读全文
摘要:熔断降级规则-DegradeRule 1.可以通过调用 DegradeRuleManager.loadRules 方法来用硬编码的方式定义熔断降级规则 2.熔断降级规则DegradeRule定义中的重要属性如下 Field 说明 默认值 resource 资源名,即规则的作用对象 grade 熔断策
阅读全文
摘要:Sentinel简介 背景:随着微服务的流行,服务和服务之间的稳定性变得越来越重要 Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制。流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 Github项
阅读全文
摘要:Nacos 服务-领域模型 在Nacos Server 中,服务和配置是一等公民,而在Server侧服务信息的存储采用的是分级存储模型 服务(一组功能集的抽象):namespace,group,serviceName 标识一个服务 实例:服务在具体IP,端口上的提供者应用启动时的注册就是注册某个服务
阅读全文
摘要:灰度发布的概念 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/Btesting,即让一部分用户继续用产品特性A,一部分用户开始用产品新特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,直到把所有用户都迁移到B上面来 灰度发布可以保证整体系统的稳定,
阅读全文
摘要:配置热更新的定义: 1.外部配置中心配置项发生变化时,应用端在无需重启应用的情况下能自动同步最新配置数据 方式一、Environment热更新 1.Environment代表了应用的运行时环境,其中包括了profiles 和 properties,而properties属性可能来源于properti
阅读全文
摘要:对象的本质 对象本质上是一种特殊的数据结构(可以理解成一张表)其中class也就是类,也称为对象的设计图(或者对象的模板) 对象在计算机中是什么? 当运行java程序时程序是在内存的JVM虚拟机中运行的,而JVM虚拟机是在内存中运行的。 也就是当java程序运行的时候 说会将虚拟机运行到内存,再将程
阅读全文
摘要:线程池概述 线程池是一个可以去复用线程的技术。 不使用线程池的问题: 用户每发起一个请求,后台就需要创建一个新线程来处理,下次新任务来了肯定又要创建新线程处理的,创建新线程的开销是很大的,并且请求过多时,肯定会产生大量的线程出来,这样会严重影响系统的性能。 创建线程池 JDK5.0起提供了代表线程池
阅读全文
摘要:Nginx官网:https://www.nginx.com/ Nginx是一款高性能的HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务 Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(l
阅读全文
摘要:本文针对于redis的安装以及配置防火墙做基础的配置教学 安装及配置 yum install -y gcc wegt https://download.redis.io/releases/redis-4.0.6.tar.gz 各版本:https://download.redis.io/release
阅读全文
摘要:什么是线程? 线程(Thread)是一个程序内部的一条执行流程。 什么是多线程? 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行) 如何创建多线程: 有两种方法可以创建新的执行线程。 一种是将类声明为Thread的子类。 此子类应覆盖类Thread的run方法。 然后可以
阅读全文