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

相关文章
|
Web App开发 搜索推荐 安全
免费、好用、强大的开源笔记软件综合评测
笔记产品那么多,为什么要使用开源笔记软件? 开源笔记软件的优点和缺 优点 • 免费使用; • 可扩展性强,满足用户的个性化需求; • 数据更加安全,不用担心开发者突然跑路; 缺点 • 用户最好具备一定的技术,有些功能的使用可能需要用户自 下面是一些比较著名的开源笔记软件。绝大多数开源软件都是针对某款知名笔记软件的替代品,比如印象笔记/EverNote、Roam Research、Notion 等笔记软件的替代品。 具体包括,Joplin、 Turtle、 Laverna、 Boostnote、 Anytype、 Focalboard、 TiddlyWiki 、 Athens、 Trilium.
2368 0
免费、好用、强大的开源笔记软件综合评测
|
8月前
|
移动开发 编解码 数据可视化
分享12款我常用的开源免费工具
分享12款我常用的开源免费工具
192 1
|
NoSQL 关系型数据库 MySQL
[开源推荐]一款免费商用的开源培训系统
我们团队开源了一款开箱即用的线上培训系统PlayEdu,它基于Java开发,遵循Apache2.0开源协议在,支持免费商用。
815 0
[开源推荐]一款免费商用的开源培训系统
|
小程序 Linux API
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
333 0
|
前端开发 开发者
《低代码引擎技术白皮书》电子版地址下载
本书从应用、基础协议和原理三个方面对低代码引擎的技术进行了全面的介绍,并在低代码引擎原理篇重点介绍了低代码引擎所需的渲染、入料、编排、出码等核心技术原理,对低代码引擎的生态设计进行了介绍。 本书适合于有低代码产品研发诉求的前端开发人员。
76 0
《低代码引擎技术白皮书》电子版地址下载
|
运维 Kubernetes Cloud Native
从构建到治理,业内首本微服务治理技术白皮书正式发布(含免费下载链接)
历经半年多的筹备,长达379页的《微服务治理技术白皮书》,于今天发布,这可能是业内首本聚焦微服务治理业务领域的白皮书,希望通过本书,能对高效解决云原生架构下的微服务治理难题,起到一点点作用。
从构建到治理,业内首本微服务治理技术白皮书正式发布(含免费下载链接)
|
分布式计算 Oracle 关系型数据库
开源,从社区到商业化
随着软件吞噬了世界,开源正在吞噬软件。 今天,几乎所有主要的科技公司,从 Facebook 到 Google,都是在开源软件的基础上发展起来的。 这些公司越来越多地建立自己的开源项目,例如 Airbnb 有 30 多个开源项目,Google 有 2000 多个。
开源,从社区到商业化
|
存储 小程序 物联网
开放下载!《阿里云存储白皮书》全面解读阿里云存储二十年的技术演进 | 开发者必读(175期)
藏经阁又有哪些新书上架呢?《阿里云存储白皮书》《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》《深入浅出玩转物联网平台》任你pick~还有精彩新书发布会,快来围观
1763 0
|
资源调度 大数据 API
袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈、交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代。
3128 0