- 博客(71)
- 收藏
- 关注

原创 Nacos-SpringBoot-配置中心
服务注册完成后Nacos的配置中心,主要是为了对集群进行统一的管理配置,对一些可能会发生的变动,统一的进行管理。
2024-05-30 10:31:06
1846

原创 微服务-Nacos-安装-集成SpringBoot
主要是为了解决微服务的架构中 服务治理的问题服务治理就是进行服务的自动化管理,其核心是服务的注册与发现。服务注册:服务实例将自身服务信息注册到注册中心。服务发现:服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求他们提供服务。服务剔除:服务注册中心将出问题的服务自动剔除到可用列表之外,使其不会被调用到。
2024-05-28 14:12:24
2300
原创 PHP-Mongo拓展低版本的报错解决方案
针对单纯无法扫描到MongoDB扩展的问题,建议通过搜索引擎获取相关信息,此类问题通常较为容易解决。具体步骤如下:首先,请根据您所使用的PHP版本下载相应的MongoDB扩展。定位至您的PHP安装目录下的ext文件夹,例如:E:\phpStudy2016\php\php-5.5.38\ext。将新下载并解压后的MongoDB扩展替换原有文件。重启phpStudy服务,并检查MongoDB扩展是否已成功加载。最后,请确保正确设置了相关的环境变量以支持MongoDB的运行。
2025-04-01 14:15:15
829
原创 Solr-搜索引擎-入门到精通
功能分面(Faceting)分组(Grouping)DisMaxeDisMax核心用途统计字段分布按字段归类文档简单多字段搜索高级搜索(通配符/模糊)返回形式统计数值(如数量)按组返回文档列表普通文档列表普通文档列表典型场景商品分类数量统计按作者显示所有文章基础搜索框复杂搜索(电商/日志)是否改结构不改结构,只加统计改变结构,分组展示一句话选型• 需要统计字段分布 →分面• 需要按字段归类文档 →分组• 需要通配符/模糊搜索 →eDisMax。
2025-03-25 10:37:25
999
原创 Redis-分布式锁实现秒杀
上一篇文章,我详细解释了redis实现商品秒杀防止超卖上一篇文章中 我使用原子命令结合lua脚本似乎就已经避免了并发 那问题来了 为啥还需要用锁?这俩有啥区别呢???
2025-03-18 11:07:02
1008
原创 Redis-锁-商品秒杀防止超卖
正常的情况下,他确实也不会超卖,但是增加了大量并发请求的情况下,就会出现超卖。按照网上redis教程的知识,redis是单线程,这也就是说,正常情况下来说,redis的任何一个单命令都应该是原子性的,可以应对并发,所有客户端请求的命令按顺序执行,天然线程安全。你需要在redis中提前缓存 库存的数据 例如: 我这里提前缓存了stock:10=10 然后通过redis去获取库存余额 ,库存不为零则对库存进行递减,如果秒杀用户小于10,就往用户里面添加一个用户id,直到添加了10个秒杀成功的用户。
2025-03-17 13:54:20
739
原创 Redis
NoSQL(Not Only SQL)是一种非关系型数据库,用于存储和检索非结构化或半结构化数据。灵活的数据模型:NoSQL 数据库通常支持灵活的数据模型,如文档、键值对、列族、图等,而不需要固定的表结构。高可扩展性:NoSQL 数据库通常设计为分布式系统,能够轻松扩展以处理大量数据和高并发请求。高性能:由于其简单的数据模型和分布式架构,NoSQL 数据库通常能够提供低延迟和高吞吐量的数据访问。无模式或灵活模式:NoSQL 数据库通常不需要预先定义模式,允许动态添加或修改数据结构。
2025-03-10 10:25:10
1066
原创 记录一次Mybatis扫描不到Mapper的异常-二十块换来的血泪史
报错显示扫描不到mapper.xml好歹也是上班这么久了心里一想这种小问题我也是随手拿捏了按照网上的解释,一般来说解决思路如下:又或者是配置扫描路径在yaml里面然后我还顺便检查了xml里面的命名大小写是否和mapper接口里面的一致。检查了很久一直报错始终无法解决我想了很多种可能结果都无法运行气急败坏之后我花了二十块找人帮我看看结果竟然是我的yaml的层级有问题多了空格!!
2025-01-07 14:29:27
331
原创 Vmware虚拟机引起的windowswifi功能消失异常
当时误以为是电脑用太久了 驱动没有更新先去找到了windows的设备管理器,重新开关WLAN驱动,也尝试了更新配置。还去尝试了Windows的网络重置功能或者是重新启动电脑。但是无一例外全部都不管用 导致我特别的难受。
2024-10-27 09:44:34
836
原创 微服务 feign-gateway
早期微服务跨集群调用 使用的是Eureka 和RestTemplate,这种写法虽然可以解决服务之间的调用问题 ,但是随着服务的增多,实例变动,早期的写法相当于把请求方式,请求地址,参数写死了,耦合度太高,参数非常多的情况使用起来不方便。
2024-05-31 15:45:10
1137
原创 Nacos多环境配置+集群部署
我们一般在bootstarp.yml的配置如下假设我们在nacos的web控制台上新建了两个配置文件nacos.yaml这里的nacos-dev.yaml实际上就是 nacos服务的配置nacos会根据 bootstap.yml appliaction的name 以及profiles的active 还有nacos的文件类型去匹配的本服务远程配置文件 如下如果我们想给它配置多服务共享文件 只需要在config里面指定 远程配置文件名。
2024-05-30 14:13:05
477
原创 Nacos服务分级存储模型
Nacos把服务拆分为三级一级 服务二级 集群三级 实例将某服务 例如订单模块 拆分为北京 上海 杭州集群 为了避免跨地域调用集群实例 就近原则先调用本地的实例 不行再去跨地域调用 提高容灾处理能力。
2024-05-28 16:54:02
262
原创 微服务-系统架构
早期的互联网应用架构,大量应用服务 功能 集中在一个包里,把大量的应用打包为一个jar包,部署在一台服务器,例如tomcat上部署Javaweb项目缺点:耦合度高,一台服务器宕机,所有功能停止工作。维护成本高,无法做拓展。
2024-05-25 19:17:01
547
原创 微服务01-Eureka Ribbon
微服务是一种架构风格,旨在将单一应用程序拆分为一组小型、独立部署的服务,每个服务都围绕特定的业务功能进行构建。这些服务 之间通过轻量级的通信机制互相通信,比如使用HTTP协议或消息队列。微服务架构提供了灵活性和可伸缩性,使团队能够独立开发、部署和扩展每个服务,从而提高整体应用程序的可维护性和可靠性。
2024-05-25 09:44:34
563
原创 Jvm虚拟机
3系统类加载器(Application ClassLoader):负责java-classpath或者 -D java.class.path所指的目录下的类与jar包装入工作,是最常用的加载器。1引导类加载器(Bootstrap ClassLoader):用c++编写,是JVM自带的类加载器,负责java平台核心库,用来装载核心类库,该加载器无法直接获取。③ 引导类加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则,抛出异常,通知子加载器进行加载,向下加载。
2023-11-12 15:51:40
312
原创 代理模式-静态动态代理-jdk动态代理-cglib动态代理
每一个代理代理一个内容,这样就会产生问题,随着代理的东西越来越多,造成资源浪费以及代码冗余。动态代理来说,它不在乎是否有代理的接口,而是通过直接对目标类实现继承,从而创建代理类。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。我们用代码写死的,也就是说是固定的,也就是代理类是由程序写好。对象的声明类将是在其中声明方法的接口【调用方法进行增强】调用代理对象【目标类的子类】或者目标对象的方法。就是去增强代理的功能以及控制代理的行为。在代理实例上调用的接口方法的。
2023-11-12 15:36:32
338
原创 Mybatis学习
Mybatis是一个ORM框架,即object relation mapping,对象关系映射架构,让Java的对象与数据库的对象一一对应。能自动保存对象到数据表。
2023-10-01 23:58:14
214
原创 Git版本控制系统
一个免费的 开源 分布式源码仓库,帮助团队维护代码个人使用 多人联机使用这里直接看大佬的安装 文章 很不错的git 安装配置安装完毕之后:使用命名git -v查看版本git config --list 查看配置。
2023-09-30 20:37:06
381
原创 WebPack-打包工具
这里的入口和出口就是说 打包哪个项目 打包后输出到哪里。好的到这里最基本的打包就完成了 其他文件的打包会更新出来。这里使用的是es6规范 所以我们需要降级到es5。先打开下载好的package.json 添加一下内容。这里设置一下打包方式为webpack。新建webpack.config.js。然后我们直接 终端输入 webpack。下载完毕后配置一下入口与出口。我们只命名导出一个变量。先下载webpack。
2023-09-29 23:03:20
1690
原创 EcmaScript标准-导入与导出-js
是一种由(前身为,European Computer Manufacturers Association)通过ECMA-262标准化的脚本。这种语言在上应用广泛,它往往被称为或,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。可以理解为js的一种规范目前最新的是es6 但是需要转换为浏览器支持的语句 因为目前浏览器大部分只识别es5的语法Es6的新标准 有一些比如命名函数的 let const这里就会涉及到作用域的问题。
2023-09-29 22:04:45
334
原创 Node.js
path 模块主要是对文件的地址进行设置 防止因为环境的不同 而找不到文件。成功啦 浏览器打开输入localhst:3302端口就可以访问。将fs path http结合起来 做一个访问页面。建议自己写个文件做测试 这里成功写入并且读取了内容。成功访问啦 可以自己去拿几个html文件尝试。可以看到 创建服务后控制台持续在监听事件。FS:node内置的 读取本地文件的方法。模块:封装的属性以及方法。
2023-09-29 21:27:24
2335
原创 JavaScript-Ajax-axios-Xhr
这里可以看到区别 axios自动把json数据转换了 在控制台可以看到 返回的请求头 请求方式 以及状态码 还有数据的结构。
2023-09-16 20:06:00
338
原创 JavaScript Json -笔记
JSON 英文全称avacriptbjectotationJSON 是一种轻量级的数据交换格式。JSON是独立的语言JSON 易于理解。JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。文本可以被任何编程语言读取及作为数据格式传递。
2023-09-15 23:57:34
298
原创 计算机二级公共基础知识-2023
第一台电子计算机eniac 埃尼阿克 1946。专门用于处理一些问题的计算机 专门增强了一些功能。第一台存储程序计算机 edvac 艾迪瓦克。市场上销售的一般就是通用计算机。根据电子元器件的发展分类。按照电脑的用途可以分为。4.超大规模继承电路。
2023-09-12 22:37:08
168
原创 信息安全技术概论-李剑-持续更新
随着计算机网络技术的发展,与时代的变化,计算机病毒也经历了从早期的破坏为主到勒索钱财敲诈经济为主,破坏方式也多种多样,由早期的破坏网络到破坏硬件设备等等 ,这也是为什么要学习信息安全技术。
2023-09-10 00:11:56
515
原创 JAVA反射+动态代理
一.什么是反射? 反射就是对封装的成员信息与变量进行编程式访问简单来说就是从类里面拿东西 比如属性 或者构造方法二.获取Class对象:获取Class的三种方式代码实现:首先封装一个javabean Student类
2023-08-29 14:01:05
117
原创 Java-网络编程
主要为您 介绍Java网络编程 tup和udp的代码练习以及软件架构和网络相关的知识点 ,三次握手以及四次挥手的知识点,一些代码练习
2023-08-28 17:47:00
148
原创 Java-线程池
普通的多线程代码 创建线程后代码跑完 线程就会消失 想要创建 还得再次去创建 不仅浪费时间 还浪费资源。解决方法:创建一个容器线程池,有任务自动开启创建线程去执行任务,执行完毕后再释放回线程池。线程池有上限,可以由自己设置。
2023-08-28 13:21:14
73
原创 JAVA-多线程等待唤醒机制-阻塞队列
可以实现等待唤醒常规的等待唤醒机制就是加了锁以及在适当位置增加wait(等待) notify(唤醒) 或是用sleep(计算时间等待)用阻塞队列更加方便但是需要注意的是生产者和消费者必须使用同一个队列 否则存放和 拿到的数据不是同一个再创建一个类 foodie 大概内容与cook相似创建测试类 最后可以看到代码跑起来了
2023-08-28 12:45:41
110
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人