分解为微服务

mftmpeh8  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(269)

我有以下要求
1) 从oracle数据库获取数据2)将获取数据发送到rabbit mq 3)在mongo db中记录消息
目前我有一个单独的spring引导应用程序来执行所有的操作。这是微服务的正确架构吗?还是我应该分解成多个小的微服务。请提供一个例子。

vwhgwdsa

vwhgwdsa1#

一般来说,微服务架构意味着将一个整体划分为更易于管理的服务。这些服务应该是独立的和松散耦合的。
在您的特定用例中,您描述的服务不会松散耦合,如果没有另一个服务,很难找到其中一个服务的用法。
也就是说,我建议您使用具有多个示例的单个应用程序,以获得更好的可伸缩性。以下是我的建议:
每个示例从oracle数据库获取数据并将其发送到特定的rabbitmq队列。您必须将数据划分为不相交的块。
每个示例使用一个队列中的消息,并将消息记录到mongodb中。
这样,负载可以在示例之间平衡,而且,通过对每个任务(上面的1和2)使用某种并发机制(例如线程池),您可以轻松地配置为对您认为需要更多资源的任务使用更多线程。

相关问题