- 博客(30)
- 收藏
- 关注
原创 MQ的可靠性
为了解决这个问题,从RabbitMQ的3.6.0版本开始,就增加了Lazy Queues的模式,也就是惰性队列。为了提升性能,默认情况下MQ的数据都是在内存存储的临时数据,重启后就会消失。在控制台发送消息的时候,可以添加很多参数,而消息的持久化是要配置一个properties。消息到达MQ以后,如果MQ不能及时保存,也会导致消息丢失,所以MQ的可靠性也非常重要。在控制台的Queues页面,添加队列时,同样可以配置队列的Durability。当然,也可以在控制台配置policy,进入在控制台的。
2025-01-10 09:53:42
584
原创 Sentinel
Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。官方网站:Sentinel官网(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。为了方便监控微服务,我们先把Sentinel的控制台搭建出来。
2025-01-05 18:31:45
1346
原创 MongoDB 基础命令
MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最 像关系型数据库(MySQL)的非关系型数据库。MongoDB是一个基于分布式文件存储的数据库由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
2025-01-05 17:29:41
1575
原创 微服务自定义过滤器
以Gateway为例做一次演示由于GlobalFilter是一个接口创建一个MyGlobalFilter 类加@compoent注解注册成spring Bean上并实现并实现filter方法1.首先在exchange获取getRequest2. 从getRequest中获取请求头3.使用chain.filter()放行。过滤器定义就完成了,接下来需要确保我的的过滤器在NettyRoutrngFilter之前执行。在ider中按下Ctrl+H点击NettyRoutingFilter。
2024-12-26 20:09:43
1617
原创 微服务网关路由
顾明思议,网关就是网络的关口。数据在网络间传输,从一个网络传输到另一网络时就需要经过网关来做数据的路由和转发以及数据安全的校验。通俗来说,网关就像是一个“门卫大爷”,外面的人要想进入园区,必须经过大爷的认可,如果你是不怀好意的人,肯定被直接拦截。外面的人要传话或送信,要找大爷。大爷帮你带给目标人。现在,微服务网关就起到同样的作用。前端请求不能直接访问微服务,而是要请求网关 :网关可以做安全控制,也就是登录身份校验,校验通过才放行通过认证后,网关再根据请求判断应该访问哪个微服务,将请求转发过去。
2024-12-26 18:45:02
1450
1
原创 RestTemplate远程调用、服务注册、
然而,它的配置不支持并发修改,因此它的配置通常是在启动时准备的。因此,我们必须想办法改变远程调用的开发模式,让。所以,OpenFeign就利用SpringMVC的相关注解来声明上述4个参数,然后基于动态代理帮我们生成远程调用的代码,而无需我们手动再编写,非常方便。比如,我们使用OK Http.以上就是一个简单的远程调用但是以上的操作存在一些问题,当部署多实例时应为以上代码写死的问题,做不到负载均衡。我们基于Docker来部署Nacos的注册中心,首先我们要准备MySQL数据库表,用来存储Nacos的数据。
2024-12-21 12:03:04
892
原创 Docker -数据卷挂载
在 /var/lib/docker/volumes 文件下创建 html 和 conf 将 html 映射到 html 的 _data , conf映射到conf的 _data 将每一个数据卷都与宿主机上的一个目录对应。虽然Docker容器模拟了系统运行的环境但是Docker只包含当前运行的函数,如果想在容器内修改文件非常的困难。列如:需要对Nginx的配置conf和html进行配置,在Docker使用命令在宿主机创建数据卷。数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
2024-12-16 19:07:09
500
原创 API数据缓存
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象。使用uni.removeStorageSync(KEY)删除某一个数据。uni.getStorageInfoSync() 获取本地的所有数据。:接口调用的回调函数,res = {data: key对应的内容}:接口调用结束的回调函数(调用成功、失败都会执行):本地缓存中的指定的 key。:接口调用失败的回调函数。
2024-09-09 19:06:02
295
原创 uniapp页面与路由
当我们跳转页面需要返回时可以使用 uni.navigateBack 函数进行返回上一页,要注意的是uni.navigateBack 对于tabBar是无效是无法返回到tabBar。当不方便使用navigator或者不想使用navigator时,可以先编写一个盒子再设置点击事件,当盒子被点击时使用uni.navigateTo跳转页面。我们发现使用 uni.navigator跳转到tabBar时是跳转不了的所以我们提供了uni.reLaunch函数。demo2使用onLoad函数进行参数接收即可。
2024-09-08 19:08:02
398
原创 showLoading加载和showModal模态框
在用户页面加添加showLoading当跳到用户页面之后会出现加载提示框。显示模态弹窗,可以只有一个确定按钮,也可以同时有确定和取消按钮。类似一个删除就需要弹出提示预防用户不小心误触。设置一个定时关闭提示框的事件,并且当存在框存在时不允许其他操作。cancelText:设置取消按钮的文字,不能与 showCancel 一同使用。showCancel 是否显示取消按钮默认值为 true。当其值为false时不在将不再显示取消按钮。confirmText:设置确定按钮的文字。
2024-09-06 14:33:23
699
原创 pages.json页面路由
pages.json文件用来进行uniapp的全局页面设置。决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。
2024-09-04 20:19:48
1810
原创 uniapp中组件生命周期函数
监听页面加载,该钩子被调用时,响应式数据、计算属性、方法、侦听器、props、slots 已设置完成,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参)在上方 scroll 在 onLoad 是拿不到值的所以我们提供了onReady,onReady是等onReady渲染完毕之后才开始执行。onLoad是在页面加载是执行,打开页面上我们在控制台可以看见张三。在demo6页面创建一个跳转标签并且添加参数。注意的是 scroll 在 onLoad 是拿不到值的。在demo7中接收参数并输出。
2024-09-03 19:32:34
1982
原创 uniappVue3中组件生命周期
生命周期有多重叫法,有叫生命周期函数的,也有叫生命周期钩子的,还有钩子函数的,其实都是代表,在 Vue 实例创建、更新和销毁的不同阶段触发的一组钩子函数,这些生命周期函数允许开发者在不同阶段对 Vue 实例进行操作,以便执行特定的逻辑或清理工作。生命周期主要包含以下四个阶段:创建、挂载、更新、销毁。好比一款手机,创建(拿到全新一款手机)、挂载(安装各种软件)、更新(系统或者软件升级)、销毁(丢弃手机)
2024-09-02 14:52:37
1260
原创 组建中emit声明触发事件
正常情况下组件只能单向传值。只能从父类组件向子类组件传递值。使用 $emit() 在子组件中创建一个触发事件,就可以将值传递给父类。2.在父类中接收子组件所返回的值并输出当点击按钮之后控制台输出子组件返回的值。2.在父类中接收随机数并且获取从第3位往后的六位数作为颜色格式。以上传递值的方式比较少使用平时都是在代码块中使用。通过以上事件我们能做的时就又很多比如一个获取随机颜色。1.在子组件中创建一个触发事件。1.在子组件中获取一个随机数。
2024-09-02 11:11:40
316
原创 插槽Slots及具名插槽实现组件高定制化
在正常情况下组件我们分为头部组件、主体组件、底部组件等组成。头部与底部一般情况下是统一的只有主体不一样。基于此我们可以把中间的主体内容提取出来当需要显示demo1的页面是显示demo1的页面需要demo时显示demo2。我们把整个页面(包括头部与底部)看做一个组件然后设置一个位置Slots就是位置。
2024-09-01 20:46:15
398
原创 组建中通过Props进行数据传递
一个组件需要显式声明它所接受的 props,这样 Vue 才能知道外部传入的哪些是 props,哪些是透传 attribute。
2024-08-30 20:29:00
256
原创 vue3中watch和watchEffect监听
在Vue 3中,computed和watch都是用于响应式地处理数据变化的工具,但它们有一些重要的异同点。
2024-08-29 21:41:34
346
原创 各种不同类型的for循环遍历知识
这种微小的性能差异通常在大多数应用中并不明显,除非在处理非常大的数据集时才可能显现出来。在实际开发中,应该优先考虑代码的可读性和维护性,而不是过度关注微小的性能差异。由于数组较小时差别非常的小差异所以我们定义一个比较大的数组.通过startTime和endTime计算出for循环的求和消耗时间。for循环是最常规最通用的一种循环遍历方法,map、fiter等都是可以通过for循环完成的。forEach方法是一个高阶函数,会引入额外的函数调用开销。
2024-08-28 20:29:30
723
原创 Computed计算属性用法及方法对比
在computed中定义一个函数(看起来是一个函数,其实是一个属性),命名按照属性规范命名(一般为名词)。
2024-08-27 22:17:22
343
原创 Vue3列表渲染的用法
我们可以使用v-for指令基于一个数组来渲染一个列表。v-for指令的值需要使用形式的特殊语法,其中items是源数据的数组,而item是迭代项的。
2024-08-24 10:58:23
219
原创 Vue3 条件渲染
v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被染。通俗来说就是在一个模块中添加 v-if 当满足条件时才执行(输出)。
2024-08-24 09:38:39
501
原创 Vue3语法
从import引入ref 语法赋值方式:let 变量名 = ref(值);变量取值: {{变量名.value }}字符取值:{{ 变量名 }}数组取值:{{ 数组名[下标] }},注意下标从0开始。对象取值:{{ 对象名{属性名 }},或者 {{ 对象名.属性名 }} 注意对象属性修改值时需要使用value 列如:obj.value.name=" 张三";
2024-08-23 18:51:34
723
原创 uniapp组件
scroll-x:允许横向滚动,如果内容是块级元素需要display:inline-block;hover-stop-propagation:默认值为“false”指定是否阻止本节点的祖先节点出现点击态,App、H5、支付宝小程序、百度小程序不支持。hover-class:默认值为 "none" 指定按下去的样式类。默认值为"none" 时,将不会有点击态效果。hover-start-time:为点击后持续多久点击效果,时间为毫秒。hover-stay-time:为松开时时间会持续多少秒,单位也是毫秒。
2024-08-22 12:16:08
944
原创 创建uniapp Vue3项目
模板区主要负责布局用于页面显示。在vue2版本中只能有一个更目录,而在vue3中能有多个根目录。:主要用于负责页面的样式、布局写法与css和web基本相同。template中可以没有标签但template不能没有。:页面逻辑部分,负责整个页面的逻辑。
2024-08-20 20:13:50
458
1
原创 Node安装教程
5.配置使用淘宝镜像 npm config set https://registry.npmmirror.com。1.通常使用的node版本有1.4与1.7通常建议使用1.7版本。6.安装vue依赖 npm install -gvue/cli。2.安装时不要装C盘win11系统权限较高。7.安装到一半时失败要注意用户的权限问题。3.安装成功以后右键终端已管理员身份运行。4.修改执行路径换成你的安装路径。
2024-08-19 17:14:15
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅