自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker-compose部署springboot项目

1. Dockerfile教程Dockerfile教程:Dockerfile-菜鸟教程,B站Dockerfile视频教程2. docker-compose部署springboot项目Dockerfile:FROM openjdk:8-jdk-alpineWORKDIR /community-plus/notification-centerCOPY target/notification-center-0.0.1-SNAPSHOT.jar notification-center-0.0.1-S

2020-09-14 23:19:26 592

转载 基于 Docker 安装 RocketMQ

基于 Docker 安装 RocketMQ

2020-07-17 09:56:39 268

原创 Sentinel实现服务限流与降级

Sentinel一、什么是服务雪崩效应服务雪崩效应是一种因“服务提供者服务的不可用”(原因)导致“服务调用者服务不可用”(结果),并将不可用逐渐放大的现象。如下图所示1. 形成原因服务雪崩的过程可以分为三个阶段:服务提供者不可用;重试加大请求流量;服务调用者不可用;服务雪崩的每个阶段都可能由不同的原因造成,总结如下:2. 应对策略常见容错方案:超时限流舱壁模式(如每个controller都有自己独立的线程池,之间互不干扰)断路器模式3.

2020-07-06 00:14:22 3447

原创 调用链监控 Sleuth+Zipkin

一、剖析调用链监控原理1. 需求跨微服务的API调用发生异常,要求快速定位出问题出在哪里;跨微服务的API调用发生性能瓶颈,要求迅速定位出性能瓶颈。2. 调用链监控原理3. 常用调用链监控工具Spring Cloud Sleuth + ZipkinSkywalking、Pinponit二、整合Sleuth1.什么是SleuthSleuth是一个Spring Cloud的分布式跟踪解决方案。2. Sleuth**Span(跨度):**Sleuth的基本工作单元,它用一个6

2020-07-06 00:14:03 511

原创 自定义简单的微服务认证授权

一、有状态 vs 无状态二、微服务认证方案1. “处处安全”方案Oauth2.0 系列文章代表实现:Spring Cloud SecurityJBoss Keycloak示例代码:Spring Cloud Security示例代码1Spring Cloud Security示例代码2JBoss Keycloak示例代码2. 外部无状态、内部有状态方案3. “网关认证授权、内部裸奔”方案4. “内部裸奔”改进方案5. 方案对比与选择三、访问控制模型RABC

2020-07-06 00:09:16 921

原创 Spring Cloud Gateway服务网关

一、简介1. 概述Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix ZUUL,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功

2020-07-06 00:03:46 351

原创 RocketMQ & Spring Cloud Stream

一、RocketMQ简介1. 概述消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:削峰填谷: 主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题系统解耦: 解决不同重要程度、不同能力级别系统之间依赖导致一死全死提升性能: 当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统蓄流压测: 线上有些链路不好压测,可以通过堆积一定量消息再放开来压测2. RocketMQApache Alibaba RocketMQ

2020-07-05 23:59:19 2549

原创 Feign实现服务间的Http调用。

Feign通过Feign可以实现服务间的Http调用。Feign组成:1. Feign的简单使用maven引入坐标<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>每个需要被发现与注册的服务加上@

2020-07-05 23:50:45 2006

原创 Ribbon实现负载均衡

一、Ribbon简介Ribbon是Netflix开源的客户端侧负载均衡器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7HMN2fcA-1593961900086)(C:\Users\VULCAN\AppData\Roaming\Typora\typora-user-images\image-20200325000849429.png)]二、Ribbon实现负载均衡1. Ribbon 组成[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im

2020-07-05 23:11:59 610 2

原创 Nacos服务注册与发现、配置管理

一、nacos安装nacos官网:https://nacos.io/zh-cn/index.html1. docker-compose安装Clone项目git clone https://github.com/nacos-group/nacos-docker.gitcd nacos-docker单机模式 Derbydocker-compose -f example/standalone-derby.yaml up单机模式 Mysqldocker-compose -f exa

2020-07-05 23:10:59 4688 2

原创 8.逆波兰计算器的实现

一、中缀表达式转后缀表达式1. 思路初始化两个栈:运算符栈s1和储存中间结果的栈s2;从左至右扫描中缀表达式;遇到操作数时,将其压s2;遇到运算符时,比较其与s1栈顶运算符的优先级:​ 1.如果s1为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈;​ 2.否则,若优先级比栈顶运算符的高,也将运算符压入s1;​ 3.否则,将s1栈顶的运算符弹出并...

2020-03-23 17:38:47 141

原创 7. 栈实现简单的综合计算器(中缀表达式)

一、思路我们通过一个index(索引)值来遍历我们的表达式;定义两个栈,一个数栈,一个符号栈,数栈用来存入数字,符号栈用来存入符号;通过while循环遍历表达式,如果我们发现是当前索引值是数字时,定义一个字符串keepNum来暂存当前的数字,若此时索引是表达式的最后一个索引,则直接把当前索引的值压入数栈;若此时索引不是表达式的最后一个索引,通过查看索引 index+1 的值(...

2020-01-15 21:27:16 488

原创 6.栈

一、概念1. 定义栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。特性: 先进后出,后进先出。2. 栈的应用场景子...

2020-01-11 16:25:58 257

原创 5. 环形链表实现约瑟夫问题

一、概念1. 环形链表环形链表是另一种形式的链式存贮结构。它的特点是表中最后一个结点的指针域指向第一个结点,整个链表形成一个环。2. 约瑟夫问题设编号为1,2,…,n 的n个人围坐一圈,约定编号为 k (1 ≤ k ≤ n) 的人从1开始报数,数到m的那个人出列,他的下一位又从1开始报数,数到m的那个人又出列,以此类推,直到所有人都出列为止,由此产生一个出队编号的队列。二、环形链表...

2020-01-11 14:03:58 208

原创 4. 双向链表

一、概念双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。图解:二、双向链表的相关操作1. 思路:遍历:和单链表一样的思路,只是可以向前遍历,也可以向后遍历;添加:temp.next = newNode,newNode.pre = temp ( temp表...

2019-12-19 21:03:19 146

原创 3.单链表

一、概念单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。节点结构:data域–存放结点值的数据域;next域–存放结点的直接后继的地址(位置)的指针域(链域)。头指针head和终端结点:...

2019-12-18 16:02:40 1367

原创 2. 队列

一、队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。二、数组模拟队列1. 思路队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中maxSize是该队列的最大容量。因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front 及rear 分别记录队列前后端的下标...

2019-12-11 18:36:26 133

原创 1.稀疏数组

一、需求先看一个实际需求:编写的五子棋程序中,有存盘退出和续上盘的功能:分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据。->稀疏数组二、基本介绍当一个数组中大部分元素为0或者为同一个值时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值;把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩...

2019-12-10 21:20:04 159 1

原创 Java注解

一、概念1. 定义Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以 ‘@注解名’ 在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据(注解)的访问。另外,你可以在编译时选择代...

2019-12-06 22:24:24 94

原创 Java反射机制

一、反射的概念1.定义:将类的各个组成部分封装为其他对象,这就是反射机制。2.Java代码在计算机中经历的阶段:3.好处:(1) 可以在程序运行的过程中,操作这些对象。(2) 解耦,提供程序的可扩展性。二、获取Class对象的方式1. 获取方式:Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象。多用于配置文件,将类名定义在配置文件中。读...

2019-12-06 19:18:55 117

原创 docker-compose安装rabbitmq(单机版)

docker-compose.yml:version: '3.1'services: rabbitmq: image: rabbitmq:management container_name: rabbitmq #restart: always ports: #- 5672:5672 - 15672:15672 # - "2...

2019-11-16 19:18:15 668

原创 docker-compose搭建Elasticsearch集群和Kibana

首先需要修改宿主机的max_map_count宿主机默认max_map_count的值太小了,需要设大到262144查看max_map_count :cat /proc/sys/vm/max_map_count65530 设置max_map_count:sysctl -w vm.max_map_count=262144vm.max_map_count = 262144只创建两个...

2019-11-03 14:37:16 861

原创 docker-compose安装mysql(单机版)

docker-compose安装mysql单机版:version: '3.1'services: db: # 目前 latest 版本为 MySQL8.x image: mysql container_name: tensquare-mysql restart: always environment: MYSQL_ROOT_PASSWOR...

2019-10-30 17:48:13 537

原创 docker-compose安装nacos

开发阶段安装的是单机版的nacos,后期部署会考虑k8s安装或者集群集群模式可以使用nginx反向代理实现负载均衡git克隆Nacoscd /usr/local/docker git clone https://github.com/nacos-group/nacos-docker.git //git克隆nacos到本地cd nacos-dockerdocker-compose ...

2019-09-11 20:29:39 973 3

原创 vue中通过时间戳格式化时间

后台传过来long类型的时间戳在vue中格式化成指定类型编写写时间格式化函数export function _dateFormat(date,fmt) { var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), ...

2019-09-01 22:51:25 1791 1

原创 docker-compose安装redis单机版

通过docker-compose安装redisdocker-compose.yml文件version: '3.1'services: redis: image: redis:5.0.4 container_name: redis ports: - 6379:6379 restart: always volumes: - ...

2019-08-26 23:54:39 569

原创 自定义redis配置

安装redis必须要修改的配置:

2019-08-23 17:03:02 254

原创 使用axios的post方式传参遇到的坑(@RequestParam和@RequestBody的区别)

这是我自己封装的post方法这是我传给data的参数但发现前台报错,我发现Form Data成为了这样的格式,把传入的参数都当成了key,但value部分却是null找到的解决方法是导入qs库(qs库已经包含在axios中,不需要重新安装),把封装的post方法里面的“JSON.stringify(data)”改成qs.stringify(data)即可这样前台Form Da...

2019-08-15 16:37:28 12224 1

转载 虚拟机中linux系统启动后 一直黑屏解决办法

虚拟机中linux系统启动后 一直黑屏解决办法情况一(一直黑屏):宿主机(windows)管理员模式运行CMD, netsh winsock reset 然后重启电脑netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢...

2019-06-06 20:23:01 28825 11

原创 Spring 基于注解的AOP配置注意事项:通知类方法的执行顺序

Spring 基于注解的AOP配置注意事项通知类方法的执行顺序基于XML:前置通知(Before) → 后置通知(AfterRunning)/异常通知(AfterThrowing) → 最终通知(After)基于注解前置通知(Before) → 最终通知(After) → 后置通知(AfterRunning)/异常通知(AfterThrowing)所以,基于注解的AOP配置通知类的方法...

2019-05-30 11:14:01 1108 1

原创 mysql的jdbc连接配置问题

5.7版本的mysql数据的连接driver = com.mysql.jdbc.Driverurl = jdbc: mysql://localhost:3306/mybaseusername = rootpassword = 12348.0版本的mysql数据的连接 与 5.0的有所不同,下面直接贴出 8.0版本应该有的 jdbc驱动连接,还有mysql的jdbc jar包要8.0以上...

2019-05-21 15:22:16 8067 1

原创 Maven个人笔记

1.解压部署Maven核心程序①下载及安装MavenMaven最新版本下载链接:http://maven.apache.org/download.cgiLinux系统下载: apache-maven-3.6.1-bin.tar.gzWindow系统下载: apache-maven-3.6.1-bin.zip下载完成后将apache-maven-3.2.2-bin.zip解压到一个...

2019-05-21 12:20:12 143

空空如也

空空如也

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

TA关注的人

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