自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微服务项目架构流程图

2023-08-07 15:03:40 97

原创 Docker(今朝若是同淋雪,此生也算共白头。)

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题。

2023-07-21 20:47:52 97

原创 seata服务1.3.0版本搭建(你说你讨厌母亲的市侩圆滑,却不知她也曾松花酿酒,春水煎茶;你说你讨厌父亲的世故虚伪,却不知他也曾满目星辰,桀骜潇洒。)

(1)首先需要创建如下图所示的数据库用来模拟分布式的架构:数据库名最好跟图示的一致,能避免一些多余的修改操作(2)下载所需项目的代码链接:https://pan.baidu.com/s/1OFh1p0BJxfnzKYQgWtx4cA提取码:xpnk解压seata_parent.zip并使用idea打开项目(最好删除 .idea文件夹,因为maven路径不同)项目架构如下:(3)将项目中的sql文件分别导入到之前创建好的数据库中如果是mysql的8.0版本,就删除 sql文件中的所有。

2023-07-21 13:20:32 656

原创 分布式事务(少时,春风得意马蹄疾,不信人间有别离。后来才发现,原来我们已经和很多人见完了最后一面。)

本地事务,也就是传统的。

2023-07-20 16:15:13 181

原创 Jmeter快速入门(人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅途的终点在哪儿,也没人知道。你走到哪,碰到谁,都不一定。就像你今天看到此帖,这就是命中注定)

Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。

2023-07-19 14:22:07 211

原创 微服务保护(幸福不一定要富有,爱的人在身边就已经足够了。)

什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。Sentinel 具有以下特征:丰富的应用场景。

2023-07-19 08:56:47 93

原创 Sleuth+Zipkin链路追踪(君子量不及,胸吞百川流。)

大型分布式微服务系统中,一个系统被拆分成N多个模块,这些模块负责不同的功能,组合成一套系统,最终可以提供丰富的功能。在这种分布式架构中,一次请求往往需要涉及到多个服务,如下图:为了能够在分布式架构中快速定位问题,分布式链路追踪应运而生。将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。

2023-07-18 14:36:09 54

原创 Gateway服务网关(我欲穿花寻路,直入白云深处,浩气展虹霓。)

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

2023-07-16 10:10:42 103 1

原创 Nacos注册中心(新鲜感是追寻出来的,而不是等待出来的。多和旧人做新事,少和新人做旧事,前者是上升的山路,后者是循环的泥沼。)

通过定义IRule实现可以修改负载均衡规则,有两种方式:@Beanuserservice: # 给某个微服务配置负载均衡规则,这里是userservice服务ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则注意,一般用默认的负载均衡规则,不做修改。

2023-07-16 10:05:30 193

原创 23种设计模式(春难留,秋难留,待到冬来霜满头,明月照空楼。爱无由,恨无由,去年相思今日愁,别时忘回眸。)

1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。

2023-07-15 08:48:48 134

原创 微服务架构(天行健,君子以自强不息;地势坤,君子以厚德载物。)

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件。

2023-07-14 15:13:18 63

原创 SpringCloud快速入门(人生若只如初见,何事秋风悲画扇。等闲变却故人心,却道故人心易变。)

发现使用order服务远程调用成功!将两张表分别放入两个数据库。(5)product模块。(3)common模块。(4)order模块。

2023-07-14 14:53:56 60

原创 Nodejs后端极简支持版(道阻且长,行则将至;行而不辍,未来可期。)

(1)检查是否安装Nodejs打开cmd控制台输入 node --version看到版本即已安装(2)安装步骤注意不要安装在中文目录下。

2023-07-13 14:23:34 87

原创 RabbitMQ高级入门(愿中国青年都能摆脱冷气,只是向上走,不必听自暴自弃者流的话。能做事的做事,能发声的发声。有一分热,发一分光。就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。)

每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:@Slf4j@Override// 获取RabbitTemplate// 设置ReturnCallback// 投递失败,记录日志log.info("消息发送失败,应答码{},原因{},交换机{},路由键{},消息{}",// 如果有业务需要,可以重发消息});ConfirmCallback可以在发送消息时指定,因为每个业务处理confirm成功或失败的逻辑不一定相同。

2023-07-13 14:09:35 88

原创 RabbitMQ(一蓑烟雨任平生,也无风雨也无晴。)

Work模型的使用:多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用:接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列声明队列、交换机、绑定关系的BeanQueueBindingDirect交换机与Fanout交换机的差异Fanout交换机将消息路由给每一个与之绑定的队列。

2023-07-13 13:56:57 72 1

原创 Shiro中的session共享问题(如果再也见不到你,祝你早安,午安,晚安。)

当我们通过nginx反向代理到我们的集群后,如果用户再进行登录,用户的session会存储在第一次负载均衡到的服务器上,但是如果我们调用其中的一些功能或者说权限后,用户在另外一台服务器上并没有session信息,就会导致提示未登录问题,需要用户再次进行登录。但是我们不可能让用户登录很多次,这对用户的体验来说是非常不友好的,因此解决shiro安全框架中的session问题是非常有必要的。

2023-07-11 15:03:57 682 1

原创 MyBatis-Plus(多情自古空余恨,好梦由来最易醒。)

支持全局通用方法注入( Write once, use anywhere )

2023-07-10 14:25:51 95 1

原创 Swagger(爱意东升西落,浪漫至死不渝)

swagger2号称世界上最流行的api框架Restful Api文档在线自动生成工具==》api文档和api定义开发直接运行,可以在线测试api接口;执行多种语言(c#,java,php)在项目中使用Swagger需要Springfoxswagger2uiSwagger最重大的使命就是使前后端人员之间的和谐关系有所好转接口文档可以实时更新可以在线测试后端接口,这个功能好评,爽的一批加在接口Controller类上,它是对接口类的说明:加在接口方法上,他是对接口方法的说明。

2023-07-10 14:13:17 93 1

原创 ssm-shiro-redis(如果困难重重,你还会握紧我的手吗?)

(1)相关依赖(2) spring-mvc.xml配置文件(3) web.xml配置文件,直接替换即可。

2023-07-10 08:25:52 77 1

原创 Shiro安全框架(花有重开时,人无再少年)

基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。:某个用户拥有什么角色,被允许做什么事情(权限用户登录—>分配角色---->(权限关联映射)---->鉴权(拥有什么什么权限)Apache Shiro 是一个强大且易用的 Java 安全框架。

2023-07-10 08:11:06 60 1

原创 SSM框架搭建(有结果是电影,没结果才是人生)

SSM框架j基础搭建(有结果是电影,没结果才是人生)相关的一些文件配置

2023-07-06 13:27:36 58 1

原创 Redis 主从数据同步原理(前面的风景很好,我的意思是别回头)

主从第一次建立连接时,会执行,将master节点的所有数据都拷贝给slave节点,流程:这里有一个问题,master如何得知salve是第一次来连接呢??:简称replid,是数据集的标记,id一致则说明是同一数据集。每一个master都有唯一的replid,slave则会继承master节点的replid:偏移量,随着记录在repl_baklog中的数据增多而逐渐增大。slave完成同步时也会记录当前同步的offset。

2023-07-03 19:18:48 61 1

原创 Redis分片集群3.0(大概是风太大了,把之前的温柔都吹散了)

主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:海量数据存储问题高并发写的问题使用分片集群可以解决上述问题,如图:分片集群特征:集群中有多个master,每个master保存不同数据每个master都可以有多个slave节点master之间通过ping监测彼此健康状态客户端请求可以访问集群任意节点,最终都会被转发到正确节点。

2023-07-03 19:15:29 283 1

原创 Redis哨兵集群2.0(好像什么都来得及,又好像什么都无能为力)

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。

2023-07-03 18:55:36 65 1

原创 Nginx(你总以为机会无限,所以从不珍惜眼前人)

Nginx动静分离,简单来说,就是动态请求和静态请求分开,也可以理解成使用Nginx处理静态页面,Tomcat处理动态页面,动静分离从目前实现角度来讲大致分为两种:纯粹把静态文件独立成单独的域名,放在独立的服务器上(主流推崇的方案)动态跟静态文件混合在一起发布,通过Nginx来分开。

2023-07-01 15:34:54 74

原创 Linux常用命令(照片可以留住回忆,也会困住自己)

(1)切换到指定目录下cd /目录名(2)切换到上一级目录cd ..

2023-07-01 15:13:32 31

原创 Redis普通集群搭建1.0(时间不是解药,但解药在时间里)

单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。

2023-07-01 14:45:22 28

原创 Redis持久化(答案在路上,自由在风里)

Redis有两种持久化方案:RDB持久化AOF持久化。

2023-07-01 14:12:50 26

原创 redis基础(在人来人往的世界里,我们终究会相遇)

Redis是一个基于内存的高性能key-value 数据库。是完全开源免费的,用C语言编写的,遵守BSD协议。特点(为什么使用?):Redis 是基于内存操作的,吞吐量非常高,可以在 1s内完成十万次读写操作Redis 的读写模块是单线程,每个操作都具原子性Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启可以再次加载,但可能会有极短时间内数据丢失Redis 支持多种数据结构,Stringlistsetzsethash等。

2023-07-01 14:01:11 29

原创 Linux如何设置静态ip(狗怎么叫:在吗?晚安!)

ip addr #查看是否修改成功。

2023-06-27 17:57:01 93 1

原创 多线程进阶(其实困住你的不是他,是你和他的回忆)

生产者消费者模式是一个十分经典的多线程协作的模式一类是生产者线程用于生产数据一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为。

2023-06-05 15:48:06 100 1

原创 多线程基础(我一直捏着书页,不想让它翻篇)

三种实现方式的对比实现Runnable、Callable接口好处: 扩展性强,实现该接口的同时还可以继承其他的类缺点: 编程相对复杂,不能直接使用Thread类中的方法继承Thread类好处: 编程比较简单,可以直接使用Thread类中的方法缺点: 可以扩展性较差,不能再继承其他的类。

2023-06-03 17:13:23 23

原创 Git的基本使用(那天我们聊得很晚,手机烫的跟心一样)

Git是一个免费的,开源的分布式版本控制系统,可以快速高效地处理从小型或大型的各种项目。Git易于学习,占用空间小,性能快得惊人。

2023-05-29 07:42:07 75 1

空空如也

空空如也

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

TA关注的人

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