分类
百万富翁交易员如何行动

外汇期权交易基础知识 优质

评价度:

外汇期权交易基础知识 优质

郑重声明:东方财富网发布此信息的目的在于传播更多信息,与本站立场无关。东方财富网不保证该信息(包括但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。

信息网络传播视听节目许可证:0908328号 经营证券期货业务许可证编号:913101046312860336 违法和不良信息举报:021-34289898 举报邮箱:[email protected]

构建优质的推荐系统服务

采用高性能的web服务器可以极大提升推荐服务的性能,推荐服务业务逻辑相对简单,可以采用轻量级的web服务器,比如Vert.x(基于java语言的高性能web服务器)、Spray(基于Scala语言的高性能web服务器)、gin(基于Go语言的高性能web服务器)、cowboy(基于Erlang语言的高性能web服务器)等,这样不仅可以满足开发推荐接口的需求,开发速度快,并且性能也很好。传统的web服务器如Tomcat等太重了,不太适合推荐api接口的开发。

采用基于内存的NoSQL数据库

一般来说内存的访问速度比磁盘快好几个数量级, 采用基于内存的数据库来存储推荐结果会提升整个接口获取推荐结果的速度,现在有很多开源的这类数据库可供我们选择,比如Redis、CouchBase等。

接口层保护

具体做法可以是提供一组默认推荐接口,前端在启动时加载该接口,将数据存储在终端,当推荐服务无响应或者响应超时时,可以用默认推荐结果顶替。默认推荐虽然推荐的标的物没有原来的精准,但是不至于“开天窗”,对用户体验也算是一个不错的补救措施。

多可用区(多活)

构建多可用区需要投入非常多的资源, 成本较大, 对于初创公司建议不要考虑采用这种方式。

服务监控与自动拉起

有了自动监控,当服务出问题或者挂掉后,可以通过监控脚本自动将服务拉起。一般来说,重启可以解决80%的故障问题。

灰度发布

超时、限流、降级与熔断

在极端情况下,当接口并发请求太大时(比如今年的春晚百度红包), 可以对访问请求做限制,让部分请求立即执行,其他请求在队列中等待。同时可以对同一IP的多次请求(可能是正常请求,也可能是恶意攻击)做限制,减缓对接口的冲击。还可以限制并发数、网络连接数、网络流量、CPU负载等各种限制措施来对访问进行控制。

熔断可以类比为电表的保险丝,当电流过大时(家里太多电器同时用或者短路)保险丝熔断,停止供电,避免出现意外事故。当请求推荐的服务有大量超时,这时新来的请求无法获得响应,只会无谓的消耗系统资源,这时整个服务可能出现了异常,熔断是较好的策略。

所谓降级,就是当服务不可用(比如熔断后)时,采用效果更差的服务替代,虽然效果没那么好,但是至少比什么都没有强。上面提到的接口层保护就是一种降级策略。

利用NoSQL数据库作为数据存储

基于上面的说明,这非常适合用现在的NoSQL数据库做推荐结果存储,现在很多NoSQL数据支持Json等复杂的数据格式,并且具备横向扩容的能力。如常用的Redis,就支持String,Hash,List,Set,Sorted_Set等多种数据格式。

接口web服务可横向拓展

接口web服务最好做到无状态,这样就方便做横向扩展。在我们公司实践中,我们用Go语言的Beego框架和Gin框架来开发推荐接口,开发效率高,稳定,并且性能相当不错,目前Go的生态圈非常完善,是一个不错的选择。

自动伸缩

推荐服务的可伸缩性要求我们可以非常容易地在负载高的时候做服务的扩容,结合现在的Docker容器技术及K8S编排系统及对接口服务的监控,制定一些伸缩的规则是可以做到自动伸缩的,当负载高时自动扩容服务器,当负载低时自动缩容。

这样的好处是减少人工干预的时间, 及时伸缩也能更好的节省开支, 让资源得到充分利用。当然,要想基于开源技术自己构建一套好用稳定的可自动伸缩的服务体系还是很有挑战的,幸好现在很多云计算厂商可以直接提供基于k8s、docker的云服务,让构建这样一套系统变得容易起来。

利用消息列队减少系统耦合

在上面图1, 我们通过一个Kafka管道的模块来将推荐算法平台与推荐数据存储解耦合,而不是在推荐系统推断阶段直接将推荐结果插入推荐数据库。这样做的好处是减少系统依赖,便于问题排查。同时Kafka起到了对大规模推荐数据做备份和缓冲的作用。

利用解耦及庸才数据交互协议

现在业内有很多开源的微服务框架供大家选择,如dubbo、Spring cloud等。也可以根据自己公司需要,自行开发满足自己业务需求的微服务组件。

分层思想

我们可以简单将推荐系统分为三层,接口服务层处理用户的请求,数据层存储用户的推荐结果,算法模型层构建推荐模型并为用户生成推荐结果(见下面图6)。通过分层,让整个系统更有层次感,更易于理解、升级、维护,也更方便排查问题。

可适当容错及服务降级

基于推荐系统可容错的特性及CAP理论(指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得),推荐服务对一致性的要求也没有这么高,对于推荐系统选择的分布式存储数据库,不需要强一致性,往往达到最终一致性就足够了,但是我们最好需要保证系统是满足可用性的,这样才可以时时刻刻为用户提供推荐服务。

海量优质电子书分享

Apple Watch 人机 界面指南 (中文版 )
iOS8 by Tutorials
iOS Games by Tutorials v2.2
Objective-c高级编程 iOS与OS X多线程和内存管理
SpriteKit
Using Swift 外汇期权交易基础知识 优质 with Cocoa and Objective-C完整中文CocoaChina精校版
台湾-蔡明志-学会Objective--C的24堂课
小议iOS内存管理-中文
Cocos2d-x高级开发教程制作自己的《捕鱼达人》
iOS开发指南:从零基础到App上架
cocos2d-x权威指南
Core Data by Tutorials iOS.8 and Swift
Developing XFire Web Services in IOS Tutorial
iOS网络编程
Effective Objective-C 2.0
Head First Java 中文高清版
HeadFirst- 设计模式
Android游戏编程之从零开始


C/C++相关:
Effective C++
C专家编程
程序员的自我修养——链接、装载与库
STL源码剖析
C++沉思录
C++Primer4th第四版中文版
C和指针

游戏开发中的人工智能
The art of Computer Programming
【迷你书】挑战程序设计竞赛
程序员实用算法
中文第二版-编程珠玑
大话数据结构
算法导论
代码大全
代码之美
短码之美
世界是数字的
数学之美
算法谜题
我的第一本印度数学书:世界上最有效的数学学习法

代码整洁之道
人月神话
TCP/IP 详解
黑客与画家
《活着就为改变世界》(史蒂夫·乔布斯创业经历)
浪潮之巅
数学之美
乔布斯传
程序员面试宝典(全)
程序员面试题精选100题
程序员修炼之道(中文版)

外汇期权交易基础知识 优质

股票超级QQ群

名称:股票超级QQ群

微信号: 2072090096

QQ号:

评价度: