青少英语 VIPKID 产品分析

4、微信营销:

  二、配置文件之简化

  通讯模式统一后,我们本着通讯配置文件进行了同一坏比充分的简化,从原本1700执减少及了200执左右。这中间省去了众冗余的部署起,通讯配置文件不再是对网通讯简单直接的应和,而又多之是针对性节点通讯能力的平种表述。

  应用程序分为Dis和非Dis两类,Dis类程序要承担节点内的通讯与节点内之音信转发,非Dis类程序即使是惯常的事体处理进程。从下面的文件被得望“OCDis”进程中分为“InterContainerEndpoints”和“InnerContainerEndpoints”两格外接近,分别表示节点内的报导以及节点内之报导。对于节点内的报道,每个服务端口只要写及相应的“服务名字”就好以了,配置中之“OCDisCDRDis”表示OCSDis与CDRDis的报道,“OLCDisOLCProxy”、“OCDis_SyDis_SNR”也是类似。当事情侧程序要对外提供一个服务(或者说及外部进行报道),只待写一个劳动名字,而要:端口、机器的IP地址、服务端还是客户端、通讯模式等等都全不欲去关心,这是大半特别一种有益。配置中之诠释部分是免需工作程序员去填的,而是由于CDRAF的状态为主,根据集群节点的实时气象自动生成,并进行连续和保安。

  

{
  "OCDis": {
    "MaxInstanceGroupNum": 3,
    "InterContainerEndpoints": 
    {
      "OCDisCDRDis": 
      {
        //"Port": [6001, 6002, 6003],
        //"Cluster": ["10.45.4.10:6001", "10.45.4.10:6001"]
      },

      "OCDisOLCProxy": 
      {
        //"Port": [6101, 6102, 6103],
        "DownStreams": ["OCDis2IN", "OCDis2PS", "OCDis2SMS", "OCDis2ISMP", "OCDis2IMS"],
        "router": true
      },
      "OCDis_SyDis_SNR": 
      { 
          //"Peer": "ZSmartSyDis.OCDis_SyDis_SNR" 
      }
    },

    "InnerContainerEndpoints": 
    {
      "OCPro_OCDis_CDR": { "DownStreams": ["OCDisCDRDis"] },
      "OCPro_OCDis_SNR": { "DownStreams": ["OCDis_SyDis_SNR"] },
    }
  },

  "OCPro": {
    "Groups": ["IN", "PS", "SMS", "IMS", "ISMP"],
    "InnerContainerEndpoints": {
      "OCPro2OCDis": {
        "PeerMap": [
          "OCDis.OCDis2IN",
          "OCDis.OCDis2PS",
          "OCDis.OCDis2SMS",
          "OCDis.OCDis2ISMP",
          "OCDis.OCDis2IMS"
        ]
      },
      "OCPro_OCDis_SNR": {"Peer": "OCDis.OCPro_OCDis_SNR"},
      "OCPro_OCDis_CDR": {"Peer": "OCDis"}
    }
  },

  "CDRDis": {
    "InterContainerEndpoints": 
    {
      "OCDisCDRDis" : 
      {
        "DownStreams": ["CDRDisCDR"],
        //"Peer": "OCDis"
      }
    }
  },

  "CDR": {
    "InnerContainerEndpoints": 
    {
      "CDRDisCDR" : {"Peer": "CDRDis"}
    }
  }
}

  想像一下,对于每一个政工节点,开发人员仅需考虑节点内的事体实现逻辑,并也按节点对外所提供的劳务由个名字,而不再需要关怀这服务到底是提供于哪个,更不要顾虑谁会来并自己的经过,怎么连。这是多精细的政工!我们不光是从架构上就了微服务架构,程序员在付出工作程序的上,不需去关心除了自己模块以外的任何复杂信息,从此可以轻装上阵,而不再用背前履行。这应当就是CDRAF对微服务架构提供的极其直接、最好之支撑了,帮助工作程序员从人情的支付模式转变,进而适应微服务的构思方法。

葡京娱乐总站平台 1

 

公开课:一对多授课,约50分钟左右/节,收费or免费,收费公开课会扣除学员课时数。

  一、节点内通讯模式之合

  原来节点内之应用程序都是报道全能应用程序,所谓全能是靠应用程序既好同节点内的历程展开报道为得跟节点外之自由进程展开报道。这样初看起没有啥问题,但万一节点数和过程数易多晚,通讯关系将是一个指数级增长的长河。如下图,如果再次添一个CDR节点,或者OCS节点,连接数都拿大增非常多。

  葡京娱乐总站平台 2

  我们的解决办法是联合节点的简报模式,每个节点内且发出一个Dis进程,统一对外承担和其他节点进行报道。在接收外部发给节点的消息继,根据功能跟负载转发给中工作处理过程。业务过程而发生消息需要发于别的节点,就一直发放Dis进程,由其进行转账。统一通讯模式带来的利益除了以节点和过程增多后,通讯关系非见面变得最为复杂以外。由于模式统一,
CDARF可以替业务程序员完成很多行事,直接的利就是事情程序员不再用安排很多跟事务无关之配备。最大化的以报道模块的复杂度留给CDRAF去处理,业务程序员将进一步在意让自己的工作逻辑。下面的觊觎中实际系统开始已经发生微服务的样子,但咱盼望就的不光是起系统架构上是微服务架构,在程序员开发顺序的当儿,也应是拉动在微服务思维的,我们的CDRAF应该提供这样一栽力量来支撑这种支付模式。

  葡京娱乐总站平台 3

 

APP产品结构

  三、节点内的通讯关系安排

  上面我们关系配置文件就定义了节点的服务名,那么如此多的微服务节点是怎整合起来工作的?一个事情使用系统会出于许多底微服务一起共提供劳动,这些劳动对每个不同之当场或效果是休相同的,或者说微服务集聚是免雷同的。那么,对这些微服务的重组的进程就像一个“编排”的历程。通过“编排”,选择适合的微服务进行搭配成提供劳务,而编制的过程即是我们报道建立之进程。下面我们即便来拘禁一下CDRAF是何许做到“编排”功能的。

  葡京娱乐总站平台 4

葡京娱乐总站平台 5

  上面的首先布置表,描述了有的微服务列表,所有节点服务而奔他通讯都要到及时张表中多对应的服务名,这里的劳务名是和前面配置文件被的劳动名相对应的。第二张表描述了这些微服务名叫以内的报道关系,比如第二长记下表达的是OCDis程序的OCDis2CDRDis到CDRDis的OCDis2CDRDis之间会来一个简报关系。只要透过者简单的布,就得做到两只节点内的简报关系的起。这样的筹划会带动几个便宜。

  1、对于一个繁杂的网,可能产生几十类微服务节点,运行实例可能来成千上万只,如果来上面的表二,就得容器的起者的数据遭到打来任何集群的实时拓扑图,这个对于网的督察是格外首要的。

  2、集群通讯关系的规划上升了一个流,业务程序员只待依据模块接口设计提供相应的微服务节点,而未需关怀与另微服务是哪些协调工作的。而这些微服务如何“编排”提升及了绑架构师的工作范围之层级。这明确是对准复杂度进行分隔离很好的一个范例。

  3、运维或者管理人员,通过表二的布局好生轻地操作集群里的某某微服务下线或者上线。在一个庞然大物之集群中,如果某类微服务出故障,而CDARF提供了如此一种手段可以错过给这好像故障微服务下线,将受系统的平安带来巨大的可靠保证。

  4.、原来集群拥有的简报都配备于一个文本中,在分布式系统中即涉嫌文件的全局一致性的题目。解决之方案或是,如果如达线一个初品类的部署文件(新增节点、删除节点、通讯关系转移等等),就要去创新具有在网节点的配置文件。但此刻而新的配备文件发出bug,那么可能导致整个集群的故障,并且以提升有功能去提升总体集群拥有节点的布局也是最为不客观的。在初的方案中,节点的配备单定义节点内的报导以及对外提供的微服务名。那么一旦一旦新增某种类型的微服务,不再用去创新任何节点的布局,只待将新节点上线,然后于地方的表一新增微服务名,表二充实连接关系就是足以了。真正形成了增量升级!

 

  未完待续……

 

2、 视频面试

C++分布式实时应用框架——微服务架构的多变

 技术交流合作QQ群:436466587 欢迎讨论交流

上一篇:(四):C++分布式实时应用框架——状态为主模块

 

版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经同意转载等作为保留法律追究的权!

 

  OCS(online charging
system,在线计费系统)在展开云化改造之长河遭到,从实用主义角度出发,微服务架构并无是咱的目标。虽然我们吧本着网开展了容器化改造(Docker),并因工作过程的效果将系统分为了一点看似的器皿,但随即总体多是由于对系统面临的少数处理节点进行动态扩缩容的得,跟微服务半点关系并未。随着系统改造
的中肯,系统的报导关系复杂程度开始过我们之前的量。如果说多少很多之作用节点还有人可以勉强掌握,这些节点内错综复杂的报道关系并线已经超越程序员可以驾的范畴。在座谈哪边简化程序员实现整个体系各项节点的报导关系之布过程中,节点微服务化的眼光日益进入我们的脑海里……

  下面先为大家介绍下我们所面临的困境,下面的觊觎是咱们系有节点的报导关系总图(注意,只是其中部分):

葡京娱乐总站平台 6

 

  还记得第二首《基于ZeroMQ的实时报道平台》中十分我们引以为傲的报道配置文件呢,就是程序中具备的简报连接关系不再是形容死于代码中,而是通过AppInit.json配置文件进行布局,程序启动之时光更由CDRAF进行实时加载。当初酷炫的意义,现在倒成为我们的噩梦。此时AppInit.json这个文件已到1700几近行,你没看错,一个部署文件1700多推行,并且还非是一体,还会继续变充分。

 

"OLC" : {
      "AUTO_START" : "YES",
      "ENDPOINTS" : [
         {  // 用于与SmartMonitor建立心跳
            "name" : "MonitorSUB",   
            "zmq_socket_action" : "CONNECT",  // ZMQ的连接模式
            "zmq_socket_type" : "ZMQ_SUB"     // ZMQ的通讯模式
         },
         { // 下发消息给OCDis,这边存在转发功能,支持业务实现按条件转发
            "downstream" : [ "OCDis2OLC"],
            "name" : "NE2OLC",                // 根据这个名字在业务代码中实现转发
            "zmq_socket_action" : "BIND",
            "zmq_socket_type" : "ZMQ_STREAM" 
         },
         { // OLC到OCDis的链路
            "name" : "OCDis2OLC",
            "statistics_on" : true,
            "zmq_socket_action" : "CONNECT",
            "zmq_socket_type" : "ZMQ_DEALER"
         },
         { // OCDis回OLC的链路,之所以来去分开,主要用于实现优雅启停功能(启停节点保证不丢消息)
            "name" : "OCDis2OLC_Backway",
            "statistics_on" : true,
            "zmq_socket_action" : "CONNECT",
            "zmq_socket_type" : "ZMQ_DEALER",
            "backway_pair" : "OCDis2OLC"
         },
         {  // 用于与SmartMonitor的命令消息链路
            "name" : "OLC2Monitor",
            "zmq_socket_action" : "CONNECT",
            "zmq_socket_type" : "ZMQ_DEALER"
         },
      ],
      "ENDPOINT_TO_MONITOR" : "OLC2Monitor",
      "INSTANCE_GROUP" : [
         {
            "instance_endpoints_address" : [
               {
                  "endpoint_name" : "NE2OLC",
                  "zmq_socket_address" : "tcp://*:6701"
               },
               {
                  "endpoint_name" : "OCDis2OLC",
                  "zmq_socket_address" : [
                     "tcp://127.0.0.1:7201"   // 跨机的IP地址与端口,配合状态中心可实现自动管理,无需人工参与配置
                  ]
               },
               {
                  "endpoint_name" : "OCDis2OLC_Backway",
                  "zmq_socket_address" : [
                     "tcp://127.0.0.1:7202"
                  ]
               },
               {
                  "endpoint_name" : "OLC2Monitor",
                  "zmq_socket_address" : "ipc://Monitor2Business_IPC"
               },
               {
                  "endpoint_name" : "MonitorSUB",
                  "zmq_socket_address" : "ipc://MonitorPUB"
               }
            ],
            "instance_group_name" : "1"
         }
      ]
   },

 

  一个政工程序员如果假定调动系统受到某个程序的通讯连接,一定得目不转睛在方那副图研究半上,并且要抓懂“CONNECT”、“BIND”、”ZMQ_ROUTER”、“ZMQ_DEALER”等等这些zeromq专业词汇的意思,才可能展开标准配置,我们隐隐觉得这早已是一个mission
impossible。如何简化这布局文件,如何对网的复杂度进行分,让不同层级的人手只只是待关注自身层级情况,再经我们的CDRAF最终以这些散落的配置、代码组成一个完结而运行的网才是我们现在需要解决之题目。相信就为是每个系统架构师所面临的题材,当一个网的复杂度超过单个人可承受能力范围,就如指向这个体系开展适当分层,分模块。让每个人去管理均等小片段复杂点,并且大家只需要兑现好团结之模块,无需去关注别的模块的落实细节。通过事先设计好的接口,各个模块可相互协作,整体系统是好依此完美地运作的。这里CDARF正是由这么一个差模块的桥梁(接口)的意。

作业:约10-15分钟,作业围绕课程内容。

课程:约课、取消课、回看+聊天框、课后作业成绩、学习报告、公开课占座、一针对性同一课堂直播、课件预览与查看、实时监课功能、内容分享、推荐生奖

1)采用白色为主色调,界面简单。

2)拨打电话后,会来老师打电话过来,对子女进行测评。

2)推荐产生奖励,活动介绍,并带客户分享至微信、朋友围、新浪微博、QQ空间。

手机不可知教

显示已达成课程的历史记录,分别吗凡一切、主修课,公开课、夏令营、其他。

支持PC端、ipad、手机端

测试:每6浅课会有测试,围绕 
读、写作、数学、社会对和自、口语和听力、语法做测试

**产品实施-课后:**

首页=课表:

VIPKID 移动端的付出团队均出自前手机百渡过,5000
节课/秒并作情况下,延迟不跳200 毫秒

测评:根据测评结果确定学生水平,根据结果相当内容跟园丁

主修课:一对一授课,25分钟/节,全程英文,授课老师而依据学生课堂表现情况奖励“小点儿”;

VIPKID是同一下通过北美外教1对1在线视频教授美国小学课程,帮助中国4-12春秋小孩真正实用学习及控制英文的在线少儿英语公司。VIPKID借助于强大的教育工作者力量、标准的美国小学教材、生动有趣的课堂体验,让小在家就可快、高效之升迁英语水平,接触上的国际教育!帮助小朋友将来改为平等称呼优秀的世界人民,自由行走于斯星球!

2)首页底部有5单TAB栏,首页就为课表列表页面。有少只标签引导用户跳转“发现老师”和“公开课”。

引进有奖:

信:消息通知

50%之上用户来源第二、三、四丝都,平台上客单价在半年 1 万最先人民币,毛利
50%。

3)意见反馈,建议及投诉

ipad端:一针对性同样主修课上课、查看预习视频,查看回放,水平自测

葡京娱乐总站平台 7

评论:老师吃学生点评;学生让老师评分(视频音频质量、教学能力)

公开课:

1)公开课列表形式展示课程。封面风格比较卡通,封面上出较为明确的配,具体的任课时间。课程的名称、当前出席人、合适水平统产生介绍,“立即预约”引导客户申请。

1)订单显示,包括约课、待会,已好、已撤。

葡京娱乐总站平台 8

2、节日活动营销-如六一儿童节H5营销活动,用爱伴孩子成才。

设备调适:课前30分钟,电话指导(电脑调适、语音测试)

PC端:一针对同样主修课上课、公开课上课,查看预习视频,查看回放,在线作业,水平自测

提示:开课前3钟头短信提醒、开课时30分钟电话提醒

内容:

市场营销:

预习:每个单元有4单课前预习视频只(7-8分钟/),由真人和动画组成,用充满趣味的故事情节,带子女提前预热课程、了解所法主题,使相当底规范课堂时间里,孩子能够重新小心于文化之吃水了解、运用以及展开。

葡京娱乐总站平台 9

葡京娱乐总站平台 10

1、老生推荐赠送课和扣优惠(3
单元9赔;6单元9折+5主修课;12单元9折+10主修赠送)

微信公众号-定位服务平台,运营时间大概2年,预估粉丝量26万+;内容围绕平台活动、公司新闻、课程活动、复习资料抵。

申请:家长只是经官网、微信公众号、手机报名,支持银行卡、微信、支付宝缴费。

闪退

国籍必须是美国还是加拿大、学历起码是学士学位、教学更得使有500小时以上的ESL或K12教学、坐落地要符合VIPKID的网硬件要求。

15万挂号用户;付费用户1万;

1)若无购买课时,则无从约课。购买课时,引导用户拨打电话。

招聘渠道:Facebook、Glassdoor等社交招聘平台及有着大量的北美外教

视频的布局包括:社会对 & 自然科学
(话题词汇、句型)、语法,自然拼读,高频词,数学等。

更核实所有外教背景信息,确保外教不仅仅教学技能拔尖,更要拥有不错的道德品质。

名专家评估团队与,以严厉VIPKID在线授课标准考核对外教候选人进行考核以及指导评估,超过50%淘汰率。对通过之外教,针对该特点是匹配授课级别。

效果迭代汇总:

4)了解VIPKID,广告和新闻报道视频

3、 模拟教学评估

葡京娱乐总站平台 11

葡京娱乐总站平台 12

退费:30龙外课时少于12节省,全额退款;大于12节约以每节160头做退费

一如既往针对性同 围绕单词、句子、短文阅读、语法、口语教学;

1、 资历审核

师资:教师点评、关注

平台上:

VIPKID的课程体系是因美国共同核心州立标准(CCSS)研发的,同时以相应的级别也覆盖了欧洲共同语言参考标准(CEFR)对承诺级别之言语技巧,并和国际通用考试继续。

师资:

体验后反馈:

产品实行-课中

早就上课程:

学生版(上课工具、平台利用;课堂常用语、指令、手势培训)

手机端:支持约课、取消课操作

**产品定位:
**

**产品实行-政策**

大致课-家长需要超前一圆,VIPKID的外教老师还是多的,即使稍微老师约不达标,还是会管发生别的老师替补。

4、 背景调查

战略性协作:

回放:一针对同一跟公开课均支持回放,且支持电脑、ipad、手机回看

约课:

当众课
围绕经典绘本阅读,包括世界历史文化、科学实验、自然科学、社会对、社会热、西方节假日等于教学;

跟修贝合作制造图书馆;与微软合作云战略当

2、体验当天提请6单元以及因教授经常得到特别礼包(3主修+12精品绘本公开课+学习耳机+199美金读物帐号)

登记:手机号报后即可获298头的试听课程,新用户只能通过客服约课,通过前期需求联系和试听大大提高付费转化率。

3、微博营销:VIPKID利用热点事件进行品牌宣传、举办线上运动提高用户以及活间沟通等。如以微博大v刚刚起势的那段时间
大量应用大V 带来了一波转速。

市场分析:

1、大事件营销-如2015年B轮2000万美元融资,借助此次融资做大事件营销,提升VIPKID在在线教育行业品牌地位。

大致课难:虽然电脑、微信、APP都曾经开展约课功能,但好的园丁还是约不上。

父母亲版 (设备采用、约课、取消课)

APP产品迭代

2)点击课程,进入课程详情页。老师介绍于单一,只出漫画头像和英文名字。

微信朋友圈-利用晒娃活动和捐赠课时移动刷爆朋友围,引发关注。

5)设置栏,可以安装个人信息、消息提醒、系统检测。

渠道分享:课程、师资、推荐、晒娃

课前

因教学力要休教师资格证为评断标准,考核每个申请者教学背景与试讲课的讲课表现。

葡京娱乐总站平台 13

情难易度:授课内容又符合幼小阶段,高年级段家长反映几赖课都以道一个主题,觉得在浪费时间。

盖课or取消课程 :支持电脑、手机端约课、取消课程(提前24钟头)。

我:

别,少儿英语教育之强需求在家长端,年龄虽然聚焦于75晚与80继。一凡是欠年段人群子女正处在少年阶段,二是拖欠年龄段人群更了全球化浪潮,对英语上热情十分水涨船高。

课程体系: