首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RabbitMQ C#和Elixir

使用RabbitMQ C#和Elixir
EN

Stack Overflow用户
提问于 2016-11-06 20:29:51
回答 2查看 153关注 0票数 0

我以前从未使用过RabbitMQ,也不知道它是否适合我。所以我有几个问题。

我有一个C#.NET应用程序,在另一端我有一个长生不老的应用程序。

我想在它们之间交换数据,例如,长生不老药会从C#.NET应用程序中请求一个人的列表,然后它会返回一个人的列表(列表)。

我如何接收长生不老药中的数据?长生不老药中没有对象。

如果我将一个对象人物从C#.NET发送到灵丹妙药,我会在灵丹妙药中得到什么?

EN

回答 2

Stack Overflow用户

发布于 2016-11-06 22:55:47

长生不老药中没有对象。

正因为没有像C#这样的面向对象(OO)语言意义上的对象,函数式语言仍然具有用于数据集合的构造。在Elixir的例子中,最大的三个是记录、结构和映射。何时使用each超出了本答案的范围。

我将如何接收长生不老药中的数据?

这完全取决于应用程序的语义以及您在每个应用程序中实际使用数据的方式。

例如,如果应用程序X需要向应用程序Y请求其信息的某个子集(可能是年龄在20-30岁之间的用户列表),您可以考虑在应用程序Y中设置某种可通过web访问的端点,该端点可以过滤该信息并返回JSON,然后应用程序X可以使用该端点并对其执行所需的任何操作。

您可能希望使用RabbitMQ或任何其他消息队列的原因的一个示例是,如果您希望在不同的计算机上对事件进行某种类型的处理,而不是在事件产生的计算机上。

如果我从C#.NET发送一个对象人到灵丹妙药,我会在灵丹妙药中得到什么?

C#不能直接和艾利克西尔说话

票数 2
EN

Stack Overflow用户

发布于 2016-11-08 01:05:24

除了Justin的回答之外,您可能还想研究Erlang Term Format,这是Elixir和其他语言之间互操作的另一种选择。有一个用于C# here的ETF实现,但我对库的质量一无所知。

除了Justin的建议之外,您还不希望从发送“对象”的角度进行考虑,而是从发送对象实例中的数据的角度进行考虑。而不是发送Person,然后尝试从Elixir端提取数据,而是在离散的调用中从人员那里发送数据片段--e。例如,Person.FirstName, Person.LastName等。您可以从特定实例传递数据,而不必传递整个对象。ETF将帮助C#和Elixir之间的数据通信。即使您将数据填充到RabbitMQ队列中,也可以将其作为离散的数据片段而不是“对象”放在队列中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40449349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档