标签: system-design

使用SQL SERVER构建业务规则引擎

我需要构建业务规则引擎.我使用的是SQL SERVER 2005.业务规则非常庞大,就像2000页长.

例如.

If col1 = 'xyz' then populate col2 otherwise not.
if col3 = 'abc' and col4 = 'def' then col5 = 'ghy'
Run Code Online (Sandbox Code Playgroud)

等等

所以,我认为我们不能只在程序中的if else条件下编写所有这些规则.所以,我可以创建一个决策表,并将该表上的所有条件作为记录.但我不知道该怎么做.

任何人都有任何想法,怎么做?

谢谢

sql-server rdbms rule-engine business-rules system-design

1
推荐指数
1
解决办法
1561
查看次数

如何将系统从每秒 1 个请求扩展到每秒数千个请求

一般系统设计问题:有一个应用程序使用纬度、经度查询数据库地址,并调用 API 来格式化地址。目前这些请求的处理速度为每秒 1 个请求,如何将我们的应用程序扩展到每秒 1000 个请求。

architecture scale system-design

1
推荐指数
1
解决办法
866
查看次数

强制执行纯虚函数实现,可能使用不同的参数类型

我目前有一个基类Env,它是一个接口,并且我有几个派生类。

class Env

{
    public:

        //method in question
        virtual std::tuple<Eigen::VectorXf,float,bool,std::string> step(const //what goes here?//)=0;

        virtual ~Env(); //virtual destructor
};
Run Code Online (Sandbox Code Playgroud)

派生类的示例如下(标题)

class MountainCar: public Env

{
    public:

        MountainCar();
        std::tuple<VectorXf,float,bool,std::string> step(const int) override;

};
Run Code Online (Sandbox Code Playgroud)

现在,设计是所有环境都必须从Env继承。但是,我想强制所有环境来实现step()方法,这就是为什么基本Env中的step方法是纯虚拟方法的原因。

但是,每个派生的Env在step方法中可以采用不同的参数类型,并且这应该是有效的替代(这些有效类型来自固定的已知集合)例如,mountain car用int参数定义了它。另一个环境CartPole使用VectorXf作为step参数。

最初,我使基类成为带有参数U的模板类,然后将U传递给step方法。然后,派生类用于继承模板实例,例如从Env继承的MountainCar示例。但是,问题在于所有派生类都继承自基类的不同实例,并且我不能再将公共基指针用于多态。

如何设计具有C ++ 11功能的系统?

c++ polymorphism inheritance system-design c++11

0
推荐指数
1
解决办法
100
查看次数

如何与组织中的用户共享私有 S3 对象或文件夹?

网站上的用户将视频和图像上传到 S3 存储桶。然后,每个用户都应该能够通过简单地输入他们的电子邮件(类似于谷歌文档)与网站上的其他用户分享他们的视频/图像。

S3 允许生成预签名 URL,但 URL 的最长有效期为 7 天。如何永久共享 S3 对象?

我知道 S3 没有文件夹的概念,但有没有办法与用户共享文件夹?

software-design amazon-s3 amazon-web-services system-design

0
推荐指数
1
解决办法
1108
查看次数

如何管理微服务架构使用的库依赖?

我的英语不好。所以如果你不明白,请告诉我。

我设计了微服务架构。每个服务都有相同的库,该库是团队成员制作的。

(这些库已经是分布式maven系统,并且我们使用了版本控制。)

我想知道如何管理这些常见的库依赖项(版本)。有时,如果库版本发生变化,我们必须检查所有服务并升级依赖项。

于是有人对我说。 Try to make common library which has all library dependency, than other services use that common library.

但我不喜欢这些想法。这最适合微服务架构吗?

如何管理微服务架构使用的库依赖?

谢谢你!

system-design microservices

0
推荐指数
1
解决办法
1494
查看次数

Dynamo DB 如何存储数据?

由于Dynamodb以键值对的形式存储数据,其中键是主键的类型,值是与其关联的数据。我想知道dynamo db是否真正理解值(json)?我所说的值是指json与键关联的对象(RDBMS 中的一行)。dynamo db 是否理解有一些属性以及它要存储的属性的一些值?

上下文:我在 dynamo 数据库中有一个人员表,它具有不同的属性,比如 100,其中之一是年龄,现在假设有一些要求,我想根据年龄获取一些记录。如果dynamo db逐一读取每个条目,然后读取其记录,并假设每条记录都非常大,那么dynamo db是否会读取记录的整个数据,或者无论记录的大小如何,它都可以在恒定时间内仅访问年龄属性吗?

amazon-web-services nosql system-design amazon-dynamodb

0
推荐指数
1
解决办法
3222
查看次数

针对不同类型实体的可扩展审批流程的系统设计

我正在寻找一种有效的方法来创建草稿并为我的域中的某些实体启动审批工作流程。用户应该轻松跟踪更改并批准或拒绝更改。您能否建议一个通用模型/方法/路线图来轻松提供这些功能?

假设我有这个模型:

public class CourierDistributionArea
{
    public City City { get; set; }
    public Courier Courier { get; set; }
}

public class City
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Courier
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

假设用户添加、更新或删除一些 CourierDistributionArea 实体。您将如何存储这些实体的新待批准版本?您将如何设计该系统以轻松添加要在此审批工作流程中使用的新型实体?您将如何向最终用户呈现变更集?

c# workflow system-design

-3
推荐指数
1
解决办法
1253
查看次数