使用redis作为我的核心BD时我的业务逻辑放在哪里

Posted

技术标签:

【中文标题】使用redis作为我的核心BD时我的业务逻辑放在哪里【英文标题】:Where to place my business logic when using redis as my core BD 【发布时间】:2021-05-24 02:54:00 【问题描述】:

好的,所以我想创建一个基于构建我从 RSS 阅读的新闻提要的平台。而且我想用kafka把数据摄取到redis中,redis中的这些数据也会被其他服务使用。所以我想知道我应该实现一个 API 来与我的 redis BD 进行交互,这样我的业务逻辑就不会在客户端向 redis 发出请求时分片,我曾考虑在服务器内实现一个 REST API,它将存储核心业务逻辑.但是,我可以使用 LUA 脚本来执行此操作并在我的架构中避免这个额外的节点吗?我的意思是:我不会在 API REST 中实现 POST 来实现在我的 redis BD 中创建 Feed,而是实现一个 lua 脚本来执行此操作。当我需要一个外部服务器来创建一个 Feed 时,我会直接调用这个 lua 脚本。这样,我将减少更改我的 BD 所需的往返次数,但我不知道这是否会以任何方式出现问题。

【问题讨论】:

【参考方案1】:

Lua 脚本无法在 Redis 中设置为 Rest Server,因为它无法脱离沙盒,也无法在后台运行。

您可能需要检查 Redis 模块 RedisGears,因为它可以运行 Python 脚本并且不限于沙箱。

您可能要检查的另一个模块是RedisRest。

【讨论】:

以上是关于使用redis作为我的核心BD时我的业务逻辑放在哪里的主要内容,如果未能解决你的问题,请参考以下文章

领域模型应该放在哪一层?

MVC:把业务逻辑放在哪里? [关闭]

Lumen 中的业务逻辑应该放在哪里?

我在哪里使用 Core Data 将业务逻辑放在 IOS 应用程序中?

查询电脑的逻辑核心数,不同业务下如何配置线程池

将两个相关对象的业务逻辑放在哪里?