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

相关文章
|
3月前
|
安全 前端开发 云计算
Waline:一款开源、安全、简介的评论系统
阿里云计算巢提供了一键部署waline的功能,无需下载代码或安装复杂依赖,通过简单步骤即可搭建waline —— 一款带后端的极简风评论系统。
Waline:一款开源、安全、简介的评论系统
|
Cloud Native 安全 Anolis
免费、安全、可靠!一站式构建平台 ABS 介绍及实例演示 | 龙蜥技术
一文了解软件包构建、镜像构建、内核源码构建、云原生构建 4 大构建服务。
|
9月前
|
存储 Linux 数据安全/隐私保护
Star 21.8k!推荐一款实用的免费开源局域网传输工具!轻松搭建网盘的神器!
Star 21.8k!推荐一款实用的免费开源局域网传输工具!轻松搭建网盘的神器!
149 1
|
9月前
|
移动开发 编解码 数据可视化
分享12款我常用的开源免费工具
分享12款我常用的开源免费工具
253 1
|
9月前
|
缓存 算法 Java
首次公开!阿里巴巴最新高并发架构设计实录被我从Github扒下来了
前言 现在Java面试,问的是越来越底层。作为一名合格的Java程序员不仅要能“上天”,还要能“入地”!上天是指高并发,缓存,大流量,大数据量,能在更高的层面解决问题,入地是指从JVM,OS,算法,线程,IO这块刨根究底,对底层知识都能知其然还要知其所以然。 而本篇要跟大家探讨的就是“上天”这块的内容。据有关数据表明,现在基本工作年限超过5年的Java开发岗以及各大厂招聘岗位,对于这块内容是必定会考察的。这也就意味着,你想要在今年这个大环境下,找到一份薪水高且发展前景好的岗位,不关基础知识还要有良好的编码习惯和能力、排查问题、解决问题的能力以及整体系统的设计能力和架构能力。
188 1
|
架构师 微服务
阿里内网疯狂传阅的“M8级”分布式架构笔记,GitHub刚上线就霸榜
分布式一直作为编程的热门技术之一,无论你是开发数十年的架构大牛,还是刚刚入门的编程小白,分布式都是你必须要具备的技术之一!
|
NoSQL 关系型数据库 MySQL
[开源推荐]一款免费商用的开源培训系统
我们团队开源了一款开箱即用的线上培训系统PlayEdu,它基于Java开发,遵循Apache2.0开源协议在,支持免费商用。
885 0
[开源推荐]一款免费商用的开源培训系统
|
小程序 Linux API
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
强烈推荐一款自研支持全平台的免费内网穿透工具:i996.me
363 0
|
缓存 运维 JavaScript
免费开源的 HelloDjango 系列教程,结束还是开始?
我们已经成功地开发了一个功能比较完备的个人博客,是时候来总结一下我们的工作了。 在教程的前两篇,我们介绍了如何搭建 django 开发环境,如何创建 django 项目以及 django 应用,这是我们进行 django 项目开发的基础。 第 3、4 篇:讲了 django ORM 的基础操作。ORM 是 django 核心中的核心,不仅 django 自带的应用底层全都依赖于 ORM,大部分使用 django 构建的应用基本也离不开 django ORM 的操作,所以能否熟练掌握 django 的 ORM API
126 0

热门文章

最新文章