我的交易系统由两部分组成
这些系统非常相关 - 典型情况就是这样:
- "UDP" -> "Main" Apple BID/ASK 500.1/500.2
- Main sends order № 1122 Apple BUY 555
- "UDP" -> "Main" Order № 1122 Executed
- Main send order № 1123 Apple SELL 505
- "UDP" -> "Main" Order №1123 Registered, Ammount 1, Executed 0, Left 1
“UDP”部分不知道“Main”存在。 “Main”使用“UDP”
我想让它们成为独立的项目,因为理论上我可以在不运行“Main”的情况下运行“UDP”。或者我可以运行几个“主要”实例。
因此“UDP”应该产生一些其他人可以使用的可写存储。
但是“Main”和“UDP”非常相关 - 它们使用相同的类和相同的结构来表示Quotes
等。
而且我也不能有性能损失,性能非常重要我需要的东西和在应用程序中存储数据一样快。
我应该使用“共享内存”还是其他技术,或者最好在一个项目中制作所有内容?
我认为我的问题非常普遍,因为很多不同的市场数据适配器已经由不同公司编写,因此应该有一些“默认”解决方案。
答案 0 :(得分:0)
如果确实需要性能,那么解决方案就是使用具有明确分隔层的单个项目。无论如何"分离"你会选择的解决方案,总是一些开销。
另一方面,详细说明可以帮助您以某种方式扩展应用程序,可能是一天" Main"可能不会在" Udp"是。请查看.NetRemoting
以实现此目标。
希望这有帮助。