2.4k star,快速、免费、可靠的一款开源产品

简介: 【7月更文挑战17天】

这是一款go语言写的后台作业平台

image-1.png

river简介

River是一个基于Go和Postgres的高性能作业处理系统,旨在提供快速且可靠的后台作业处理能力。该项目通过鼓励使用相同的数据库来存储应用数据和作业队列,从而避免了分布式系统中的许多常见问题。

功能特点

  • 高性能与可靠性:River设计用于处理大量作业,同时保证作业的执行既快速又可靠。
  • 与Postgres紧密集成:River建立在Postgres之上,利用其强大的数据库功能来管理作业队列。
  • 事务性作业入队:可以将作业与其他数据库更改一起事务性地入队,这样可以在处理分布式系统时减少复杂性。
  • 灵活的作业重试策略:提供了灵活的作业重试策略,以应对可能出现的失败情况。
  • 易于监控:通过River UI,用户可以轻松监控和管理作业队列,无需直接查询数据库或使用命令行。

快速开始使用

  1. 安装:首先,需要安装Go语言环境。然后,通过以下命令安装River:
    go install github.com/riverqueue/river/cmd/river@latest
    
  2. 数据库迁移:确保Postgres数据库正在运行,并执行以下命令来设置River所需的数据库结构:
    river migrate-up --database-url "$DATABASE_URL"
    
  3. 编写作业:创建一个Go文件,并定义一个作业函数。例如:
    func MyJob(ctx context.Context, args ...interface{
         
         }) error {
         
         
        // 作业逻辑
        return nil
    }
    
  4. 入队作业:使用River客户端将作业入队以供执行:
    client.Enqueue(MyJob, arg1, arg2)
    
  5. 启动工作器:最后,启动River工作器来执行队列中的作业:
    river work
    

通过以上步骤,您可以快速开始使用River来处理后台作业。更多详细信息和高级配置,请参考项目文档官方示例

总结
River项目是为需要高性能和可靠性的后台作业处理而设计的。它的紧密集成与Postgres,事务性作业入队,以及易于监控的特性,使其成为处理后台作业的理想选择。快速开始使用River,只需几个简单的步骤,即可将其集成到您的Go应用程序中。随着开源社区的支持和不断的更新,River有望成为Go后台作业处理的首选解决方案。

开源地址:https://github.com/riverqueue/river

官网:https://riverqueue.com/

image.png

相关文章
|
Cloud Native 安全 Anolis
免费、安全、可靠!一站式构建平台 ABS 介绍及实例演示 | 龙蜥技术
一文了解软件包构建、镜像构建、内核源码构建、云原生构建 4 大构建服务。
|
8月前
|
小程序 数据安全/隐私保护
极客SaaS框架开源包
听说后边要出saas去水印小程序 saas短视频去重小程序
75 2
|
8月前
|
移动开发 编解码 数据可视化
分享12款我常用的开源免费工具
分享12款我常用的开源免费工具
209 1
|
8月前
|
缓存 算法 Java
首次公开!阿里巴巴最新高并发架构设计实录被我从Github扒下来了
前言 现在Java面试,问的是越来越底层。作为一名合格的Java程序员不仅要能“上天”,还要能“入地”!上天是指高并发,缓存,大流量,大数据量,能在更高的层面解决问题,入地是指从JVM,OS,算法,线程,IO这块刨根究底,对底层知识都能知其然还要知其所以然。 而本篇要跟大家探讨的就是“上天”这块的内容。据有关数据表明,现在基本工作年限超过5年的Java开发岗以及各大厂招聘岗位,对于这块内容是必定会考察的。这也就意味着,你想要在今年这个大环境下,找到一份薪水高且发展前景好的岗位,不关基础知识还要有良好的编码习惯和能力、排查问题、解决问题的能力以及整体系统的设计能力和架构能力。
169 1
|
运维 监控 Cloud Native
9k Star! 一款灵活、强大、易用的开源运维平台 ——Spug 原创 云原
运维平台是运维管理任务的重要组成部分,它主要负责监控系统的运行情况,及时发现系统的故障,其中包括性能分析、监控、故障诊断等。 同时,运维管理平台可以通过简单的操作完成系统的配置和更新,以及自动管理系统的日常运行。
387 0
|
NoSQL 关系型数据库 MySQL
[开源推荐]一款免费商用的开源培训系统
我们团队开源了一款开箱即用的线上培训系统PlayEdu,它基于Java开发,遵循Apache2.0开源协议在,支持免费商用。
828 0
[开源推荐]一款免费商用的开源培训系统
|
关系型数据库 分布式数据库 开发工具
手把手教你如何参与开源项目的协作、贡献代码: 以PolarDB开源项目为例
开源协作是一种社会进化的体现吗? 昨天体验了一下ChatGPT, 对这几个回答深有感触, 开源协作一定是未来会长期存在的, 更大规模化的人类协作模式. 所以我想写一点东西, 来帮助更多人参与开源协作.
1285 3
手把手教你如何参与开源项目的协作、贡献代码: 以PolarDB开源项目为例
|
小程序 Linux API
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
340 0
|
异构计算
《阿里云异构计算产品方案简介》电子版地址
阿里云异构计算产品方案简介
102 0
《阿里云异构计算产品方案简介》电子版地址
|
运维 Kubernetes Cloud Native
从构建到治理,业内首本微服务治理技术白皮书正式发布(含免费下载链接)
历经半年多的筹备,长达379页的《微服务治理技术白皮书》,于今天发布,这可能是业内首本聚焦微服务治理业务领域的白皮书,希望通过本书,能对高效解决云原生架构下的微服务治理难题,起到一点点作用。
从构建到治理,业内首本微服务治理技术白皮书正式发布(含免费下载链接)