我正在开发一个应用程序,它既必须处理来自其他系统的事件,又必须提供REST。我想将应用程序分解为微服务,并且我正在试图找出我应该使用的方法。我提请大家注意和Spring数据流工具包,但我不清楚它们是否可以集成,以及如何集成它们。
例如,假设系统中有以下功能: 1.关于用户的信息
第1-4点--在这里我看到了经典的微服务体系结构。框架-。第5-9点--最好采用事件驱动的方法。工具包- Spring数据流。
问题是如何在这些平台之间建立沟通。特别是-填充订单详细信息服务必须转换传入的订单,并在数据库中保存附加信息(如果需要的话)。ORDER服务应该获得有关当前保存的规则的信息,执行它们并发送通知。WEB套接字服务只应在特定用户设置筛选器的情况下发送订单信息,而订单保护程序服务应将有关转换订单的信息存储在数据库中。
1.

两个平台内的微服务之间的通信可以使用API网关,但在本例中,我有以下问题:

由于一些功能在这些服务之间交叉,所以在对Stream框架的理解中,我有一个关于什么是“微服务”的问题。特别是,有单独的服务是否有意义?Stream中的微服务可以有一个REST,与数据库一起工作并同时处理事件吗?这样的图表有意义吗?目前是否有可能构建这样的堆栈?
问题是,这些方法中哪一种更正确?Spring数据流所说的“微服务”是什么意思?
发布于 2018-07-30 23:42:18
考虑到这篇文章中的有限信息,很难说服与这种架构相关的所有问题,但我将尝试分享一些细节,并指出示例。同样的原因,也很难解决你的需求。从表面上看,您似乎正在尝试构建事件驱动的应用程序,并想知道Stream (SCSt)和()是否会有所帮助。
他们可以,是的。
Order、User和Catalog看起来就像域对象,它们都会结合在一起解决一个用例。例如,查询特定产品的多个订单,并按用户分组。有几个示例说明了实体之间的数据流,以解决类似的问题。下面是一个事件驱动系统的实时代码-演练。还有另一个社会图应用程序的例子。
虽然这些事件驱动的应用程序可以在message (例如: Kafka或RabbitMQ)的帮助下作为单独的服务独立运行,但是您当然也可以在SCDF中注册它们,并在SCDF中使用它们来构建一个连贯的数据管道。我们正在扩展SCDF中用于这些类型的用例的更直接的功能,但是今天也有一些方法可以用当前的能力来协调它们。请跟随spring-cloud/spring-cloud-#2331#issuecomment-406444350了解更多细节。
我希望这能给出一个主意。尝试使用SCSt/SCDF构建一些小东西,证明它,并扩展到更复杂的用例。
https://stackoverflow.com/questions/51557001
复制相似问题