- 博客(20)
- 收藏
- 关注
原创 mybatis的使用及
redis集群中有16384个槽,分给了3个节点,存取数据时:crc16(key)%16384=0~16383。redis是c语言编写的高性能(读110000次/s,写81000次/s)的k-v形式的数据库,数据存储在内存中。1、redis实例中提供了下标是0-15的16个数据库,不能修改下标,可通过select切换。3、为什么集群中有一个节点fail整个集群都会fail?③./redis-cli shutdown---->数据持久化。③等待一秒---->数据持久化。flushdb:清空当前数据库的数据。
2025-11-16 09:00:00
1130
原创 SpringCloud-Ribbon负载均衡&Feign声明式服务调用
本文介绍了Spring Cloud中的负载均衡组件Ribbon和声明式服务调用工具Feign。Ribbon是一个基于Netflix的客户端负载均衡工具,支持轮询、随机等多种策略,通过@LoadBalanced注解开启,并可通过IRule接口自定义策略。Feign则是基于接口的声明式HTTP客户端,内置Ribbon负载均衡功能,通过@FeignClient注解简化服务调用,支持Spring MVC注解和多种传参方式。文章详细阐述了二者的工作原理、配置方法及优化手段,包括日志配置、GZIP压缩、HTTP连接池、
2025-11-15 15:43:14
826
原创 Nginx
Nginx是一款C语言开发的高性能Web服务器和反向代理服务器,具有反向代理、负载均衡和动静分离三大核心功能。安装步骤包括配置C语言环境、编译安装及目录结构说明。配置反向代理通过proxy_pass指令实现请求转发,负载均衡通过upstream模块支持轮询、权重、IP哈希等6种策略,同时提出使用Redis解决Session丢失问题。动静分离通过location指令将静态资源交由Nginx处理。尽管已有Gateway,Nginx仍可作为前端多应用网关,先进行请求分发再交由Gateway处理微服务路由。
2025-11-12 21:31:12
875
原创 SpringCloud-服务保护Sentinel&服务网关gateway
本文摘要: Sentinel是阿里巴巴提供的服务保护框架,主要用于流量控制和熔断降级,防止服务雪崩。通过启动器和规则配置,可实现QPS控制、热点参数限制等。文章详细介绍了Sentinel与Feign整合实现熔断降级,以及规则持久化到Nacos的方法。同时讲解了Gateway网关的作用和搭建,包括路由、过滤和限流功能,重点介绍了内置及自定义断言工厂、过滤器工厂的实现方式,为微服务架构提供了完整的流量治理方案。
2025-11-12 21:01:43
811
原创 SpringCloud-Nacos注册中心和配置中心
Nacos是由阿里巴巴开源的服务注册与配置中心组件,支持服务发现、动态配置管理和服务管理。本文介绍了Nacos的基本概念、安装启动流程(包括解压安装包和启动脚本)、注册中心配置(服务提供者和消费者的Spring Boot集成)、配置中心使用(集中管理和实时更新配置文件)、配置隔离(namespace和group)以及持久化方案(切换MySQL数据库)。最后详细讲解了Nacos集群的搭建过程,包括配置多个节点、修改端口号、启动集群和通过Nginx实现负载均衡。全文提供了完整的操作指南,帮助开发者快速掌握Nac
2025-11-06 19:43:54
639
原创 SpringCloud-概述
本文探讨了互联网发展推动系统架构演进的过程。随着高并发场景需求增长,传统单体架构已无法满足性能要求,促使分布式系统和微服务架构兴起。针对分布式系统开发复杂度问题,SpringCloud应运而生,它整合了Netflix等公司的技术框架,提供一站式微服务解决方案。同时介绍了SpringCloud Alibaba这一阿里技术栈版本,并梳理了SpringBoot、SpringCloud及其阿里版本的版本对应关系。文章展示了从单体架构到微服务的技术演进路线,以及主流技术框架的整合趋势。
2025-11-06 19:29:22
237
原创 AOP的相关知识
aop(Aspect Oriented Programming):把程序中重复的代码抽取出来,使用动态代理的技术去执行(不修改源代码对方法进行增强)有很多service,每个service中有很多方法,要求方法执行前后加日志。切面:把增强应用到切点上。service层:事务。通知/增强:要搞的事。
2025-10-13 20:13:06
240
原创 Spring Boot的自动配置原理
Import({AutoConfigurationImportSelector.class}):加载启动器的META-INF/spring.factories文件,并调用该文件中的自动配置类完成自动配置工作,@AutoConfigurationPackage:扫描启动类所在包及子包中的所有类,生成对象并交给iocMap管理。@Configuration:标识启动类是一个配置类。配置spring要扫描的包。
2025-10-10 19:19:50
129
原创 -动态代理-
本文介绍了代理模式及其两种实现方式:静态代理和动态代理(JDK动态代理和Cglib动态代理)。静态代理通过中介类控制对真实对象的访问,但存在代码重复和只能代理单一类型的问题。JDK动态代理利用反射机制动态生成代理类,要求真实对象必须实现接口。Cglib动态代理通过继承方式实现,无需接口支持,更加灵活。文章以明星周杰伦和经纪人为例,详细展示了三种代理方式的代码实现,并对比了它们的优缺点,为处理对象访问控制提供了多种解决方案。
2025-09-12 21:00:47
245
原创 Java Web-重点!!!
本文介绍了Servlet技术的核心概念与应用。首先讲解了Servlet的基本概念,作为运行在Web服务器上的Java程序,它充当客户端与服务器应用之间的中间层。然后详细阐述了Servlet的三种创建方式:实现Servlet接口、继承GenericServlet抽象类和继承HttpServlet类,推荐使用HttpServlet方式。 文章重点分析了Servlet的生命周期,包括init()、service()和destroy()方法的执行时机。同时介绍了请求转发与重定向的区别,以及ServletConfig
2025-09-09 21:01:51
1760
5
原创 Http协议-重点
摘要:HTTP协议是浏览器与服务器数据传输的规范,包含请求和响应两部分。请求由请求行(方法、URI、协议版本)、请求头(客户端信息、内容类型等元数据)和请求体(POST/PUT数据)组成。响应包括响应头(服务器信息、数据类型、缓存策略等)和响应体(HTML、JSON或二进制数据等实际内容)。该协议通过标准化格式确保客户端与服务器间的高效通信。
2025-09-09 19:40:00
404
原创 Web相关概念
本文介绍了软件的基本架构和Web开发相关知识。首先对比了C/S(客户端-服务器)和B/S(浏览器-服务器)架构的特点,指出JavaWeb开发主要基于B/S架构。其次说明了静态资源和动态资源的区别,动态资源需要通过服务器部署才能获取。重点介绍了Tomcat Web服务器,包括其定义、下载安装方法、目录结构及启动关闭流程。最后解释了war包作为完整Web应用程序的格式,可直接部署到Tomcat的webapps目录下运行。文章系统地阐述了Web开发的基础知识和技术要点。
2025-09-08 21:19:56
1260
原创 拆分与聚合
本文介绍了Maven项目中的模块化开发方法,重点讲解了"拆分与聚合"的概念。通过将项目按功能拆分为dao、service、web等独立模块,可以提升代码复用性、降低内存占用,并实现团队分工协作。文章详细演示了创建父工程管理依赖(maven_parent),以及子模块(maven_dao、maven_service、maven_web)的具体实现步骤,包括POM文件配置、模块间依赖关系建立等。同时指出当前企业已较少使用私服,转而采用更现代的模块化管理方式。这种架构设计能有效提高开发效率和系
2025-09-03 21:33:01
547
原创 Maven依赖管理
本文介绍了Maven依赖管理的两个核心问题:依赖传递和依赖冲突。依赖传递分为直接依赖和间接依赖,当不同模块依赖同一jar包的不同版本时会产生依赖冲突。解决冲突的四种方法:1)第一声明者优先;2)路径近者优先;3)排除依赖;4)推荐使用dependencyManagement进行版本锁定。此外还讲解了依赖范围(scope)的作用,通过测试展示了不同作用域下依赖的可访问性差异。
2025-09-03 21:02:22
690
2
原创 Maven生命周期
Maven常用命令包括clean(清理target目录)、compile(编译.java文件)、test(执行单元测试)、package(打包项目)、install(打包到本地仓库)和deploy(部署到远程仓库)。Maven有三套相互独立的生命周期:清理(clean)、默认(compile→test→package→install→deploy)和站点(site)。每套生命周期中,执行后序命令会自动执行前面的命令。
2025-09-02 09:00:12
254
原创 Idea集成Maven及创建maven工程
本文介绍了在IntelliJ IDEA中配置Maven的完整流程:1)通过Settings配置Maven;2)设置自动导入依赖功能(auto-import),避免手动刷新;3)创建Maven工程并设置名称和位置;4)说明标准Maven目录结构;5)演示如何通过mvnrepository网站查找依赖坐标,并在pom.xml中添加依赖(以JUnit为例)。这些步骤帮助开发者高效搭建和管理Maven项目。
2025-09-02 04:00:00
487
原创 Maven安装
Maven安装配置指南:1)从官网http://maven.apache.org下载;2)解压到无中文/空格的路径,了解bin、boot、conf、lib目录用途;3)配置MAVEN_HOME环境变量并添加到PATH;4)测试安装(mvn --version);5)配置阿里云镜像仓库提升下载速度;6)设置本地仓库路径。注意运行需依赖JDK环境。
2025-09-02 01:45:00
426
原创 Maven简介
Maven是Apache开发的开源项目管理工具,主要提供依赖管理功能,统一管理jar包。相比传统项目需要手动复制jar包,Maven通过仓库体系(本地仓库、私服、中央仓库)和坐标定位机制(公司+项目+版本号)实现高效依赖管理,大幅减少项目体积。坐标作为构件的唯一标识,能精准定位仓库中的jar包位置,如MyBatis的坐标org.mybatis+mybatis+3.4.5。
2025-09-01 21:07:24
250
原创 GitHub宕机自救:10招保命指南
使用Prometheus监控GitHub API状态。编写Hook脚本在检测到宕机时自动切换git远程地址,并通知团队成员。在Jenkins或GitLab CI中配置备用触发源。编写检测脚本,当GitHub不可用时自动切换至备用仓库执行构建。对于关键项目,实施多活仓库方案,确保任一平台故障不影响开发流程。GitHub宕机可能由DDoS攻击、服务器故障、网络问题或维护操作引起。对于Maven/NPM依赖,设置Nexus或Verdaccio私有仓库代理。命令打包变更集,通过其他渠道传输代码更新。
2025-09-01 17:53:21
256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅