- 博客(27)
- 收藏
- 关注
原创 分布式搜索引擎之elasticsearch基本使用2
match和multi_match的区别是什么?match:根据一个字段查询multi_match:根据多个字段查询,参与查询字段越多,查询性能越差精确查询常见的有哪些?term查询:根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段range查询:根据数值范围查询,可以是数值、日期的范围query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。
2024-12-10 13:51:54
807
原创 分布式搜索引擎之elasticsearch基本使用1
什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。
2024-12-09 17:02:57
1000
原创 【Cesium教程第三章数据加载OGC地图服务之WMS】
OGC开放地理空间信息联盟(Open Geospatial Consortium-OGC),致力于提供地理信息和数据及服务的。OGC在1994年到2004年期间机构名为Open GIS Consortium, 后因业务需要更名。OGC是一个非盈利的志愿的,引领着空间及定位基本服务的发展。在领域,基于公共接口访问模式的互操作方法是一种基本的操作方法。通过国际标准化组织(ISO/TC211)或(如OGC)制定空间数据互操作的商开发遵循这一接口规范的空间数据的读写函数,可以实现异构的互操作。
2024-11-22 10:40:11
787
原创 分布式RabbitMQ进阶服务异步通信之MQ集群
RabbitMQ的是基于Erlang语言编写,而Erlang又是一个面向并发的语言,天然支持集群模式。RabbitMQ的集群有两种模式:•:是一种分布式集群,将队列分散到集群的各个节点,从而提高整个集群的并发能力。•:是一种主从集群,普通集群的基础上,添加了主从备份功能,提高集群的数据可用性。镜像集群虽然支持主从,但主从同步并不是强一致的,某些情况下可能有数据丢失的风险。来代替镜像集群,底层采用Raft协议确保主从的数据一致性。
2024-11-21 13:42:45
922
原创 分布式RabbitMQ进阶服务异步通信之死信交换机
什么样的消息会成为死信?消息被消费者reject或者返回nack消息超时未消费队列满了死信交换机的使用场景是什么?如果队列绑定了死信交换机,死信会投递到死信交换机;可以利用死信交换机收集所有消费者处理失败的消息(死信),交由人工处理,进一步提高消息队列的可靠性。消息超时的两种方式是?给队列设置ttl属性,进入队列后超过ttl时间的消息变为死信给消息设置ttl属性,队列接收到消息超过ttl时间后变为死信如何实现发送一个消息20秒后消费者才收到消息?给消息的目标队列指定死信交换机。
2024-11-21 11:27:34
1089
原创 分布式RabbitMQ进阶之服务异步通信
每个RabbitTemplate只能配置一个ReturnCallback,因此需要在项目加载时配置:@Slf4j@Override// 获取RabbitTemplate// 设置ReturnCallback// 投递失败,记录日志log.info("消息发送失败,应答码{},原因{},交换机{},路由键{},消息{}",// 如果有业务需要,可以重发消息});ConfirmCallback可以在发送消息时指定,因为每个业务处理confirm成功或失败的逻辑不一定相同。
2024-11-20 11:42:39
704
原创 【Cesium教程第三章数据加载之影像加载2】
Cesium 提供了 OpenStreetMapImageryProvider 类来加载 OSM 数据,只需直接指定OSM数据 URL即可。另外,还可以通过 UrTemplatelmageryProvider 类构建 xyz 形式的 URL来求影像瓦片。在创建Viewer 时,用户可以通过指定高德地图服务 URL来访问高德地图。在请求MapBox影像时,首先需要进入MapBox官网申请密钥,网址为https://www.mapbox.com/maps/。
2024-11-20 10:58:30
986
原创 【Cesium教程第三章数据加载之影像加载】
Cesium中数据加载包括ArcGIS在线地图、Bing地图、天地图、高德地图、OpenStreetMap、MapBox影像图等,ESRL、超图、中地数码等大型 GIS 厂商提供的自定义格式的 GIS数据,以及 GeoJSON、TIFF、SHP、KML、点云、三维模型等各种格式的 GIS 数据。
2024-11-18 17:30:12
1009
原创 分布式多级缓存之安装OpenResty
首先你的Linux虚拟机必须联网你可以在你的 CentOS 系统中添加openresty仓库,这样就可以便于未来安装或更新我们的软件包(通过命令)。然后再重复上面的命令然后就可以像下面这样安装软件包,比如openrestyopm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。如果你想安装命令行工具opm,那么可以像下面这样安装默认情况下,OpenResty安装的目录是:/usr/local/openresty。
2024-11-18 14:00:49
262
原创 Cesium教程第二章Cesium快速入门
在 Cesiun 程序中,Viewer,是所有内容的基础。Viewer是一个带有多种功能的可交互的三维数字地球容器,在此之前,我历召经透过 new cesium Viewer初始化了一个视图窗口,即一个最简单的三维地球。初始化的 cesium 程序由两部分组成:第一部分是初始化的三维地球;第二部分是默认自带的一些控件,如下图所示:三维地球场景支持采用鼠标(PC端)和手指触摸(移动端)的方式进行交互,并默认支持以下几种相机漫游方式。。按住鼠标左键拖曳:拖动相机在三维地球平面平移。。
2024-11-18 09:41:24
1647
原创 【cesium教程第一章框架基本介绍】
Cesium API对于初学者是了解整个框架必不可少的一步,在官网相应位置查看api文档。但Cesium官网中API文档类库中的类过于繁多,每个类中又包含大量的函数、属性所依赖。这些类放在一起,显得十分的庞杂,对初学往往不太友好。下图所示为Cesium官网API截图部分。任何一个Cesium程序都离不开Viewer类,可以说,Viewer基本上代表了一个三维视窗的所有,是Cesium程序应用入口,核心类构成如下图所示。
2024-11-14 16:24:54
721
原创 分布式缓存之Redis单机与集群
我们需要执行命令来创建集群,在Redis5.0之前创建集群比较麻烦,5.0之后集群管理命令都集成到了redis-cli中。修改redis-6.2.4/redis.conf文件,将其中的持久化模式改为默认的RDB模式,AOF保持关闭状态。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。要在同一台虚拟机开启3个实例,必须准备三份不同的配置文件和目录,配置文件所在目录也就是工作目录。这里我们搭建一个三节点形成的Sentinel集群,来监管之前的Redis主从集群。
2024-11-14 11:16:18
714
原创 微服务中雪崩问题的预防与治理
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlSentinel 具有以下特征:•丰富的应用场景。
2024-11-12 13:44:44
674
原创 浅谈前端中的副作用
浅谈前端中的副作用副作用的函数副作用的函数不仅仅只返回了一个值,还做了其他的事情:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mermaid语法1 功能;增加了 多屏幕编辑 Markdown文章功能;增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功
2021-08-30 14:34:24
866
翻译 如何使用Node.js实现JWT原理
这里写自定义目录标题JWT1.为什么需要会话管理2.session和cookies3.JWT定义4.JWT原理5.JWT认证流程6.JWT数据结构7.JWT使用方式8.在koa2项目中的使用9.JWT原理简单实现10.JWT优势与弊端JWTjwt是json web token的简称,本文介绍它的原理,最后后端用nodejs自己实现如何为客户端生成令牌token和校验token1.为什么需要会话管理我们用nodejs为前端提供resful接口时,http协议他是一个无状态的协议,有时候我们需要根据这个
2021-06-05 16:10:02
786
原创 实现vue双向数据绑定
自定义vue双向数据绑定(基于类)Mue.html** 1. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-widt
2021-02-24 12:01:00
158
1
原创 手动实现loading
index.html** loading-1 ****loading.css**#loading-1 { position: relative; width: 300px; height: 80px; margin: 200px auto; border-bottom: 3px solid rgba(6
2021-01-14 17:41:01
173
原创 ant design pro v4
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片
2021-01-07 16:53:36
249
原创 vue-element-admin 之面包屑导航
vue-element-admin 之面包屑导航项目适用场景: 项目在配置路由表/面包屑导航/侧边栏导航切换描述出现的问题: 在切换的过程中 在面包屑上点击子菜单的上级菜单时会进入404页面,顶级菜单会正常切换 出现问题的原因: 1.路由表地址配置错误 2.项目文件层级嵌套错误 3.path地址正则匹配出错(path-to-regexp)解决方案如下: 1.检查项目路由表配置是否和项目文件层级一致 2./src/components/Breadcrumb
2020-12-08 15:18:45
6204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人