自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Security OAuth2 JWT之快速入门篇(个人笔记)

1.基本概念1.1.什么是认证        进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?        认证是为了保护系统的隐私数据与资源,用户

2021-12-21 16:36:01 488 1

原创 Elasticsearch之快速入门篇(个人笔记)

Elasticsearch概述       Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。  Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理,因为Lu

2021-12-04 22:53:03 1191

原创 MyBatisPlus(个人笔记)

MyBatisPlus1、MyBatisPlus概述润物无声:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。效率至上:只需简单配置,即可快速进行单表 CRUD 操作,从而节省大量时间。丰富功能:代码生成、物理分页、性能分析等功能一应俱全。JPA、tk-mapper、MyBatisPlus都可以用来偷懒的!简介官网:MyBatisPlus ,MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new wind

2021-11-14 18:03:31 4614 3

原创 Docker之快速入门篇(个人笔记)

安装Docker进入Docker提供的下载地址:https://hub.docker.com/editions/community/docker-ce-desktop-mac找到 installation ,我这边选 Mac with Intel chip 进行下载,因本电脑的处理器是 Intel 英特尔 的,不是 Apple 苹果。下载好之后,解压下载包拖到 Applications 里,接下的操作就是傻瓜式点击安装就完了。安装授权:这里的意思就是:2021年8月31,Docker 宣布

2021-11-12 23:57:20 3306

原创 雪花算法(个人笔记)

关于雪花雪花(snowflake)在自然界中,是极具独特美丽,又变幻莫测的东西:雪花属于六方晶系,它具有四个结晶轴,其中三个辅轴在一个基面上,互相以60度的角度相交,第四轴(主晶轴)与三个辅轴所形成的基面垂直;雪花的基本形状是六角形,但是大自然中却几乎找不出两朵完全相同的雪花,每一个雪花都拥有自己的独有图案,就象地球上找不出两个完全相同的人一样。许多学者用显微镜观测过成千上万朵雪花,这些研究最后表明,形状、大小完全一样和各部分完全对称的雪花,在自然界中是无法形成的。雪花算法雪花算法的原始版本是

2021-11-08 22:49:13 4451

原创 Spring Cloud之-Spring Cloud Alibaba Seata处理分布式事务- 20(个人笔记)

1、分布式事务问题在分布式架构的系统中,通常会存在分布式事务的问题,也就是一次业务操作可能需要跨多个数据源或多个系统进行,这就是分布式事务问题,多个数据源在物理上是分开的,但是在业务上必须保证是整体的,否则就会出现错误的数据。...

2021-11-07 22:05:39 318

原创 Spring Cloud之-Spring Cloud Alibaba Sentinel实现熔断与限流- 19(个人笔记)

1.SentinelSentinel的GitHub地址:https://github.com/alibaba/Sentinel。它的作用和Hystrix非常类似,但是使用起来比Hystrix更加方便。Hystrix需要程序员手工搭建监控平台,而且没有一套Web界面实现更细粒度的配置,所以还是有一定局限性的。Sentinel自称是分布式系统的流量防卫兵,它是一个单独的组件,可以独立出来,提供了界面化的细粒度的统一配置。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近

2021-10-31 00:00:16 747

原创 Spring Cloud之-Spring Cloud Alibaba Nacos服务注册和配置中心- 18(个人笔记)

1、Nacos简介Nacos命名的前四个字母分别取自Naming(服务注册,即服务命名管理)和Configuration(服务配置)的前两个字母,s取自Service,也就是服务的意思。它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。简单一句话:Nacos= 注册中心 + 配置中心 = Eureka+Config+Bus。Nacos官网地址:https://nacos.io/zh-cn/,可以在这里下载和查阅官方文档。各种服务注册中心的比较服务注册与服务发现框架CAP

2021-10-24 18:29:46 910

原创 Spring Cloud之-Spring Cloud Alibaba入门简介- 17(个人笔记)

1、Spring Cloud Alibaba出现因为Spring Cloud Netflix的很多项目进入了维护阶段,意味着Spring Cloud不再向该模块添加新功能了,并提供了替代的解决方案。Spring Cloud Alibaba的出现,类似于接手了之前的项目,并在它们上面进行修改和封装,构建自己的一套方案,2018.10.31,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器里面,并在 Maven中央库 发布了第一版。2、Spring Cloud Al

2021-10-12 15:43:32 108

原创 Spring Cloud之-Spring Cloud Sleuth分布式请求链路跟踪- 16(个人笔记)

1、概述在微服务框架中,一个客户端请求,从发起到后端系统中,会经历多个不同的微服务结点的调用,每一个请求都会形成一条复杂的分布式调用链路,链路中任何一个服务出现故障或延时都会导致整个请求最终的失败。Spring Cloud Sleuth提供了一套完整的服务监控跟踪解决方案,兼容支持Zipkin数据展现。2、搭建链路监控步骤2-1、安装ZipkinSpring Cloud从F版起就不需要自己构建Zipkin Server了,只需要调用jar包即可,Java环境JRE 8起。2-1-1、linux

2021-10-12 14:31:18 104

原创 Spring Cloud之-Spring Cloud Stream消息驱动- 15(个人笔记)

1、消息驱动概述1-1、Spring Cloud Stream是什么Spring Cloud Stream是一个构建消息驱动微服务的框架。应用程序通过Inpust消费者和Outputs对应于生产者与Spring Cloud中的Binder绑定器对象进行交互。首先我们需要配置绑定关系,也就是将具体的消息中间件和Stream进行绑定,后面使用Binder绑定器对象来操作消息中间件。此时,我们只需要了解Stream中的Binder绑定器对象相关的操作,即可完成消息中间件的交互。Spring Cloud St

2021-10-11 16:54:23 173 1

原创 Spring Cloud之-Spring Cloud Bus消息总线- 14(个人笔记)

1、概述Spring Cloud Bus是用来将分布式系统的结点与轻量级消息系统连接起来的框架,它整合了Java事件处理机制和消息中间件的功能,Spring Cloud Bus目前支持的MQ有:RabbitMQ和Kafka。Spring Cloud Bus可以使Spring Cloud Config实现配置的动态刷新。观察下图,运维人员发送/bus/refresh的POST请求给其中一个Client,Client将消息发送给消息总线,最初收到POST请求的Client拉取最新的配置信息,监听Spring

2021-10-10 17:15:27 146

原创 Spring Cloud之-Spring Cloud Config分布式配置中心- 13(个人笔记)

1、概述微服务架构意味着将会产生越来越多的单体服务,每个业务模块都被拆成了一个微服务模块,每个微服务模块中,都有各自的配置文件,随着模块的增多,配置文件越来越多,因此,需要有一个集中式的、动态配置的管理来解决这个问题。于是Spring Cloud提供了Config类解决这个问题,它为微服务中的模块提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供一个中心化的外部配置。Spring Cloud Config分为服务端和客户端两部分。服务端称为分布式配置中心,它是一个独立的微服务应用,

2021-10-09 16:53:32 84

原创 Spring Cloud之-Gateway网关- 12(个人笔记)

1、概述简介Gateway官方文档:https://cloud.spring.io/spring-cloud-gateway/2.2.x/reference/html/在Spring Cloud 1.x中,网关使用的是Zuul 1,在Spring Cloud 2.x中,网关使用的是Gateway,因为Zuul 2版本进展缓慢,所以Spring Cloud自己研发了网关,Gateway是原Zuul 1的替代版。Gateway采用异步非阻塞模型开发,性能上不需要担心,虽然Netflix发布了Zuul 2版本

2021-10-07 23:00:09 347

原创 Spring Cloud之Zuul路由网关- 11(个人笔记)

1.概述简介Zuul包含了对请求的路由和过滤两个最主要的功能。其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时还可以从Eureka中获取其他微服务的消息,以后访问微服务都是通过Zuul跳转后获得的。注意:Zuul服务最终还是会注册进Eureka,提供代理、路由、过滤三大功能。...

2021-10-03 22:52:42 111

原创 macOS环境下配置Vue开发环境笔记

Vue配置开发环境流程1、在macOS上安装HomebrewHomebrew是macOS下的一个包管理工具,可以在macOS上安装、卸载和更新各种软件包。Homebrew已成为程序员Mac电脑的必备工具,安装可以参考这篇博客进行安装。2、在macOS安装Node.js使用Homebrew进行安装:brew install node安装完毕之后通过 node -v 查看版本号,npm是随同nodejs一起安装的包管理工具:test-MBP:~ test$ node -vv16.1.0

2021-09-24 17:04:57 634

原创 Spring Cloud之Hystrix断路器- 10(个人笔记)

1、概述1-1、分布式系统面临的问题在复杂的分布式架构系统里,服务之间的相互调用无法避免出现失败的情况就会导致服务雪崩。如果一个服务的调用链路比较长的时候,这种调用失败的概率会更高一些,比如:A调用B,B调用C,C调用D这种长链路调用,又或者一个服务的调用需要依赖多个服务协作完成,这种调用失败的概率也会高一些,比如:A需要调用B,C,D服务,只有B,C,D服务都走完,A服务才能完成,这就是所谓的“扇出”。如果扇出的链路上某个服务调用响应时间过长或不可用,对当前模块的调用就会占用越来越多的资源,甚至造成

2021-09-24 12:05:05 203

原创 macOS环境下安装JMeter笔记

一、下载JMeterJMeter官网二、配置解压下载的 JMeter 文件,放在合适的目录,然后开始配置 bash_profile 文件。打开控制终端,执行如下命令:test-MBP:~ test$ open ~/.bash_profile添加如下(文件路径修改为自己的):export JMETER_HOME=/Users/test/Documents/Development-Configuration/apache-jmeter-5.4.1export PATH=$PATH:$J

2021-09-21 17:17:29 246

原创 Spring Cloud之OpenFeign服务接口调用- 09(个人笔记)

1、概述Feign是一个声明式Web Service客户端,使用Feign能让编写Web Service客户端更加简单。使用方法:定义一个服务接口,在上面添加注解。Feign还支持可插拔式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用实现负载均衡。...

2021-09-20 17:27:04 231

原创 Spring Cloud之Ribbon负载均衡服务调用- 08(个人笔记)

1、Spring Cloud Ribbon概述Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具。主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供了一系列完善的配置项,如连接超时,重试等。简单地说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动帮我们基于某种规则(如轮询,随机连接等)去连接这些机器,我们很容易使用Ribbon实现自定义的负载均衡算法。Ribbon官网:https:/

2021-09-17 10:51:00 128

原创 Spring Cloud之Consul服务注册与发现 - 07(个人笔记)

1、Consul简介Consul是一套开源的分布式服务发现和配置管理系统,有HashiCorp公司使用Go语言开发,提供了微服务系统中服务治理、配置中心、控制总线等功能。每个功能可以单独使用,也可以一起使用以构建全方位的服务网格,Consul提供了一套完整的服务网格解决方案。优点:基于raft协议,简洁;支持健康检查,同时支持HTTP和DNS协议,支持跨数据中心的WAN集群,提供了图形化界面;支持跨平台,支持Linux、Mac、Windows。Consul的功能:实现服务注册发现,提供了了HTTP

2021-09-15 21:25:56 398

原创 Spring Cloud之Zookeeper服务注册与发现 - 06(个人笔记)

这里要说的是替换Eureka方案,将服务的注册与发现替换为Zookeeper,这里使用的是3.6.2版本。macOS安装zookeeper可以参照这篇博客。1、注册中心是ZookeeperZookeeper是一个分布式协调工具,可以实现注册中心的功能。2、创建服务提供者新建cloud-provider-payment8004模块,修改pom.xml,注意这里新加的spring-cloud-starter-zookeeper-discovery依赖,其他的没变。cloud-provider-pay

2021-09-14 15:47:56 341

原创 Spring Cloud之Eureka服务注册与发现 - 05(个人笔记)

1、Eureka基础知识什么是服务治理:        Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理。        在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务

2021-09-13 17:10:00 1095

原创 Spring Cloud之微服务架构编码构建 - 04(个人笔记)

我们要实现的功能是:订单-支付模块微服务,然后将各个组件的技术逐个加进去。我们遵循的原则是:约定>配置>编码。1、IDEA新建Project工作空间1-1、微服务Spring Cloud整体聚合父工程新建Maven项目,选择org.apache.maven.archetypes:maven-archetype-site,GroupId为com.king.springcloud,ArtifactId为cloud2020,指定自己的Maven,不要使用IDEA内置的。修改项目的默认编码

2021-09-02 21:14:11 255

原创 Spring Cloud之关于Cloud各种组件的停更/升级/替换 - 03(个人笔记)

        有些Spring Cloud的组件因为种种原因,会停止更新,但是我们依旧可以使用,只是不建议使用了,类似于Java中的@Deprecated。碰到问题一方面需要自己动手去查,另外就是参考官方文档,也就是Spring Cloud(Spring Cloud文档中文版本)和Spring Boot的官方文档。...

2021-08-31 09:40:36 354

原创 Spring Cloud之Boot和Cloud版本选型 - 02(个人笔记)

        Spring Cloud的命名规则是依赖字母命名的,从A-Z,Spring Boot的命名规则是依赖数字命名的,依次递增。Spring Boot 2.X 版:源码地址Spring Boot 2 的新特性通过上面官网发现,Boot官方强烈建议你升级到2.X以上版本Spring Cloud H版:源码地址官网Spring Boot 与 Spring Cloud 兼容性查看:官网JS

2021-08-31 09:13:09 69

原创 Spring Cloud之概述 - 01(个人笔记)

一、什么是Spring Cloud        Spring Cloud是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。相比于其它服务治理框架,其能快速的构建分布式系统,是一套完整的微服务解决方案,微服务工具包。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的

2021-08-30 18:29:45 63

原创 JavaSE之反射(个人笔记)

一、反射概述        反射是根据.class字节码文件,反射类的信息,类成员的信息;根据.class字节码文件创建对象,访问字段,调用方法的技术。        反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所以属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种

2021-08-15 23:02:13 63

原创 JavaSE之Lambda表达式(个人笔记)

Lambda简介        Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。        JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。一、对接口的要求 &nbs

2021-08-10 23:23:47 91

原创 JavaSE之集合框架(个人笔记)

一、集合概述1、概念        由于数组的长度是固定不变的,而且在同一个数组中只能存放相同类型的数据,该数据可以是基本类型也可以是引用类型,但是多数情况下我们无法保证存储数据的个数,所以这时数组就无法使用了。        为此,JDK类库提供了Java集合,所有的Java集合类都位于java.util包中。Java集合类能够方便地存储和操

2021-08-10 16:57:05 108

原创 RabbitMQ之快速入门篇(个人笔记)

1. 消息队列1.1. MQ 的相关概念1.1.1. 什么是 MQ        MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。1.1.2.

2021-07-08 20:30:21 433 4

原创 macOS环境下安装RabbitMQ笔记

安装RabbitMQ在macOS环境下,使用homebrew方式在Mac上安装RabbitMQ。记录详细流程操作。安装应用使用命令$ brew install rabbitmq安装:test-MBP:~ test$ brew install rabbitmqUpdating Homebrew…==> Auto-updated Homebrew!Updated 1 tap (homebrew/core).==> New Formulaeatuin g

2021-05-18 16:15:07 1592

原创 Java网络编程(个人笔记)

1. 计算机网络        计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来实现资源共享和信息传递的计算机系统。2. 网络模型网络模型就是研究计算机网络之间以何种规则进行通信的问题。...

2021-05-13 11:31:42 109

原创 Nginx之快速入门篇(个人笔记)

Nginx概述Nginx是什么Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。Nginx的特点(1)跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。(2)配置异常简单,非常容易上手。配置风格跟程序开发一样,神一般的配置(3)非阻塞、高并发连接:数据

2021-05-11 23:26:56 433 2

原创 macOS环境下安装Nginx笔记

安装Ngxin在macOS环境下,使用homebrew方式在Mac上安装Nginx。记录详细流程操作。安装应用使用命令$ brew install nginx安装:test-MBP:~ test$ brew install nginxUpdating Homebrew…==> Downloading https://ghcr.io/v2/homebrew/core/openssl/1.1/manifests/1.1.1k#################################

2021-05-08 09:21:12 927

原创 Dubbo之快速入门篇(个人笔记)

一、基础知识1、分布式基础理论1-1、什么是分布式系统Dubbo是用于分布式系统的框架所以我们要先了解什么是分布式。《分布式系统原理与范型》定义:分布式系统是若干独立 计算机的集合,这些计算机对于用户来说就像单个相关系统。分布式系统(distributed systems)是建立在网络之上的软件系统。老式系统(单一应用架构)就是把一个系统,统一放到一个服务器当中然后每一个服务器上放一个系统,如果说要更新代码的话,每一个服务器上的系统都要重新去部署十分的麻烦。而分布式系统就是将一个完整的系统拆

2021-04-24 23:06:32 157

原创 SpringBoot之快速入门篇(个人笔记)

01、Spring与SpringBoot1、Spring能做什么1.1、Spring的能力1.2、Spring的生态圈spring官网覆盖了:web开发数据访问安全控制分布式消息服务移动开发批处理…1.3、Spring5重大升级1.3.1、响应式编程1.3.2、内部源码设计基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。2、为什么用SpringBootSpring Boot makes it easy to create stand-alone,

2021-04-05 17:43:31 731 1

原创 Zookeeper之快速入门篇(个人笔记)

简介ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次它们被实现时,都会有大量的工作来修复不可避免的错误和竞争条件。由于实现这些服务的困难,应用程序最初通常会略过这些服务,这使得它们在出现更改时变得脆弱,并且难以管理。即使正确地执行了这些服务,在部署应用程序时,这些服务的不同实现也会导致管理复杂性zookeeper由雅虎研究院开发,是Google Chubby的开源实现,后来托管到 Apache,于2010年1

2021-01-21 23:15:38 277

原创 macOS环境下安装Zookeeper笔记

安装Zookeeper在macOS环境下,使用homebrew方法在Mac上安装Zookeeper。记录详细流程操作。安装应用使用命令$ brew install zookeeper安装: Error: The following formula: zookeeper cannot be installed as a binary package and must be built from source. To continue, you must install Xcode from t

2020-12-25 11:32:07 799

原创 十七、缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能指标监控等企业级解决方案

缓存预热问题排查应用服务如果里面使用redis,服务器启动以后会快速“宕机”,这个只是对外的一个现象。请求数量较高主从之间数据吞吐量较大,数据同步操作频率较高数据库取的频度比较高在高请求之前,做好一系列措施,保证大量用户数量点击造成灾难缓存预热解决方案前置准备工作:日常例行统计数据访问记录,统计访问频度较高的热点数据利用LRU数据删除策略,构建数据留存队列例如:storm与kafka配合准备工作:将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据利用

2020-12-24 09:20:35 161

空空如也

空空如也

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

TA关注的人

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