- 博客(70)
- 资源 (7)
- 收藏
- 关注
原创 一个优秀的rabbitmq消费者(consumer)设计,可直接上线使用
一个优秀的rabbitmq消费者(consumer)设计,可以线上使用。
2025-04-03 11:00:00
476
原创 Python web框架sanic+tortoise服务框架搭建(MVP版本)
Python web框架sanic+tortoise服务框架搭建(MVP版本)
2025-03-27 09:47:22
500
原创 【生命摆渡人】武汉抗疫英雄汪勇:平凡人的非凡之举。
吾国吾民,每当大灾大难来临之际,总有人勇敢的站出来,这些人,也许平日里看起来很平凡,甚至连他们自己都不觉得自己多么优秀。时隔近5年,再读《生命摆渡人》,仍然热泪盈眶。
2025-02-23 22:27:49
114
原创 Elasticsearch高级检索对决:search_after+pit和scroll,谁才是最佳选择?
Elasticsearch高级检索对决:search_after+pit和scroll,谁才是最佳选择?
2025-02-03 13:51:33
785
原创 【续】开发triton客户端,访问clip-vit-large-patch14模型抽取图片特征。
【续】在上一篇中,我们使用triton完成了openai开源抽取图像特征模型的工程化,今天这篇是开发triton客户端,通过http/grpc访问该模型,以实现图像特征的提取。
2025-01-25 06:44:19
878
原创 使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。
使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。
2025-01-21 23:20:03
714
原创 Elasticsearch pit(point in time)使用方法介绍
Elasticsearch pit(point in time)使用方法介绍,并使用golang实现search_after+pit的检索方案。
2025-01-14 19:56:21
922
原创 Elasticsearch检索之三:官方推荐方案search_after检索实现(golang)
Elasticsearch滚动查询官方推荐方案:search_after检索实现(golang)
2024-12-28 20:51:44
1436
原创 快速掌握Elasticsearch检索之二:滚动查询(scrool)获取全量数据(golang)
滚动查询区别于上一篇文章介绍的使用from、size分页检索,最大的特点是,它能够检索超过10000条外的所有文档,可以理解为是一种全量检索的技术方案,也正是因为这种特性,使得滚动查询的代价非常高昂,检索过程消耗大量的内存,所以对于实时检索的场景,滚动查询是不适用的。
2024-12-27 22:15:51
1194
原创 Elasticsearch检索方案之一:使用from+size实现分页
前面两篇文章介绍了elasticsearch以及Kibana的安装,检索引擎以及可视化工具都已经安装完成,接下来介绍下如何使用golang的sdk实现简单的分页查询。
2024-12-25 22:03:52
1463
原创 Kibana8.17.0在mac上的安装
Kibana是与elasticsearch配套使用的数据分析与可视化工具,通过Kibana可以轻松与es中存储的数据进行高效的交互,包括数据写入、检索、删除等操作,并可以通过编写部分代码将数据做成各种报表,从而进行非常直观的统计。对于Kibana版本的选择,应该遵从的原则是与elasticsearch的版本保持一致,我Mac本地安装的elasticsearch版本为8.17.0,因此Kibana的版本也选择安装8.17.0。
2024-12-21 07:09:26
944
2
原创 项目踩坑记--RabbitMq连接过多导致的内存打满
公司项目上用到了一个较老的es集群,无论是es的版本还是服务器,都非常老旧,而且索引的设计也存在一定的缺陷,没有进行分拆,个别索引的数据达到了4T+,在删除索引的部分数据手动执行forcemerge操作时耗费大量的cpu资源,导致集群服务不稳定,数据的写入和检索大概率超时,严重影响了业务的正常运行,而且云的同学给了明确的反馈,该集群已经无法支持扩容,建议释放该集群,重新购买。根据老服务暴露的问题以及检索集群搭建的经验,对现有服务做了重新的设计,主要是两点:数据的写入使用异步逻辑,在线api对外提供服务,数据
2024-11-17 21:12:31
745
原创 最美北京中关村软件园
中关村软件园的秋,是科技与自然的盛宴,它用一种难以言喻的魅力,吸引着每一个心怀梦想与激情的人。在这里,每一片落叶都承载着对未来的期许,每一缕清风都似乎在诉说着创新与突破的故事。当夜幕降临,华灯初上,这份秋日的静谧与园区的活力相互交织,更添几分梦幻与神秘,让人流连忘返。最美北京中关村软件园。
2024-11-17 21:12:24
143
原创 RabbitMQ-死信队列(golang)
RabbitMQ的死信队列(Dead Letter Queue,简称DLQ)是一种用于处理消息失败或无法路由的消息的机制,死信队列中的所有消息都是无法被正常消费的死信,这使得开发者可以集中对这些消息进行管理和分析。通过分析死信队列中的消息,开发者可以了解系统的运行状态、发现潜在的问题,并进行相应的优化和改进,以提升系统的稳定性和可靠性。
2024-11-14 20:19:59
1607
原创 ElasticSearch向量检索技术方案介绍
在人工智能快速发展的今天,推荐技术、以文搜图、以文搜视频、以图搜图等技术已经得到了广泛的应用,在百度、小红书、抖音、快手等app上随便输入一段文本,搜索结果已不像早些年那么单一:只有一些文字信息,现在的搜索结果里不仅有文字,还能够搜索出与检索词高度相关的图片、视频、或者商品(电商app),甚至都不用检索,feed流推荐的内容或者商品都是自身感兴趣的,大家一定会有疑问,整个系统背后是如何实现的呢,为什么输入一段文字,就能检索到相关的视频、音频或者图像呢?不同的内容形式,中间是怎么实现的匹配呢?
2024-11-09 22:03:28
2412
原创 elasticsearch查询语言DSL构建包使用及实现原理(golang)
但是,从github上的记录看,当前最新版本是22年3月份发布的,已经两年多没有更新了。从我个人的使用来说,两个包各有千秋,从开发效率上来说,我比较喜欢使用第三方包,,官方包偏底层,,如果对性能要求较高的,还是推荐使用官方包进行开发。
2024-10-29 09:22:26
1126
原创 golang操作mysql利器-gorm
总之,gorm是一个对go开发者非常友好且使用简单的db操作库,非常容易上手,学习成本很低,推荐使用。上面对操作数据库的基本操作已经介绍的七七八八了,完全可以满足日常开发,总结出来共享给更多的小伙伴,希望对大家有所帮助。
2024-09-19 10:08:20
1572
1
原创 Elasticsearch写入、读取、更新、删除以及批量操作(golang)
以上总共介绍了10个api,基本上就满足了日常对es操作的需求,测试、验证适用于使用单条检索,这样方便验证数据的准确性,批量操作用于验证数据、逻辑没有问题后的操作,支持批量主要是为了提升效率,以快速完成对数据的操作。
2024-08-26 21:56:09
1385
2
原创 golang线程池ants-实现架构
ants协程池是一个高性能、易用的Go语言协程池库,它通过复用goroutines、自动调度任务、定期清理过期goroutines等方式,帮助开发者更加高效地管理并发任务。无论是处理网络请求、数据处理还是其他需要高并发性能的场景,ants协程池都是一个值得推荐的选择。
2024-07-06 21:55:48
1825
原创 RabbitMQ-topic exchange使用方法
topic 交换机是比直连交换机功能更加强大的交换方式,通过不同的路由规则,可以实现fanout、direct两种交换机的功能。
2024-06-09 21:49:33
1395
1
原创 RabbitMQ-直连交换机(direct)使用方法
直连交换机,可以实现类似路由的功能,消息从交换机发送到哪个队列,直连交换机是支持配置的,他可以根据不同的routing key将消息转发到不同的队列当中。false,nil)false,nil)在上面的代码中,routing key参数,在扇形交换机是无效的,这点大家要注意。以上就是rabbitmq直连交换机的使用方式,示例代码只是做了简单的演示,对于多重绑定,各种路由规则可以自行尝试,直连交换机模式,为开发者提供了灵活的路由规则,推荐使用。
2024-06-02 21:47:27
1364
原创 golang线程池ants-四种使用方法
众所周知,goroutine相比于线程来说,更加轻量、资源占用更少、无线程上下文切换等优势,但是也不能无节制的创建使用,如果系统中开启的goroutine过多而没有及时回收,也会造成系统内存资源耗尽。ants是一款高性能的协程管理池,实现了协程的创建、缓存、复用、刷新、停止能功能,同时允许开发者设置线程池中worker的数量、线程池本身的个数以及workder中的任务,从而实现更加高效的运行效果。
2024-06-01 22:06:55
2568
原创 RabbitMQ-发布/订阅模式
关于扇形交换机,核心的一点需要我们记住,发送到扇形交换机的消息,他会将消息广播给所有绑定到该交换机的队列上,无脑广播,所有队列会同时接受到交换机上全部的消息。
2024-05-30 23:16:51
1528
原创 RabbitMQ-默认读、写方式介绍
了解rabbitmq的设计架构,对理解mq如何使用有很大的帮助。一个非常重要的点,mq中的生产者从来不是直接将消息发送到队列中的,而是将消息发送到了mq的交换机中(上图中的exchange为交换机), 甚至生产者都不知道这条消息将被发送到哪个队列中。交换机是个怎样的设计呢,他的一侧连接生产者,从生产者接收消息,另外一侧连接队列,将消息push进队列中,将消息push进一个队列,还是多个队列,还是抛弃,这些策略是由交换机的类型决定的,对于交换机的使用,后面详细介绍。
2024-05-26 18:15:21
1169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人