自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式事务

seata的官网如下:Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。TC (Transaction Coordinator) - 事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚。...

2022-08-26 20:06:41 710 1

原创 微服务保护Sentinel

问题一:什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。问题二:如何避免因瞬间高并发流量而导致服务故障?流量控制问题三:如何避免因服务故障引起的雪崩问题?超时处理,线程隔离,降级熔断Sentinel是阿里巴巴开源的一款微服务流量控制组件。...

2022-08-24 17:24:58 416 2

原创 skywalking数据链路追踪

Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。

2022-08-23 20:37:34 1523

原创 Sleuth链路追踪,Zipkin集成

主要功能就是在分布式系统中提供追踪解决方案。它大量借用GoogleDapper的设计, 先来了解一下Sleuth中的术语和相关概念。Trace(一条完整链路--包含很多span(微服务接口))由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。为了实现请求跟踪,当请求到达分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯一的标识(TraceId),同时在分布式系统内部流转的时候,框架始终保持传递该唯一值,直到整个请求的返回。

2022-08-23 08:59:57 234

原创 nacos配置中心

微服务架构下关于配置文件的一些问题:1.配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。2.配置文件无法区分环境--开发环境 测试环境 线上环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。3.配置文件无法实时更新。

2022-08-22 21:04:52 1331

原创 Gateway--服务网关

是Spring公司基于Spring 5.0,和等术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。它的目标是替代,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控和限流。优点:性能强劲:是第一代网关Zuul的1.6倍功能强大:内置了很多实用的功能,例如转发、监控、限流等设计优雅,容易扩展.缺点:其实现依赖Netty与WebFlux,不是传统的Servlet编程模型,学习成本高。

2022-08-22 16:07:05 1470 1

原创 nacos集群

在实际开发过程中,如果使用Nacos的话,为了确保高可用,我们一-般都会对其进行集群的部署。Nacos规定集群中Nacos节点的数量需要大于等于3个;同时,单机模式下Macos的数据默认保存在其内嵌数据库(deby)中,不方便观察数据存储的基本情况。而且如果集群中启动多个默认配置下的Nacos节点,数据存储是存在一致性问题的。为了解决这个问题,Nacos采用 了集中式存储的方式来支持集群化部署,目前只支持MySQL的存储;此外,我们还需要借助Nginx实现负载均衡。

2022-08-20 10:40:18 3968

原创 使用eureka作为注册中心

Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。

2022-08-19 20:56:24 281

原创 基于OpenFeign实现服务调用

OpenFeign是提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了Feign,Feign负载均衡默认集成了Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。2、

2022-08-19 20:15:51 712

原创 服务调用的负载均衡

通俗的讲, 负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端负载均衡。服务端负载均衡指的是发生在服务提供者一方,比如常见的nginx负载均衡而客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求我们在微服务调用关系中一般会选择,也就是在服务调用的一方来决定服务由哪个提供者执行2、自定义实现负载均衡2.1 通过idea。

2022-08-19 19:43:18 154

原创 Nacos Discovery服务治理

服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。服务注册:在服务治理框架中,都会构建一个,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的,服务注册中心需要以的方式去监测清单中 的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。服务发现:服务调用方向服务注册中心咨询服务,并获取的实例清单,实现对具体服务实例的访问。通过上面的调用图会发现,除了微服务,还有一个组件是服务注册中心,它是微服务架构非常重要。

2022-08-19 17:41:05 312

原创 微服务环境搭建

案例:使用的电商项目中的商品微服务、订单微服务

2022-08-19 16:57:38 168

原创 SpringCloud微服务的概念和解决方案

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

2022-08-19 15:44:43 151

原创 springboot整合elasticsearch

springboot整合elasticsearch,以及模仿京东搜索的整合案例

2022-08-17 16:05:06 434

原创 elasticsearch常用接口和基本操作

IK分词器: 中文分词器分词:即把一段中文或者别的划分成一个个的关键字, 我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一-个匹配操作, 默认的中文分词是将每个字看成一个词(不使用用IK分词器的情况下),比如“我爱饺子皮”会被分为"我”,”爱", ”饺”, "子”,"皮"这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。...

2022-08-16 15:24:36 918

原创 Elasticsearch的概述和安装以及常见概念

The Elastic Stack,包括Elasticsearch【搜索,分析】、Kibana【可视化】、 Beats 和Logstash【数据的手机】 (也称为ELK Stack)。.能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES,ES 是一一个开源的高扩展的分布式全文搜索引擎,是整个 ElasticStack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。...

2022-08-15 15:32:20 468

原创 natapp内网穿透的使用

natapp的使用

2022-08-12 21:24:20 120

原创 免密登录和Jenkins自动复制jar包以及启动

配置免密,以及Jenkins所在服务器将jar包自动复制到测试服务器和自动重启服务

2022-08-12 21:06:54 648

原创 Jenkins集成maven

Jenkins集成maven,虚拟机安装maven,自动拉取仓库内容

2022-08-12 14:54:01 341

原创 shiro安全框架

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。.........

2022-08-11 19:59:48 313

原创 Jenkins

Jenkins是持续开发部署的软件。Jenkins是一个项目,是基于开发的一种工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

2022-08-11 16:21:18 85

原创 前后端分离的项目整合shiro安全框架

前置路由守卫:就是在路由跳转前加上自己的一些业务代码,未登录之前输入其他路径,不放行,跳转至登录页面。在main.js文件中加入以下代码。

2022-08-09 21:11:30 1874

原创 前后端分离案例--权限系统(跨域请求)

权限系统:1、前端:vue + elementui + axios + css + html2、后端:springboot + mybatis-plus + nybatis + druid + shiro + swagger2 + redis。

2022-08-08 21:09:47 326

原创 前端框架Vue

安装nodejs服务器,还有npm工具,使用webstorm开发工具打开项目,当前组件引入其他组件,父组件向子组件传值,还有使用路由完成跳转

2022-08-07 18:18:58 86

原创 redis中常见的面试题

缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。缓存击穿解决方案:1.设置永久不过期。【这种只适合内存比较大的服务器】2.使用互斥锁(mutex key)业界比较常用的做法。//伪代码if (value == null) { //代表缓存值过期//设置3min的超时,防止del操作失败的时候,下次缓存过期一直不能load db//代表设置成功}else{...

2022-08-03 20:14:33 60

原创 Java连接redis

redis支持哪些语言可以操作。

2022-08-03 14:02:27 199

原创 Redis的集群模式

如果redis是单机版的,出现单机故障后会导致redis无法使用,如果程序使用redis,间接导致我们的程序出错。1、主从复制模式2、哨兵模式3、集群化模式。

2022-08-01 21:10:46 217

原创 Redis安装,基本命令,持久化方式,集群

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过RedisSentinel和RedisCluster自动分区提供了高可用性。Redis读取的速度是110000次/s,写的速度是81000次/s,运算是基于内存来计算的原子。官方不支持window系统,但是又第三方版本。...

2022-08-01 11:10:11 109

原创 nginx代理服务器

Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达50,000个并发连接数的响应。.........

2022-07-28 22:04:41 5097 1

原创 CentOS7安装软件

二进制安装。---只需要解压就可以。只针对特殊平台。比如jdktomcatRPM按照一定的规范就可以按照该软件。无法安装依赖的文件。yum远程安装基于RPM帮你把依赖的文件安装上去。多安装源码安装。编译--->打包---->安装。......

2022-07-28 19:32:34 3266

原创 Linux---安装CentOS7以及Linux基本命令

Linux,全称GNU/Linux,是一种免费使用和自由传播的操作系统,其内核由于1991年10月5日首次发布,它主要受到和Unix思想的启发,是一个基于的多用户、、支持和多的操作系统。它能运行主要的工具软件、应用程序和网络协议。它支持和硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的、,和基于商业开发的、、等。2、为什么使用Linux系统?Linux系统性能比较稳定而且比较安全,非常适合程序的运行。.........

2022-07-26 20:06:59 263

原创 springboot整合mybatis-plus

MyBatis-plus简单来说就是一款Mybatis增强工具,用于简化开发,提高效率。下文使用缩写mp来简化表示MyBatis-plus,致力于MyBatis的基础上只做增强不做改变,为简化开发,提高效率而生。mybatis-plus只支持单表操作,联表查询不能使用。...

2022-07-26 11:25:06 687

原创 springboot整合

数据源springboot框架连接数据库默认这数据源使用的连接池Hikari。如果我们不想使用默认的连接池,我们可以引入第三方的连接池。

2022-07-23 16:56:32 282

原创 Springboot框架

我们在实际开发中,环境有以下几种环境开发环境测试环境线上环境不同的环境有不同的配置内容我们子啊实际工作中,针对不同的环境,配置不同的配置文件,然后在总的配置文件中激活相应的配置文件开发环境的配置文件测试环境的配置文件线上环境的配置文件总的配置文件中激活不同环境的配置环境。......

2022-07-21 19:54:30 604

原创 Java高级--JDK8新特性

lambda表达式特殊的匿名内部类,语法更简洁;lambda表达式允许把函数作为一个方法的函数(函数作为方法的参数传递),将代码像数据一样传递;注函数式接口接口中只有一个抽象方法(参数1,参数2)抽象方法的参数->分隔符{}表示抽象方法的实现我们创建线程任务时,之前使用的有两种方式,从上面两种方式可以发现我们真正需要的只是run方法中的方法体从JDK8之后加入了lambda表达式,我们创建线程任务的方式也有了第三种方式;.........

2022-07-19 20:27:20 475

原创 Java面试题---Java基础(二)

让变量和访问这个变量的方法放在一起,将一个类中的成员变量全部定义成私有的,只有这个类自己的方法才可以访问到这些成员变量,这就基本上实现对象的封装,就很容易找出要分配到这个类上的方法了,就基本上算是会面向对象的编程了。Math中提供了三种取整方法,ceil,floor,round,ceil意思为天花板,向上取整;在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。...

2022-07-19 11:25:38 55

原创 Java面试题---Java基础(一)

实际上,自从“goto有害论”提出后,软件开发就不建议使用goto了,但是Java中依然保留了goto这个关键字留作备用,但这个关键字没有任何作用,只是为了将来可能的扩展,防止使用goto作为程序中的标识符。&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。Java5以前,switch(expr)中,expr只能为byte,short,int,char类型;...

2022-07-18 20:28:20 124

原创 Java高级--线程(二)

Java高级之线程死锁和线程通信,创建线程池的三种方式以及手动加锁,还有synchronized和lock的区别,Runable和Thread的区别,Callable和Runable的区别,notify()和notifyAll()的区别,sleep和wait的区别

2022-07-18 20:24:00 123

原创 Java高级--反射

Java高级之反射的对象获取,获取反射对象,通过反射对象创建对象,获取反射对象的属性对象,方法对象,注解对象,以及一些常用的方法。

2022-07-14 21:21:15 380

原创 Java高级--注解(Annotation)

Java中的注解类型,和自定义注解的使用

2022-07-14 11:27:58 373

空空如也

空空如也

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

TA关注的人

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