首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Erlang在支付系统‏中的应用

Erlang在支付系统‏中的应用
EN

Stack Overflow用户
提问于 2016-04-29 22:26:13
回答 2查看 1K关注 0票数 3

我正在尝试实现支付消息中间件,并希望探讨使用Erlang/OTP的选项。该应用程序将用于银行业与EFT支付网络和核心银行系统的接口,以处理信用卡交易。

它将负责执行下列任务:

  1. 使用ISO8583消息格式与外部网络(如VISA和MasterCard)通信。
  2. 通过表示金融交易的套接字(HEX、二进制、EBCIDIC)接收大量数据。
  3. 解析/解码接收到的数据。
  4. 在数据库中执行一些检查以进行验证。
  5. 与主机安全模块接口,以验证客户PIN和其他安全检查。
  6. 通过XML或web服务调用将请求发送到核心银行系统。
  7. 通过生成ISO 8583格式的响应消息返回到外部接口

显然,这类应用程序必须是并发的,并且必须足够快,以便在几秒钟内处理事务。

现在我的问题是,Erlang是实现这类应用程序的好选择吗?Erlang能否在不影响系统性能的情况下有效地处理字符串?

如前所述,将有大量字符串操作来解码通过网络接收的数据,因此我不确定erlang是否适合。

EN

回答 2

Stack Overflow用户

发布于 2016-04-30 07:32:38

你听说过克拉纳吗?他们正是为了这个目的使用Erlang的。在Erlang社区,它们是非常漂亮的活动的。您也可以查看他们的GitHub存储库

  1. Erlang是实现协议和与外部资源通信的完美工具。
  2. Erlang是实现协议和与外部资源通信的完美工具。
  3. 我有没有提到Erlang是实现协议的完美工具?
  4. 这对Erlang来说不是问题,甚至在Erlang中实现了一些高性能和高可伸缩性的数据库。
  5. Erlang有一些执行安全措施的能力。例如,您可以设置sensitive标志,该标志禁用进程的每个调试和跟踪信息,使其不再显示其状态(包括消息队列)。对于更高的标准,您始终可以使用用C编写的代码并使用OS级别的保护。我有没有提到Erlang是一个与外部资源沟通的完美工具?
  6. Erlang也支持XML。
  7. 我有没有提到Erlang是实现协议的完美工具?

更多问题:

  • 并发和足够快-检查。
  • 实现这类应用程序的好选择--询问Klarna。
  • 在不影响系统性能的情况下高效地处理字符串--我不知道比使用二进制文件的iolist更好的处理字符串的系统--检查
票数 2
EN

Stack Overflow用户

发布于 2016-04-30 08:05:50

您的问题在某种程度上意味着处理ISO 8583意味着处理文本。Erlang表示两种不同的方式中的文本

  1. 列表 -是单个字符的链接列表。占用更多的空间(每个元素都是下一个元素的字符和地址),在处理长文本方面比较慢,但是在函数式语言中使用列表是基本类型。非常容易。
  2. 二进制 -是一组字节存储在内存中,类似于C/C++中的数组,但具有更好的支持处理和模式匹配

两种类型的支持Unicode (包括UTF-8)都很好。

Erlang并不擅长原始文本处理(Perl可以说更好),但Erlang擅长高效地实现和处理各种协议,包括文本协议。它是由爱立信发明的电信中的数据处理系统,其中充满了协议。核心的Erlang库OTP包含大量的模块,这些模块为最流行的协议实现处理程序:ASN.1Base64CorbaLDAP、HTTP、SNMP、TCP、UDP、SCTP等。

一些最流行的消息传递系统是用Erlang编写的:RabbitMQEMQTT埃贾伯德,这些系统有明显的原因处理文本消息。

在Gihub上还有一个带有分叉的处理ISO 8583的库第一叉第二叉

但是,选择Erlang最重要的原因可能不是它对协议实现的支持,而是它的扩展能力。Erlang实现了与系统进程不同的自己的过程。Erlang可以在一个较小的CPU上创建数百万个进程,同时处理数百万个作业。看看它是如何在伍加WhatsApp以及其他地方使用的。

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

https://stackoverflow.com/questions/36948389

复制
相关文章

相似问题

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