- 博客(514)
- 收藏
- 关注
原创 Java Spring Cloud Alibaba-Sentinel:(七)系统规则
系统规则系统规则则是针对整个系统设置限流规则,并不针对某个资源,设置页面如下:阈值类型包含以下五种:Load 自适应(仅对 Linux/Unix-like 机器生效):系统的 load1 作为启发指标,进行自适应系统保护。当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。系统容量由系统的 maxQps minRt 估算得出。设定参考值一般是 CPU cores 2.5。CPU usage(1.5.0+ 版本):当系统 CPU 使用率
2020-10-27 15:33:47
520
原创 Java Spring Cloud Alibaba-Sentinel:(六)热点规则
热点规则1.添加一个接口2.添加热点的规则3.测试效果热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的数据,并对其访问进行限制1.添加一个接口@GetMapping("/buy") @SentinelResource("buy") public ResponseEntity<String> buy(String prodName,Integer prodCount){ return ResponseEntity.ok("买" + prodCount + "
2020-10-27 15:32:09
322
原创 Java Spring Cloud Alibaba-Sentinel:(五)降级规则
降级规则1.RT1.1 添加测试接口1.2 添加降级的规则1.3 测试2.异常比例2.1 添加接口2.2 添加降级规则2.3 测试3.异常数3.1 添加规则3.2 测试该规则Sentinel 除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积。Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它
2020-10-27 15:27:33
332
原创 Java Spring Cloud Alibaba-Sentinel:(四)流控规则
流控规则1.QPS 直接失败2.线程数直接失败2.1 添加接口2.2 新增流控规则2.3 测试该规则3.关联3.1 在 TestController 里面添加 api 接口3.2 添加规则3.3 测试规则4.链路4.1 添加一个 Service4.2 添加接口4.3 声明资源4.4 添加链路规则4.5 测试该规则5.预热 Warm Up6.排队等待流量的控制规则。在簇点链路列表中,点击/hello 后面的流控按钮:出现:资源名:标识资源的唯一名称,默认为请求路径,也可以在客户端中使用 @Sen
2020-10-27 15:09:48
474
2
原创 Java Spring Cloud Alibaba-Sentinel:(三)搭建客户端
搭建客户端1.使用 IDEA 创建子模块2.添加依赖3.完整的 pom.xml4.添加一个配置文件5.添加一个启动类6.添加一个 Controller7.启动项目刚才我们搭建了 sentinel-dashboard,我们还需要搭建一个客户端,用于测试 sentinel 的各种功能我们将搭建如图所示的 Maven 项目结构:1.使用 IDEA 创建子模块选择 Maven 项目:点击 Next:Parent:选择 spring-cloud-alibaba-examplesName:
2020-10-27 11:28:53
725
9
原创 Java Spring Cloud Alibaba-Sentinel:(二)Sentinel 控制台安装
Sentinel 控制台安装1.下载 Sentinel2.启动 sentinel-dashboardSentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。本节将详细记录何如通过 Sentinel 控制台控制 Sentinel 客户端的各种行为。Sentinel 控制台的功能主要包括:流量控制、降级控制、热点配置、系统规则和授权规则等1.下载 Sentinel传送门找到:1.7.1 版本:点击 sentinel-dashboa
2020-10-27 11:16:00
353
原创 Java Spring Cloud Alibaba-Sentinel:(一)Sentinel 简介
Sentinel 简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性Sentinel 具有以下特征:丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,
2020-10-27 11:10:07
634
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(九)Spring Cloud Alibaba Nacos Config 常用的配置
Spring Cloud Alibaba Nacos Config 常用的配置
2020-10-27 10:19:42
455
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(八)获取多个配置
获取多个配置1.修改 config-client 里面的配置文件2.在 Nacos 里面完成这 2 个配置文件的创建3.获取配置信息除了通过上面的方式指定一个唯一配置外,我们还可以同时获取多个配置文件的内容1.修改 config-client 里面的配置文件server: port: 8070spring: cloud: nacos: discovery: server-addr: localhost:8848 config: extension-
2020-10-26 20:11:59
1147
7
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(七)配置回滚
配置回滚1.动态刷新2.修改配置文件3.历史版本的查询4.回滚Nacos 中,修改配置点击发布后会创建一个对应的历史版本快照,我们可以在 Nacos 控制台的历史版本列表中找到这些快照1.动态刷新该注解,可以刷新配置。故无需启动就能看见最新的配置信息。2.修改配置文件一直修改配置文件的属性即可。修改后提交3.历史版本的查询可以看见修改的日期4.回滚将配置信息回滚为之前的版本:根据修改时间,我们将 12:38:53 的数据回滚为 12:25:12 的数据:已经
2020-10-26 20:04:15
1496
1
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(六)配置划分实战
配置划分实战1.在 Nacos 控制台中新建一个名称为 dqcgm的命名空间2.在 Nacos 新建配置3.获取配置文件4.重启 config-client 测试Nacos 配置中心的 namespace、dataId 和 group 可以方便灵活地划分配置。比如,我们现在有一个项目需要开发,项目名称为 dqcgm,项目开发人员分为两个组:GROUP_A 和 GROUP_B,项目分为三个环境:开发环境 dev、测试环境 test 和生产环境 prod。dqcgm->GRUOR_A->de
2020-10-26 19:59:11
393
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(四)获取配置信息
获取配置信息1.添加一个配置文件2.新建一个启动类3.启动测试我们将演示在 config-client 里面获取上面我们写的 2 个配置信息1.添加一个配置文件文件名称为:注意:不是 application.yml ,bootstrap.yml 比 application 有更高的优先级。Idea 能自动的识别该文件的格式:编辑该文件,添加以下内容:server: port: 8070spring: cloud: nacos: discovery:
2020-10-26 19:19:42
1249
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(三)在 nacos-server 里面添加配置
在 nacos-server 里面添加配置在 nacos-server 里面添加配置Nacos-client 会从 Nacos-Server 里面获取配置文件,首先,Nacos-Server 里面需要有配置文件才能获取。新建如下所示的配置信息:Data ID: nacos-config.propertiesGroup : DEFAULT_GROUP配置格式: Properties配置内容: user.name=nacos-config-properties user.age=90
2020-10-26 19:12:21
460
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(二)项目的搭建
项目的搭建1.创建 config-client 项目2.添加依赖3.完整的 pom.xml 文件我们将在我们 nacos-examples 的基础上,搭建一个 config-client,用来今天 nacos 配置中心的案例测试1.创建 config-client 项目使用 IDEA 创建一个 Maven 模块:-选择 Maven:点击下一步:Parent:选择 nacos-examplesName:config-client其他的项,保持默认点击 FINISH 完成创建的过
2020-10-26 17:43:34
337
原创 Java Spring Cloud Alibaba-Nacos 配置中心:(一)Nacos Config 简介
Nacos Config 简介使用 Spring Cloud Alibaba Nacos Config,可基于 Spring Cloud 的编程模型快速接入 Nacos 配置管理功能上一节 Spring Cloud Alibaba Nacos 注册中心记录了 Nacos 作为注册中心的使用方式,这节继续记录下Nacos作为配置中心的使用方式。本节使用的Spring Cloud版本为Hoxton.SR3,Spring Cloud Alibaba 版本为 2.2.0.RELEASE,Spring Boo
2020-10-26 17:37:17
409
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(七)Nacos Discovery Starter 更多的配置项
Nacos Discovery Starter 更多的配置项
2020-10-26 17:33:44
1588
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(六)Nacos Discovery 对外暴露的 Endpoint
Nacos Discovery 对外暴露的 Endpoint1.给项目添加依赖2.修改配置文件3.查询效果Nacos Discovery 内部提供了一个 Endpoint, 对应的 endpoint id 为 nacos-discovery。我们通过该 Endpoint,能获取到:当前服务有哪些服务订阅者 ;当前应用 Nacos 的基础配置信息 ;1.给项目添加依赖假设我们想看服务提供者(provider)有那些订阅者,以及 Nacos 的基础配置信息。我们就需要给 provider 项目
2020-10-26 17:25:46
3937
8
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(五)负载均衡测试
负载均衡测试1.修改服务提供者的数据接口2.启动多个服务的提供者3.测试负载均衡4.更简单的远程调用测试当服务压力突然变大时,我们需要通过对服务进行弹性伸缩和动态的扩容,让服务展示更强的并发能力和容错能力1.修改服务提供者的数据接口修改服务提供者的接口,可以让我们很清晰的看到,我们当前调用的是那一台服务提供者。让我们来修改 provider 里面 EchoController 这个类代码如下:@RestControllerpublic class EchoController {
2020-10-26 17:22:09
404
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(四)使用 Nacos 做注册中心-5100字匠心出品
使用 Nacos 做注册中心1.provider 项目的完善1.1 添加一个 application.yml 配置文件1.2 添加一个启动类1.3 添加一个 API 接口1.4 启动 provider 测试2.consumer 项目的完成2.1 添加一个 application.yml 配置文件2.2 添加一个启动类2.3 服务发现的测试2.4 远程调用的测试1.provider 项目的完善Provider 现在还是一个空的项目,里面没有任何的数据接口1.1 添加一个 application.ym
2020-10-26 17:07:54
485
4
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(三)框架的搭建
框架的搭建1.创建 nacos-examples 的父项目2.创建服务的提供者 provider3.创建服务的消费者我们将使用搭建所示的测试案例1.创建 nacos-examples 的父项目我们将为 Nacos 创建一个单独项目,方便我们来演示和管理 nacos 的相关功能使用 IDEA 创建一个 Maven 模块:点击 next:Name:nacos-examples其他项将会自动的填充进去。点击 Finish 完成创建修改 nacos-examples 里面的 po
2020-10-26 16:30:11
518
2
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(二)Nacos Server 安装
Nacos Server 安装1.Nacos Server 的下载2.Nacos Server 目录的说明3.配置 Nacos Server4.Mysql 表的导入5.Nacos Server 的启动在使用 Nacos 之前我们首先要获取和安装 Nacos。1.Nacos Server 的下载因为 Spring Cloud Alibaba 2.2.0.RELEASE 内置的 Nacos client 版本为 1.1.4,所以我们使用这个 版本的 Nacos。Nacos 下载地址我们找到 1.
2020-10-26 16:19:28
492
9
原创 Java Spring Cloud Alibaba-Nacos 注册中心:(一)Nacos Discovery 简介
Nacos Discovery 简介使用 Spring Cloud Alibaba Nacos Discovery,可基于 Spring Cloud 的编程模型快速接入 Nacos 服务注册功能。服务发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容。Nacos Discovery 可以帮助您将服务自动注册到 Nacos 服务端并且能够动态感知和刷新某个服务实例的服务列表。除此之外,Nacos
2020-10-26 16:04:57
454
4
原创 Java Spring Cloud Alibaba-Nacos:(一)Nacos 整体简介
Nacos 整体简介1.什么是 Nacos?2.Nacos 的关键特性3.Nacos 的核心概念1.什么是 Nacos?Nacos 致力于发现、配置和管理微服务。它提供了一组简单易用的特性集,帮助快速实现动态服务发现、服务配置、服务元数据及流量管理。使用 Nacos 可以更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的
2020-10-26 16:01:32
447
原创 Java Spring Cloud Alibaba-依赖管理:(三)父项目的创建
父项目的创建1.spring-cloud-alibaba-examples 项目的创建1.1 使用 IDEA 创建一个 Maven 项目1.2 Spring Boot 版本的控制1.3 Spring Cloud 版本的控制1.4 Spring Cloud Alibaba 版本的控制1.5 设置为 pom 的版本方式1.6 完整的 pom.xml2.项目的打包2.1 删除项目里面多余的文件夹2.2 执行打包2.3 观察打包后的效果使用父项目能控制所有子项目依赖的全局版本,能有效的去除子项目里面重复的依赖,
2020-10-26 10:48:43
1384
5
原创 Java Spring Cloud Alibaba-依赖管理:(一)版本管理规范
版本管理规范项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且 spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此 Spring Cloud Alibaba 采取跟 SpringBoot
2020-10-26 10:30:11
871
原创 Java Spring Cloud Alibaba:(一)Spring Cloud Alibaba 简介
Spring Cloud Alibaba简介1.项目简介2.项目组件3.项目GitHub地址4.项目wiki5.本专栏的环境和软件6.版本校验1.项目简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案
2020-10-26 10:18:48
702
原创 Java 容器化技术Docker:(十)Docker 的数据管理
Docker 的数据管理1.数据卷管理2.数据卷容器管理2.1 创建数据卷容器2.2 创建容器并使用数据卷容器2.3 测试2.3.1 访问 eureka1 容器并在共享目录中写入数据2.3.2 访问 eureka2 容器并读取共享目录中的数据3.数据备份3.1 创建宿主机备份目录3.2 通过容器备份数据4.数据还原4.1 删除容器中的数据文件4.2 通过容器还原备份数据4.3 查看还原结果1.数据卷管理数据卷的作用是将宿主机的某个磁盘目录映射到容器的某个目录,从而实现宿主机和容器之间的数据共享doc
2020-10-25 20:43:14
275
原创 Java 容器化技术Docker:(九)Docker 容器的生命周期
Docker 容器的生命周期1.状态介绍1.1 圆形1.2 长方形1.3 菱形1.3.1 killed by out-of-memory(因内存不足被终止)1.3.2 container process exited(异常终止)1.3.3 出现容器被终止后,将进入 Should restart?选择操作:1.状态介绍1.1 圆形代表容器的五种状态:created:初建状态running:运行状态stopped:停止状态paused: 暂停状态deleted: 删除状态1.2 长方形
2020-10-25 20:37:06
349
原创 Java 容器化技术Docker:(八)本地镜像仓库
本地镜像仓库1.搭建本地仓库1.1 下载本地仓库镜像1.2 修改 Docker Service 配置1.3 修改 Docker Daemon 配置1.4 重启 Docker 服务1.5 启动容器1.6 容器启动状态1.7 浏览器查看本地仓库2.push 镜像3.pull 镜像1.搭建本地仓库1.1 下载本地仓库镜像docker pull registry1.2 修改 Docker Service 配置vi /usr/lib/systemd/system/docker.service修改内容
2020-10-25 20:33:19
300
2
原创 Java 容器化技术Docker:(七)阿里云镜像仓库
阿里云镜像仓库1.push 镜像2.pull 镜像在阿里云容器镜像服务中,创建镜像仓库。并依据镜像仓库信息完成镜像的 push 和 pull1.push 镜像dqcgm 只是占位符,每个人的不一样docker login --username=dqcgm registry.cn-hangzhou.aliyuncs.comdocker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/dqcgm/dqcgm_repo:[镜像版本号]docker
2020-10-25 20:23:45
376
原创 Java 容器化技术Docker:(六)Docker File 管理
Docker File 管理1.使用本地命令构建镜像1.1 下载 JDK 镜像1.2 创建构建文件1.2.1 语法解释1.3 构建镜像1.4 启动2.使用 IDEA 构建镜像2.1 修改 Docker 服务配置2.2 重启 docker 服务2.3 IDEA 项目 POM 依赖2.4 新增 IDEA 启动配置Docker File 是用来构建 Docker 镜像的构建文件,是由一系列命令和参数构成的脚本。案例构建一个 java 工程镜像1.使用本地命令构建镜像1.1 下载 JDK 镜像一般使用
2020-10-25 20:19:20
340
原创 Java 容器化技术Docker:(五)Docker 容器操作
Docker 容器操作1.新建容器1.1 options 常见参数说明2.新建并启动容器3.列出启动容器3.1 options 参数说明4.与运行中的容器交互4.1 options 参数说明5.停止容器6.启动容器7.强制停止容器8.暂停容器9.恢复容器10.删除容器11.查看容器日志12.查看容器中运行的进程13.查看容器内部详情14.复制容器数据到宿主机可以把容器看成简易版的 Linux 环境(包括 root 用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。1.新建容器doc
2020-10-25 20:03:28
342
原创 Java 容器化技术Docker:(四)Docker 镜像操作
Docker 镜像操作1.什么是 Docker 镜像2.列出镜像3.搜索镜像4.拉取镜像5.删除镜像1.什么是 Docker 镜像Docker 镜像是由文件系统叠加而成(是一种文件的存储形式)。最底端是一个文件引导系统,即 bootfs,这很像典型的 Linux/Unix 的引导文件系统。Docker 用户几乎永远不会和引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker 容器启动是需要一些文件的,而这些文件就可以
2020-10-25 19:45:54
272
原创 Java 容器化技术Docker:(三)镜像加速器配置
镜像加速器配置1.访问阿里云2.进入控制台3.搜索镜像加速器4.选择对应的 OS 并配置5.验证镜像加速器配置默认情况下 Docker 从 Docker Hub 上下载镜像资源,但速度很慢,可以通过配置国内的镜像加速器来解决本分栏以阿里云镜像加速器为例讲解1.访问阿里云传送门2.进入控制台3.搜索镜像加速器4.选择对应的 OS 并配置5.验证镜像加速器配置通过 docker info 命令验证镜像加速器配置,结果如下:...
2020-10-25 19:40:47
314
原创 Java 容器化技术Docker:(一)Docker 简介
Docker 简介1.什么是 Docker2.Docker 和 VM 的对比2.1 结构区别2.2 应用区别3.Docker 特点3.1 效率高3.2 职责明确3.3 结构完整3.4 契合微服务架构4.Docker 架构4.1 Docker daemon(Docker 守护进程)4.2 Client(Docker 客户端)4.3 Images(Docker 镜像)4.4 Container(容器)4.5 Registry(仓库)1.什么是 DockerDocker 是基于 Go 语言实现的开源容器项目
2020-10-25 19:33:13
972
原创 Java TX-LCN:(八)TCC 事务模式(多模式混合使用)
TCC 事务模式(多模式混合使用)1.新建项目 mongodb_insert1.1 修改 pom.xml1.2 新建配置文件1.3 新建实体类1.4 新建 service 及实现类1.5 新建控制器1.6 测试2.修改 student_insert2.1 新建 feign 接口2.2 修改 service 实现类在上面 LCN 事务模式代码基础上进行修改1.新建项目 mongodb_insert1.1 修改 pom.xml在当前项目中引入 mongodb 的依赖。如果在父项目中进行引入,则所有
2020-10-24 20:14:57
1188
原创 Java TX-LCN:(七)LCN 事务模式-6250字匠心出品
LCN 事务模式1.创建数据库表2.创建项目2.1 配置 pom.xml3.新建 pojo 项目4.创建项目 teacher_insert4.1 配置 pom.xml4.2 编写配置文件4.3 新建 mapper4.4 新建 service 及实现类4.5 新建控制器4.6 新建启动器5.新建项目 student_insert5.1 编写 pom.xml5.2 创建配置文件5.3 新建 Feign 接口5.4 新建 Mapper5.5 新建 service 及实现类5.6 新建控制器5.7 新建启动类6.测
2020-10-24 20:01:32
620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅