自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 SpringCloud AliBaBa(五)-Nacos集成seata实现分布式事务

Nacos集成Seata AT模式

2023-03-14 20:30:38 1197 1

原创 SpringCloud AliBaBa(四)-Nacos集成gateway实现微服务网关

Nacos集成GateWay

2023-03-12 21:00:00 409

原创 SpringCloud AliBaBa(三)-Nacos集成OpenFeign实现微服务调用

Nacos集成OpenFeign

2023-03-10 21:00:00 445

原创 SpringCloud AliBaBa(二)-Nacos实现服务注册发现与配置中心

续上文Nacos服务已被启动.下面新建服务并将服务注册到Nacos上。

2023-03-08 20:00:00 214

原创 SpringCloud AliBaBa(一)-Nacos

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架。

2023-03-08 11:50:53 198

原创 CAP理论与Nacos,Eureka,Zookerper之间的联系

CAP

2023-02-14 10:36:09 891 1

原创 SpringBoot+Dubbo+Zookerper搭建微服务

SpringBoot+Dubbo+Zookerper搭建微服务

2022-09-08 10:35:10 574

原创 Gateway结合Redis使用令牌桶算法实现接口限流

计数器算法采用计数器实现限流有点简单粗暴,一般我们会限制一秒钟的能够通过的请求数,比如限流qps为100,算法的实现思路就是从第一个请求进来开始计时,在接下去的1s内,每来一个请求,就把计数加1,如果累加的数字达到了100,那么后续的请求就会被全部拒绝。等到1s结束后,把计数恢复成0,重新开始计数。具体的实现可以是这样的:对于每次服务调用,可以通过AtomicLong#incrementAndGet()方法来给计数器加1并返回最新值,通过这个最新值和阈值进行比较。这种实现方式,相信大家都知道有一个弊端:如果

2022-06-29 12:45:44 513 1

原创 SpringCloud Alibaba分布式事务Seata AT模式实战

SpringCloud Eureka + Seata实战

2022-06-23 22:20:45 423

原创 Mysql知识点整理

Mysql知识点整理

2022-06-14 22:30:25 305

原创 从0到1部署SpringBoot服务到Docker容器中

从0到1部署SpringBoot服务到Docker容器中

2022-06-07 14:41:24 190

原创 Mybatis动态SQL

多个查询条件,通常会使用 标签来进行控制。 标签可以自动的将第一个条件前面的逻辑运算符 (or ,and) 去掉.这三个标签需要组合在一起使用,类似于 Java 中的 switch、case、default。只有一个条件生效,也就是只执行满足的条件 when,没有满足的条件就执行 otherwise,表示默认条件。在测试类中,即使同时添加name和county的值,最终的sql也只会添加第一个属性值。3选1使用set标签可以将动态的配置 SET 关键字,并剔除追加到条件末尾的任何不相关的逗号。使用 i

2022-06-02 15:09:02 456

原创 Redis进阶

Redis事务MULTI、EXEC、DISCARD和WATCH命令是Redis事务功能的基础。Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项:>Redis会将一个事务中的所有命令序列化,然后按顺序执行。Redis不可能在一个Redis事务的执行过程中插入执行另一个客户端发出的请求。这样便能保证Redis将这些命令作为一个单独的隔离操作执行。 > 在一个Redis事务中,Redis要么执行其中的所有命令,要么什么都不执行。因此,Redis事务能够保证原子性。

2022-06-02 14:46:34 411

原创 Springboot集成log4j2.xml

Log4j2

2022-06-01 20:47:29 804

原创 简单Shell启动Jar

#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=demo.jar#使用说明,用来提示输入参数usage() { echo "Usage: sh demo.sh [start|stop|restart|status]" exit 1}#检查程序是否在运行is_exist() { pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' ` #如果不...

2022-05-30 16:40:35 354

原创 JVM 常用调优命令详解

top主要查看%CPU、%MEM,还有load average。load average后面的三个数字,表示系统1分钟、5分钟、15分钟的平均负载值。如果三者平均值高于0.6,则复杂比较高了。当然,用uptime也可以查看。

2022-05-30 15:05:03 592

原创 JVM基础及JVM调优及常见参数详解

什么是JVM可以参考下面这篇文章一篇文章掌握整个JVM,JVM超详细解析!!!_小杰要吃蛋的博客-CSDN博客_jvm 解析常见JVM参数-XX:+PrintGC 每次触发GC的时候打印相关日志-XX:+UseSerialGC 串行回收-XX:+PrintGCDetails 更详细的GC日志-Xms 堆初始值-Xmx 堆最大可用值-Xmn 新生代堆最大可用值-XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例.含以-XX:SurvivorR

2022-05-25 13:06:39 1879 1

原创 Rabbit MQ 消息确认机制与死信队列应用

前言:RabbitMQ中间件的引入对于整个系统来说是一把双刃剑,在对系统进行解耦的同时也降低了消息的可靠性,但是对于某些系统来说我们又必须保证我们的消息是不会丢失的,因此rabbitmq给提供了以下一些功能来保证消息的可靠性,本文我们主要讲解消息可靠性中的 发送端确认机制 以及 消费端确认机制。1.发送端确认机制:2.1 ConfirmCallback方法ConfirmCallback 是一个回调接口,消息发送到 Broker 后触发回调,确认消息是否到达 Broker 服务..

2022-05-18 14:34:58 739

原创 SpringBoot整合RabbitMQ:6种模式实战

1.rabbitmq介绍rabbitmq是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。 1).rabbitmq的作用: 消峰、异步、解耦 2).rabbitmq的特点: 可靠性:通过持久化、传输确认、发布确认等操作保证可靠性 灵活的路由:在消息进入队列之前,通过Exchange来路由消息 对于典型的路由功能,Rabbit已经提供了一些内置的Exc...

2022-05-12 00:56:16 1983

原创 Jenkins基础

一、相关概念1.1 Jenkins概念:Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。1.2 Jenkins目的:1、持续、自动地构建/测试软件项目。2、监控软件开放流程,快速问题定位及处理,提示开放效率。1.3 特性:开源的java语言开发持续集成工具,支持CI,CD。易于安装部署配置:可通过yum安装

2022-05-11 14:47:04 327

原创 Redis基础

一、Redis 是什么Redis 是一个开源的、key-value 结构的、非关系型数据库。它支持存储的 value 类型相对更多,包括 String(字符串)、List(列表)、Set(集合)、Sorted Set(有序集合) 和 Hash(哈希),而且这些操作都是原子性的。在此基础上,Redis 支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。Redis 可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。使用 R

2022-05-10 23:36:57 319

原创 使用Redis官方推荐Redlock实现分布式锁

前言:实现分布式锁的几种方案1.Redis实现 (推荐)2.Zookeeper实现3.数据库实现项目中使用Eureka注册中心,所以未研究Zookeeper实现.什么是分布式锁分布式锁的特征: 「互斥性」: 任意时刻,只有一个客户端能持有锁。 「锁超时释放」:持有锁超时,可以释放,防止不必要的资源浪费,也可以防止死锁。 「可重入性」:一个线程如果获取了锁之后,可以再次对其请求加锁。 「高性能和高可用」:加锁和解锁需要开销尽可能低,同时也要保证高

2022-04-24 20:12:12 2280

原创 Spring cloud Config实现配置拉取及手动刷新

前言使用了SpringCloud的原生配置中心config后,会发现当配置文件更新后,配置中心的客户端无法获取更新后的信息,这是由于配置中心的缓存机制导致的,而SpringCloud也提供了刷新的两种方式,今天就处记录一下其中一种——手动刷新的配置过程。Config服务搭建依赖配置config有两种拉取配置文件的方式,一种是从git上拉取,一种是从本地拉取,本文从git拉取配置文件并实现手动刷新.启动类加上@EnableConfigServise注解U..

2022-04-21 17:35:09 1387

原创 gateway实现路由转发和负载均衡

与ribbon不同,gatway通过服务注册中心的服务名/接口实现负载均衡的能力.gateway配置文件eg:通过配置routes拦截请求,此处根据Path来断言匹配不同的路径.根据predicates断言拦截到请求/user请求,转发至注册中心名为userservice的服务上.gateway通过注册中心的服务名开启loadbalancer.简称lb,默认使用轮询策略userservice配置开启prefer-ip-address:true,不然会gateway会找不到服.

2022-04-19 21:36:06 3129 3

原创 gateway确保服务只能通过gateway转发,禁止直接调用接口访问

Spring Cloud Gateway 的目标,不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,负载均衡和限流.用户直接访问服务,则失去了gateway的意义.用户不能直接访问服务,必须在gateway层面进行鉴权后在对服务发起请求.实现对用户的鉴权以及接口的限流.并且可以在gateway层面实现对服务的负载均衡.Gateway实现请求统一转发实现思路:所有的请求都需要通过gateway进行转发,所以就需要在gateway层面对用户请求添加一个

2022-04-16 21:36:20 6647

转载 Hashmap底层源码解析

通俗易懂Hashmap源码解析_java阳开发之路的博客-CSDN博客_hashmap源码

2022-04-09 21:06:31 67

原创 线程池的核心参数以及运行原理

java创建多线程有如下四种方式:继承Thread类创建线程 实现Runnable接口创建线程(无返回值) 使用Callable和Future创建线程(有返回值) 使用线程池创建(使用java.util.concurrent.Executor接口)Note:Thread其实也是Runable的一种,Thread类也是实现了Runable接口....

2022-04-09 16:12:38 3071

原创 Spring Cloud GateWay 鉴权路由

背景通过用户的一些基本信息生成Token(第三方Team提供此service),在向GateWay发送请求之前会使用RestTemplate请求第三方Token接口获取JWT格式Token,在Header中添加此Token.然后在请求gateway之后,转发之前,向自己Cloud 中的Auth Service发起请求验证请求,解析Token.判断用户是否存在权限访问Api.直接上GateWay,Auth Service 只需解析JWT Token,返回用户所拥有的Group,根据Group来确定

2022-04-07 18:51:57 945

原创 JMeter 性能测试

JMeter安装1.由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9)JMeter版本是需要个JDK版本对应的官网下载地址:Java Downloads | Oracle2.Jmeter官网下载地址:Apache JMeter - Download Apache JMeter启动JMeter双击JMeter.bat设置中文点击菜单栏Options-->>Choose language-..

2022-04-06 01:01:51 616

原创 Spring cloud Config + Git 分发配置文件,修改配置文件无需重启应用

配置不在需要和应用程序一起打包和部署。这样的话,配置的变更或回滚就在不需要重新构建和重新部署应用了。配置甚至可以在运行时进行变更,无需重启应用。共享通用配置的微服务管理自己的属性设置副本,并且能够管理共享的相同属性。如果需要对属性进行变更只需要在一个地方执行一次就可以应用到所有的微服务上SpringcloudconfigServer提供了中心化的配置功能,应用中的所有微服务均可以依赖该服务器来获取配置。因为它是中心化的,所以是一个一站式的配置商店,所有的服务都可以使用它,另外它还能够为特定服务提供专

2022-04-03 20:29:32 836

原创 SpringBoot结合自定义线程池异步处理

SpringBoot结合自定义线程池异步处理

2022-03-30 12:08:39 1104 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除