精华内容
下载资源
问答
  • 推荐系统应用场景

    千次阅读 2015-03-29 10:23:25
    底下是一个网友对推荐系统的比喻 我觉得这个比喻是很恰当的。延续这个网友的比喻,做个扩展说明 搜索行为是带有目的性的,就好像那个女人有意向且急需购买一件碎花长裙,因为要与离别半载的男友见面...
    底下是一个网友对推荐系统的比喻
    我觉得这个比喻是很恰当的。延续这个网友的比喻,做个扩展说明

    搜索行为是带有目的性的,就好像那个女人有意向且急需购买一件碎花长裙,因为要与离别半载的男友见面,她想打扮出小男友心目中的清新女神。所以在周五的时候她上街,显得很匆忙,只希望能够快速找到一件心仪的礼服,但是店铺很多,虽然时下有很多新款长裙,但是由于区域首先,她出出入入很多家门店,发现很多款式和花纹都一样,没有适合自己肤色和身材的衣服。逛网一条街,由于品种太少,也太累了,她打算回家,选择使用淘宝搜索,她发现淘宝展示了很多款式的碎花长裙,不仅有南方的产地,也有境外的舶来品,款式非常丰富,而且可以快速定位价格区间,并不需要偷偷地翻阅价格标签或者询问店主。她非常开心,发现排序还可以对她的定位提速很多。最后,她花不到一个小时,在淘宝上成交了三件裙子,风格都是自己喜欢的,但不重复,而且价格都是自己可以接受的(质量不知哦...)——这就是搜索引擎的力量,降低了选择成本(包括时间成本、体力成本和隐性价格成本)。

    但是,有时候女生上街并不是出发前就有了购物的目的,所谓“无事上街小破财“,女生逛街追求一种体验的快感,一般这种情况下她们并不要求一定要购得满意的商品,但是这种漫无目的的逛街就和男生玩游戏一样,都是有效需求——这是”阿笨“阐述的,门户网站依然有生存空间一样。
    那么推荐的应用场景在哪里呢?其实,推荐对于上面两种应用场景都有用处。

    在第一种场景,推荐就像是店面营业员,帮你推荐合适的衣服和搭配,给你试穿合适的尺寸;又像是同行的闺蜜,给你提供是否适合你的建议,甚至有联想性的觉得你不应该穿碎花长裙,而可以选择一套牛仔+上衣薄衫,以显示自己的身材。这些推荐,都尽量挑选和你口味的服饰。
    在第二种场景,在你瞎逛的时候,时下流行的服饰可能恰恰是你想关注的,这个时候,简单告诉你这款衣服最近很流行,买的人很多;而且周边很多靓女穿衣搭配与衣架上的一致,随大流总是难免的。而且这样的推荐不容易引起你的反感。当然,这样的推荐相对而言并不见得有实际效果——假如你本来就是一个喜欢追踪热门的人,给不给你推荐热门流行品,你都会第一时间的追逐,所以这样的推荐并不会增加或减少你的购买量;又或者你是一个有个性的冷艳美女,你有自己的穿衣喜好,与时下宽松型的潮流并不搭调,给你推荐热门反而引起你的反感。所以,只有事先知道或者挖掘出你的兴趣爱好,才能知道你的品位,给予的推荐才能有效。
    展开全文
  • 5G通信系统应用场景与消费物联网、工业物联网应用场景综合分析 一、5G通信系统应用场景 5G的到来意味着什么?高速率(增强型移动宽带,eMBB)、大容量(大规模机器通信,mMTC)、低时延(高可靠低时延通信,URLLC)是5G...

     5G通信系统应用场景与消费物联网、工业物联网应用场景综合分析

    一、5G通信系统应用场景

           5G的到来意味着什么?高速率(增强型移动宽带,eMBB)、大容量(大规模机器通信,mMTC)、低时延(高可靠低时延通信,URLLC)是5G网络的基础特性,并可实现在每平方公里内百万级设备的接入,同时传输延时上有巨大的技术突破,能成功做到“毫秒级的延时”。正因此,5G将大大加速各类智能技术新应用的落地,开启移动通信发展的新时代,促成一种全移动、全连接社会的构建。

           回顾移动通信的发展历程,每一代移动通信系统都可以通过标志性能力指标和核心关键技术来定义,其中,1G只能提供模拟语音业务;2G可提供数字语音和低速数据业务;3G用户峰值速率达到2Mbps至数10Mbps,可以支持多媒体数据业务;4G能够支持各种移动宽带数据业务。而5G的高连接速率、大容量高密度和低时延构成其最基本的三个性能指标。

    从5G的这些关键能力中,可以预见5G使得万物互联或将成为现实,智慧城市、智能家居、车联网、自动驾驶、VR、AR等应用场景得到网络环境支持,给人们生活乃至各行业带来影响,推进业务升级。技术的关键能力往往决定着其应用的范围。在国际电信联盟(ITU)制定的5G标准(IMT-2020)中,即从5G的这三大关键性指标为依据,划分了5G未来的应用场景。

           其中增强型移动宽带,就是以人为中心的应用场景,集中表现为超高的传输数据速率,广覆盖下的移动性保证等。简而言之,5G的这一项关键能力最强劲的服务于人与人和人与物的连接,移动通讯和社交场景将成为主要应用的阵地。4G时代,让用户在移动端观看视频、消费文娱内容成为习惯。而增强移动宽带的5G时代,很可能再次颠覆以往的内容创造模式、社交互动方式与产业生态。4K高清电视、VR、AR、3D视频、云化的办公等场景,也就正迫切地期待着5G在这个层面的连接带来的改变。

           在需求高可靠低时延连接的场景中,毫秒级的连接时延和高速移动(500KM/H)情况下的高可靠性(99.999%)连接,让车联网、工业物联网、远程医疗、智能制造等特殊应用更现实。有研究称,车联网市场潜力巨大,5G时代这块蛋糕将达到6000亿美元,而通信模块在其中占比超过10%,这些应用的安全性要求极高。

    http://si1.go2yd.com/get-image/0UwHT1Ty21g

    图1 IMT-2020 5G业务模型

           而大规模机器通信,也可理解为海量的物联。这使得5G强大的连接能力可以快速促进各垂直行业,如智慧城市、智能家居、环境监测等,与垂直领域深度融合。在万物互联的未来,人们的生活方式也将发生颠覆性的变化。这一场景下,数据速率较低且时延不敏感,连接覆盖生活的方方面面,终端成本更低,电池寿命更长且可靠性更高。

           综合来看,与前几代移动网络相比,5G的关键能力突破使得应用场景的丰富性上也将有飞跃发展。此外,5G为移动运营商及其客户提供了极具吸引力的商业模式。为了支撑这些商业模式,未来网络必须能够针对不同服务等级和性能要求,高效地提供各种新服务。有研究机构总结了5G时代最具市场潜力的十大应用场景,也无外乎是由于5G在移动通讯上的关键能力所解决的连接速率和质量的所带来的改变。

    http://si1.go2yd.com/get-image/0UwHT1EMg4G

    图2 5G时代最具市场潜力的十大场景

    二、5G通信系统与消费物联网

           物联网(Internet of Things,IoT),是互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。在物联网上,每个人都可以应用电子标签将真实的物体上网联结,在物联网上都可以查出它们的具体位置。通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制。目前,物联网中的大部分投资和应用集中于产业物联网,其中包括制造业、物流业、医疗保健业、农业、汽车工业等行业。消费物联网(CIoT)则是消费应用类中的物联网,是我们平常最常接触到的程序、用例和设备集合的统称。据研究公司称,智能家居是消费物联网用例最主要的消费级产品。

           对于消费物联网来说,最大的问题还在于体验,目前智能终端数量太少,很难体验到智能家居的优势,根据报告,2018年平均每个中国家庭智能家居设备数量仅为0.9台,2022年预计可达2.8台,到2025年则有望达到6.8台。

           5G的到来,可以说给物联网“插上了翅膀”,特别是无人驾驶、远程医疗、工业自动化这些对于网络要求较高的应用形态来说,5G让这些有望成为现实。5G相比4G,具有更高的速率、更宽的带宽、更高的可靠性、更低的时延等特征,能够满足未来虚拟现实、超高清视频、智能制造、自动驾驶等用户和行业的应用需求。5G能够灵活地支持各种不同的设备,此外,IPv6(Internet Protocol Version 6)的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。这些都让比尔·盖茨在上世纪90年代所设想的“未来之屋”有可能“飞入寻常百姓家”。

          G是时代的跨越,“PC时代,是人和人的随时连接,移动设备是人和人的随时随地连接,WIFI时代是人和人,物和物的连接,5G时代会实现人与物,物与物的随时随地连接。”在消费物联网的情景下,家电盈利模式将会改变,传统家电产品或被重新定义。

    三、5G通信系统与工业物联网

    3.1  5G对工业物联网的影响    

          对于普通消费者来说,5G的概念可能就是更高的网速,5G大带宽带来的上网体验提升是最直观的,用手机可以实时观看清晰度更高的视频。

           而更低的时延与更高的可靠性对C端用户带来的体验改善,相对来说就小很多,打开网页的时延从50ms降低到10ms,消费者基本是感知不到差异的。

          在工业领域,很多年前,工业互联网的概念就已提出,但直到移动互联网如此普及的现在,工业领域设备联网的比例还是很小,联网设备涉及的应用也都还很浅。主要原因在于,目前互联网在时延和可靠性方面还达不到要求。

           在工业物联网领域,情况并不一样。工业各垂直领域行业特性迥异 ,知识壁垒很高,而且工业制造流程对可靠性和稳定性要求非常高,目前的运营商网络还很难满足工业物联网对性能方面要求。因此物联网在工业领域的进展一直比较缓慢,还没有产生比较成熟的商业模式和相对大体量的公司。

          工业领域包括众多垂直行业,比较大的行业有制造业、运输业、能源、建筑业、采掘业等,每个行业的特性差异巨大,物联网与每个行业的结合,也都要根据行业自身特性来调整。

          工业物联网的目的就是能对工业过程实施精准控制。基于前述传感器数据的采集、展示、建模、分析、应用等过程,在云端形成决策,并转换成工业设备可以理解的控制指令,对工业设备进行操作,实现工业设备资源之间的精准的信息交互和高效协作。

          当前大部分场景的工业控制系统还需要部署在本地,受通信技术和处理能力的限制,工业云平台涉及工业控制的的深度还不够。5G技术可以满足工业系统对通对于工业领域来说,高可靠低时延的通信系统可以说是至关重要。

           一直以来工业物联网的应用只能停留在表层的数据采集展示和由此延伸出来的一些管理功能,很难涉及到工业系统的控制等核心领域,其中通信系统的稳定性和延时达不到要求是其中主要的制约因素。信能力的要求,实现工业控制的目标。

           当前的移动通信系统在工业物联网领域的应用涉及并不深入,虽然4G在网速上已经有很大的提升,能满足用户随时观看视频的需求,但网络的可靠性和时延都还有很大的提升空间,并不能满足工业场景的要求。工业领域对通信系统的这些需求,5G的技术标准可以很好的满足,极低的时延,保证了工业领域实时监测和控制的要求;高可靠的网络质量,确保了工业系统对稳定性的要求;大带宽则可以实现高清3D视频,甚至AR的传输,在远程操控领域大幅提高了操作精度。

    3.2  5G在工业物联网的应用

    1)一台远在石家庄工地上的挖掘机,通过5G技术与设在现场的驾驶室相连,不仅可在恶劣环境下作业,甚至可以打造无人工地。

    2)参观者可以在现场驾驶室真人驾驶,同步实时控制位于石家庄的挖掘机,进行挖掘机前后、旋转运动以及大臂、小臂、挖斗配合挖掘装车等操作,操作台对面的大屏幕通过现场实时高清视频同步传递真实场景及全景视频效果。

    3)爱立信和德国弗劳恩霍夫生产技术研究院(Fraunhofer IPT)共同合作研究新的方法来改进工业控制流程,实时检测生产制造过程中的缺陷。其中有一个应用领域就是叶盘的生产制造领域,叶盘是喷气式航空发动机中涡轮的重要组成部分,由轮盘和围绕轮盘边缘的众多叶片组成,叶盘制造是金属加工典型的应用。

           如果通过引入5G与物联网技术实现自动化后,返工率可以降低10%,就相当于减少了单位产品的加工时间。换算成机器成本的话,单叶盘成本可以降低3600欧元,全球叶盘的产量大概一年10万片,这就意味着,通过5G技术实现实时监控,一年可以节省3.6亿欧元的成本。

    展开全文
  • ZooKeeper典型应用场景

    万次阅读 2017-09-27 17:51:27
    网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。 值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性
    ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍,本文将结合作者身边的项目例子,系统地对ZK的应用场景进行一个分门归类的介绍。

    值得注意的是,ZK并非天生就是为这些应用场景设计的,都是后来众多开发者根据其框架的特性,利用其提供的一系列API接口(或者称为原语集),摸索出来的典型使用方法。因此,也非常欢迎读者分享你在ZK使用上的奇技淫巧。


    数据发布与订阅(配置中心)
    发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。
    应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候会主动来获取一次配置,同时,在节点上注册一个Watcher,这样一来,以后每次配置有更新的时候,都会实时通知到订阅的客户端,从来达到获取最新配置信息的目的。 分布式搜索服务中,索引的元信息和服务器集群机器的节点状态存放在ZK的一些指定节点,供各个客户端订阅使用。

    分布式日志收集系统。这个系统的核心工作是收集分布在不同机器的日志。收集器通常是按照应用来分配收集任务单元,因此需要在ZK上创建一个以应用名作为path的节点P,并将这个应用的所有机器ip,以子节点的形式注册到节点P上,这样一来就能够实现机器变动的时候,能够实时通知到收集器调整任务分配。 系统中有些信息需要动态获取,并且还会存在人工手动去修改这个信息的发问。通常是暴露出接口,例如JMX接口,来获取一些运行时的信息。引入ZK之后,就不用自己实现一套方案了,只要将这些信息存放到指定的ZK节点上即可。 注意:在上面提到的应用场景中,有个默认前提是:数据量很小,但是数据更新可能会比较快的场景。


    负载均衡
    这里说的负载均衡是指软负载均衡。在分布式环境中,为了保证高可用性,通常同一个应用或同一个服务的提供方都会部署多份,达到对等服务。而消费者就须要在这些对等的服务器中选择一个来执行相关的业务逻辑,其中比较典型的是消息中间件中的生产者,消费者负载均衡。
    消息中间件中发布者和订阅者的负载均衡,linkedin开源的KafkaMQ和阿里开源的metaq都是通过zookeeper来做到生产者、消费者的负载均衡。这里以metaq为例如讲下: 生产者负载均衡:metaq发送消息的时候,生产者在发送消息的时候必须选择一台broker上的一个分区来发送消息,因此metaq在运行过程中,会把所有broker和对应的分区信息全部注册到ZK指定节点上,默认的策略是一个依次轮询的过程,生产者在通过ZK获取分区列表之后,会按照brokerId和partition的顺序排列组织成一个有序的分区列表,发送的时候按照从头到尾循环往复的方式选择一个分区来发送消息。消费负载均衡:
    在消费过程中,一个消费者会消费一个或多个分区中的消息,但是一个分区只会由一个消费者来消费。MetaQ的消费策略是:
    每个分区针对同一个group只挂载一个消费者。 如果同一个group的消费者数目大于分区数目,则多出来的消费者将不参与消费。
    * 如果同一个group的消费者数目小于分区数目,则有部分消费者需要额外承担消费任务。

    在某个消费者故障或者重启等情况下,其他消费者会感知到这一变化(通过 zookeeper watch消费者列表),然后重新进行负载均衡,保证所有的分区都有消费者进行消费。


    命名服务(Naming Service)
    命名服务也是分布式系统中比较常见的一类场景。在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息。被命名的实体通常可以是集群中的机器,提供的服务地址,远程对象等等——这些我们都可以统称他们为名字(Name)。其中较为常见的就是一些分布式服务框架中的服务地址列表。通过调用ZK提供的创建节点的API,能够很容易创建一个全局唯一的path,这个path就可以作为一个名称。
    阿里巴巴集团开源的分布式服务框架Dubbo中使用ZooKeeper来作为其命名服务,维护全局的服务地址列表,点击这里查看Dubbo开源项目。在Dubbo实现中: 服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。 服务消费者启动的时候,订阅/dubbo/${serviceName}/providers目录下的提供者URL地址, 并向/dubbo/${serviceName} /consumers目录下写入自己的URL地址。 注意,所有向ZK上注册的地址都是临时节点,这样就能够保证服务提供者和消费者能够自动感应资源的变化。

    另外,Dubbo还有针对服务粒度的监控,方法是订阅/dubbo/${serviceName}目录下所有提供者和消费者的信息。


    分布式通知/协调
    ZooKeeper中特有watcher注册与异步通知机制,能够很好的实现分布式环境下不同系统之间的通知与协调,实现对数据变更的实时处理。使用方法通常是不同系统都对ZK上同一个znode进行注册,监听znode的变化(包括znode本身内容及子节点的),其中一个系统update了znode,那么另一个系统能够收到通知,并作出相应处理
    另一种心跳检测机制:检测系统和被检测系统之间并不直接关联起来,而是通过zk上某个节点关联,大大减少系统耦合。 另一种系统调度模式:某系统有控制台和推送系统两部分组成,控制台的职责是控制推送系统进行相应的推送工作。管理人员在控制台作的一些操作,实际上是修改了ZK上某些节点的状态,而ZK就把这些变化通知给他们注册Watcher的客户端,即推送系统,于是,作出相应的推送任务。
    * 另一种工作汇报模式:一些类似于任务分发系统,子任务启动后,到zk来注册一个临时节点,并且定时将自己的进度进行汇报(将进度写回这个临时节点),这样任务管理者就能够实时知道任务进度。

    总之,使用zookeeper来进行分布式通知和协调能够大大降低系统之间的耦合


    集群管理与Master选举
    集群机器监控:这通常用于那种对集群中机器状态,机器在线率有较高要求的场景,能够快速对集群中机器变化作出响应。这样的场景中,往往有一个监控系统,实时检测集群机器是否存活。过去的做法通常是:监控系统通过某种手段(比如ping)定时检测每个机器,或者每个机器自己定时向监控系统汇报“我还活着”。 这种做法可行,但是存在两个比较明显的问题:

    1. 集群中机器有变动的时候,牵连修改的东西比较多。
    2. 有一定的延时。

    利用ZooKeeper有两个特性,就可以实时另一种集群机器存活性监控系统:

    1. 客户端在节点 x 上注册一个Watcher,那么如果 x?的子节点变化了,会通知该客户端。
    2. 创建EPHEMERAL类型的节点,一旦客户端和服务器的会话结束或过期,那么该节点就会消失。

    例如,监控系统在 /clusterServers 节点上注册一个Watcher,以后每动态加机器,那么就往 /clusterServers 下创建一个 EPHEMERAL类型的节点:/clusterServers/{hostname}. 这样,监控系统就能够实时知道机器的增减情况,至于后续处理就是监控系统的业务了。 Master选举则是zookeeper中最为经典的应用场景了。

    在分布式环境中,相同的业务应用分布在不同的机器上,有些业务逻辑(例如一些耗时的计算,网络I/O处理),往往只需要让整个集群中的某一台机器进行执行,其余机器可以共享这个结果,这样可以大大减少重复劳动,提高性能,于是这个master选举便是这种场景下的碰到的主要问题。


    利用ZooKeeper的强一致性,能够保证在分布式高并发情况下节点创建的全局唯一性,即:同时有多个客户端请求创建 /currentMaster 节点,最终一定只有一个客户端请求能够创建成功。利用这个特性,就能很轻易的在分布式环境中进行集群选取了。

    另外,这种场景演化一下,就是动态Master选举。这就要用到?EPHEMERAL_SEQUENTIAL类型节点的特性了。


    上文中提到,所有客户端创建请求,最终只有一个能够创建成功。在这里稍微变化下,就是允许所有请求都能够创建成功,但是得有个创建顺序,于是所有的请求最终在ZK上创建结果的一种可能情况是这样: /currentMaster/{sessionId}-1 ,?/currentMaster/{sessionId}-2 ,?/currentMaster/{sessionId}-3 ….. 每次选取序列号最小的那个机器作为Master,如果这个机器挂了,由于他创建的节点会马上小时,那么之后最小的那个机器就是Master了。

    在搜索系统中,如果集群中每个机器都生成一份全量索引,不仅耗时,而且不能保证彼此之间索引数据一致。因此让集群中的Master来进行全量索引的生成,然后同步到集群中其它机器。另外,Master选举的容灾措施是,可以随时进行手动指定master,就是说应用在zk在无法获取master信息时,可以通过比如http方式,向一个地方获取master。 在Hbase中,也是使用ZooKeeper来实现动态HMaster的选举。在Hbase实现中,会在ZK上存储一些ROOT表的地址和HMaster的地址,HRegionServer也会把自己以临时节点(Ephemeral)的方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的存活状态,同时,一旦HMaster出现问题,会重新选举出一个HMaster来运行,从而避免了HMaster的单点问题


    分布式锁
    分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性。锁服务可以分为两类,一个是保持独占,另一个是控制时序。

    所谓保持独占,就是所有试图来获取这个锁的客户端,最终只有一个可以成功获得这把锁。通常的做法是把zk上的一个znode看作是一把锁,通过create znode的方式来实现。所有客户端都去创建 /distribute_lock 节点,最终成功创建的那个客户端也即拥有了这把锁。 控制时序,就是所有视图来获取这个锁的客户端,最终都是会被安排执行,只是有个全局时序了。做法和上面基本类似,只是这里 /distribute_lock 已经预先存在,客户端在它下面创建临时有序节点(这个可以通过节点的属性控制:CreateMode.EPHEMERAL_SEQUENTIAL来指定)。Zk的父节点(/distribute_lock)维持一份sequence,保证子节点创建的时序性,从而也形成了每个客户端的全局时序。


    分布式队列
    队列方面,简单地讲有两种,一种是常规的先进先出队列,另一种是要等到队列成员聚齐之后的才统一按序执行。对于第一种先进先出队列,和分布式锁服务中的控制时序场景基本原理一致,这里不再赘述。

    第二种队列其实是在FIFO队列的基础上作了一个增强。通常可以在 /queue 这个znode下预先建立一个/queue/num 节点,并且赋值为n(或者直接给/queue赋值n),表示队列大小,之后每次有队列成员加入后,就判断下是否已经到达队列大小,决定是否可以开始执行了。这种用法的典型场景是,分布式环境中,一个大任务Task A,需要在很多子任务完成(或条件就绪)情况下才能进行。这个时候,凡是其中一个子任务完成(就绪),那么就去 /taskList 下建立自己的临时时序节点(CreateMode.EPHEMERAL_SEQUENTIAL),当 /taskList 发现自己下面的子节点满足指定个数,就可以进行下一步按序进行处理了。
    展开全文
  • 建设一个高可用高性能的系统是我最近几年的努力目标,但... 我假定要为期货交易建设一个高可用高性能的系统,那么期货交易就是系统应用场景。期货交易的诸多规则我们没有必要理会,我们只需要简化出一个交易场景,需
       建设一个高可用高性能的系统是我最近几年的努力目标,但其中涉及的内容颇多,都是些零星的经验,缺乏系统性架构总结。写这个系列的文章其实是我一直以来的想法,不过题材和内容过多,所以一直搁置。前些日子到一家公司面试,备受打击,觉得有必要把它总结一下。
        我假定要为期货交易建设一个高可用高性能的系统,那么期货交易就是系统应用场景。期货交易的诸多规则我们没有必要理会,我们只需要简化出一个交易场景,需要使用高可用高性能的系统。之所以选择期货交易,是因为现在正供职于一家期货交易系统软件提供商,而且期货交易也需要这样的系统。
        我们假设的场景是这样的。有家期货经纪公司,需要为他的很多客户提供期货交易界面,这个界面需要连接到多个交易所。每个客户都希望以最短的时间从交易所那里获取行情,并提交交易合约。由于期货交易是T+0原则,所以延时和中断,都可能导致交易失败和大量的经济损失。每笔交易涉及金额可能十分巨大,千万甚至亿级别,所以不允许任何数据上的差错。
        上面的场景对全年不一定要求无中断,但在交易时间内对可用性要求同样苛刻。交易的实时性,对性能要求也是很高的。于是,为期货交易的场景建立高可用高性能的系统从应用需求角度来看,是完全足备的。
        当客户来到交易终端前,用自己的账户登录系统,查询下自己的资金,如果不够,那么需要转入更多的资金到经纪公司账户。界面上不断刷新各种合约以及新的行情,在合适的行情和合约出现时,这个客户期待以最快的速度吃下他,并期望能够获得马上的成交。
        可是,当客户提交交易请求时,经纪公司需要知道这个客户是否有足够的资金,否则经纪公司必然承当巨大的经纪损失。对于客户来说,当然希望这个过程足够短,否则就无法成交。
        经纪公司的管理人员需要知道现在有多少人在交易,成交了多少笔。每个客户是否把风险控制在可接受范围内。在行情失控的时候,我们需要让经纪公司在最短的时候内作出反映,以减少损失。
    展开全文
  • SpringBoot整合RabbitMQ之 典型应用场景实战一

    万次阅读 多人点赞 2018-10-09 15:08:04
    特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步通信、高并发限流、超时业务、数据延迟处理等。 其中课程的学习链接地址:https://edu.csdn.net/course/detail/9314 ...
  • Flink应用场景

    千次阅读 2019-11-25 08:15:00
    点击蓝色“有关SQL”关注我哟加个“星标”,天天与6000人一起快乐成长作者:大数据研习社文章来源:https://www.cnblogs.com/dajiangtai/p/10642423.html推荐理由:本文对阿里助推的 Flink 做了详细的应用场景概括,...
  • 区块链七大应用场景

    万次阅读 多人点赞 2019-09-05 18:47:11
    一、应用场景:信息共享 这应该是区块链最简单的应用场景,就是信息互通有无。 1、传统的信息共享的痛点 要么是统一由一个中心进行信息发布和分发,要么是彼此之间定时批量对账(典型的每天一次),对于有时效性...
  • 云端应用典型应用场景

    千次阅读 2016-10-24 16:55:59
    云端应用典型应用场景 Azure能够根据业务变化,快速搭建业务所需的IT系统以支撑相应业务流程 1.提供虚拟机服务,取代购买本地物理服务器 2.快速搭建网站:静态、动态网站,视频网站,社交网站,电子商务网站 3.数据...
  • 政务区块链电子证照应用场景

    万次阅读 2020-08-09 10:14:35
    政务区块链对于电子证照共享的应用场景 区块链电子证照系统场景,所解决的是证照共享的问题。 在预防各部门自己的证照被批量的被盗用或被篡改。采用区块链证照模式,将各个部门的证照共享。 解决的问题 证件被...
  • Spark应用场景

    千次阅读 2019-01-05 18:55:49
    4、Spark应用场景 目前大数据处理场景主要有以下几种类型: 1、复杂的批处理(Batch Data Processing),偏重点在于处理 海量数据的能力,至于处理 速度可忍受,通常的时间可能是在数十分钟到数小时; 2、基于...
  • 机动式宽带自组网应急通信系统主要用于解决各种应急条件下的可视化指挥、控制和通信问题。当发生突发事件时,采用本系统可以在事发现场迅速布建一个专用指挥通信网络,可以保证在缺乏网络基础设施或网络基础设施被毁...
  • 本文主要介绍三大分布式系统的各自特点和其应用场景。 2、Hadoop  Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。 Hadoop框架应用工程提供跨计算机...
  • 四种较常见的 ApplicationContext 实现方式(针对不同场景的实现容器) (1)ClassPathXmlApplicationContext:从ClassPath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得。 ...
  • Redis典型应用场景

    千次阅读 2019-03-26 23:15:50
    Redis典型应用场景 Redis典型应用场景 (1)缓存系统 【1】表示客户端发请求到App Server(Apache or Nginx代理服务器) 【2】表示App Server请求Redis缓存数据库,如果Redis缓存数据库有值,则直接执行步骤...
  • 分账系统是一个基于虚拟账户和订单支付体系的开放平台,能够为 B2B2C/O2O 平台型商户的各类业务场景提供虚拟账户、支付产品和资金管理服务。 另外," 分账系统 " 独立于电商平台系统,隐藏在平台后端,为...
  • Redis发布订阅和应用场景

    万次阅读 热门讨论 2017-11-10 08:46:39
    发布订阅-应用场景 Pub/Sub 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布及消息订阅,当一个key值上进行了消息发布后,所有订阅它的客户端都会收到相应的...
  • Redis应用场景1——简单场景

    万次阅读 2014-01-02 22:08:26
    Redis应用场景1——简单场景 Redis应用场景2——广告定向 Redis应用场景3——电商场景 Redis应用场景4——搜索场景 Redis应用场景5——社交网络 1、计数器 redis incrBy就可以了 2、信号量 1)基本信号量...
  • 区块链:典型应用场景

    万次阅读 多人点赞 2019-05-17 18:17:03
    其中很关键的一点便是能否找到合适的应用场景。 以比特币网络为代表的大规模数字货币系统,长时间自治运行,支持了传统金融系统都难以实现的全球范围即时可靠交易。这为区块链技术的应用潜力引发了无限遐想。如果...
  • Netty应用场景

    万次阅读 2018-11-28 23:02:49
    随着网站规模的不断扩大,系统并发访问量也越来越高,传统基于 Tomcat 等 Web 容器的垂直架构已经无法满足需求,需要拆分应用进行服务化,以提高开发和维护效率。从组网情况看,垂直的架构拆分之后,系统采用分布式...
  • Windows操作系统 特点:界面图形化、多用户、多任务、网络支持良好、出色的多媒体功能、硬件支持良好、众多的应用程序等 应用场合:家用 、个人、娱乐、企业、商业各个领域都有 ios移动操作系统 特点:软件与硬件...
  • 5G 应用及应用场景总结

    千次阅读 2020-04-30 00:56:05
    1.概述 5G技术演进方式与前几代...先要确定应用的需求和场景,包括 “生活”和“社会”两方面内容,然后再去探索发现相对应的具体技术,例如:5G 新空口(New Radio, NR)设计标准就是来源于全新应用场景,其中包括: ...
  • lora应用场景

    千次阅读 热门讨论 2021-01-20 17:20:00
    实际上,目前全球已有 52 张 LoRa 网络覆盖 100 多个国家,LoRa 更适合企业用户 对自主性、快速性要求高,对连续覆盖、深度覆盖要 求高的场景。国内市场对于 LoRaWAN 协议的采用 主要聚焦于针对智能城市、智能...
  • storm应用场景

    千次阅读 2017-05-17 08:27:21
    这个的话出来应该有几年时间了,阿里巴巴也重写了一套JStorm,核心的类名都是服用的Storm的,他是一套实时数据处理系统,容错行好,然后足够稳定,目前很多数据实时分析的场景,选择Storm的越来越多了。    ...
  • Zookeeper典型应用场景介绍

    万次阅读 多人点赞 2018-07-07 22:08:05
    1.前言之前自己写了一些关于Zookeeper的基础知识,Zookeeper作为一种协调分布式应用高性能的调度服务,实际的应用场景也非常的广泛,这里主要通过几个例子来具体的说明Zookeeper在特定场景下的使用方式(下面的这些...
  • Linux应用场景

    千次阅读 2016-10-13 20:58:55
    系统绝大多数是Windows或Mac OS,可以在Linux平台上运行的应用软件还很少。不过 这种情况正在发生改变。Linux的支持者正在努力使Windows应用可以在Linux上运行。 例如,著名的桌面软件开发商Corel公司已经使其...
  • ETCD应用场景

    千次阅读 2017-03-13 15:10:04
    下面我们来看一下服务发现的具体应用场景 微服务协同工作架构中,服务动态添加。 随着Docker容器的流行,多种微服务共同协作,构成一个功能相对强大的架构的案例越来越多。透明化的动态添加这些服务的...
  • hadoop应用场景总结

    万次阅读 多人点赞 2017-01-05 12:33:46
    我个人接触hadoop仅仅不到一年,因为是业余时间学习,故...今天总结一篇关于hadoop应用场景的文章,自认为这是学习hadoop的第一步,本文主要解答这几个问题: hadoop的十大应用场景? hadoop到底能做什么? 2012年美国
  • Spring MVC 的应用场景

    千次阅读 2018-03-06 19:42:04
    (1)传统 Web 应用项目 (2)推荐应用在 Spring 生态系统
  • kafka的应用场景

    千次阅读 2019-04-11 12:34:58
    关于消息队列的使用 一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决...二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 ...
  • 流计算 应用场景

    千次阅读 2019-01-10 10:49:35
    举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更久才可以被搜出来,估计这个大哥就要骂娘了。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 863,279
精华内容 345,311
关键字:

推荐系统应用场景