如题。最近在做量化交易的软件,会涉及到 ws 消息推送,还有数据检测,数据处理等,性能其实要求不多,因为用户不多,就几个人玩,估计 js 都能胜任。
主要考虑的是业务代码的安全(不用考虑多线程等带来的问题),因为涉及到很多异步通知,变化比较多。。比如:这边刚挂单,那边就通知要撤单了。数据处理能更简单方便就好了。
目前能接触到的是 java ,nodejs ( python ),go 。
初选是 java:vertx ,账号行为在 Verticle 里,Actor 模式,不用考虑多线程,也挺符合面向对象编程的模式。但是实际上开发起来比较蛋疼。。没有协程,业务开发难度增加不少,全是异步,也带来其他的问题,流程不好控制。。
nodejs:比较喜欢脚本语言,应该可以代替 python 把。单线程,支持 async ,业务代码的安全性,应该比较高的。担心的主要是性能问题。当然多实例部署的也可以解决,但是就是要提前考虑架构的设计了。
go:只是入门把,所以很多东西不是特别了解,性能肯定是没问题的,也支持协程。
另外内置的数据结构问题,比如 Treemap ,ConcurrentSkipListMap 。go 和 nodejs 都不支持,应该要重写或者用内存数据库。如果要选这 2 个语言的话,那么本地可能要运行一个内存数据库,能内嵌或独立部署的也可以。有没有哪些比较轻量级的内存数据库推荐的呢。能内嵌就最好了,独立部署的话就需要支持 NIO 的客户端。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.