当前位置: 首页 > news >正文

知乎网站内容建设的逻辑网络推广需要什么技能

知乎网站内容建设的逻辑,网络推广需要什么技能,开网店需要多少钱?,晋江建设局网站目录 1 生产者 数据源 1.1. match-server 一启动 初始化数据 自动查询数据库 查询level2要展示的数据 1.2 match-server接收 前端发给Exchange-server的数据 2. 将查询/接受的数据EntrustOrder 转成 Order 解耦 过滤掉不要的属性 3.Order转成 OrderEvent 4. 分配序号发布…目录 1 生产者 数据源 1.1. match-server 一启动 初始化数据 自动查询数据库 查询level2要展示的数据 1.2 match-server接收 前端发给Exchange-server的数据 2. 将查询/接受的数据EntrustOrder 转成 Order 解耦 过滤掉不要的属性 3.Order转成 OrderEvent 4. 分配序号发布数据到ringbuffer,管理序号和栅栏(前提是ringbuffer构建好了) 5 分配序号 发布数据到ringbuffer 5.1. 初始化数据源实现的代码 循环每一条数据转换 分配序号 发布数据到ringbuffer 5.2 前端数据源 1 生产者 数据源 1.1 match-server 一启动 初始化数据 自动查询数据库 查询level2要展示的数据 ListEntrustOrder entrustOrders entrustOrderMapper.selectList(new LambdaQueryWrapperEntrustOrder().eq(EntrustOrder::getStatus, 0).orderByAsc(EntrustOrder::getCreated) 1.2 match-server接收 前端发给Exchange-server的数据 StreamListener(order_in) // order_in 在 Sink中public void handleMessage(EntrustOrder entrustOrder) { // 消息监听} 2. 将查询/接受的数据EntrustOrder 转成 Order 解耦 过滤掉不要的属性 public static Order entrustOrder2Order(EntrustOrder entrustOrder) {Order order new Order();order.setOrderId(entrustOrder.getId().toString());order.setPrice(entrustOrder.getPrice());order.setAmount(entrustOrder.getVolume().subtract(entrustOrder.getDeal())); // 交易的数量 总数量- 已经成交的数量order.setSymbol(entrustOrder.getSymbol());order.setOrderDirection(OrderDirection.getOrderDirection(entrustOrder.getType().intValue())); // 交易sideorder.setTime(entrustOrder.getCreated().getTime());return order ;} 3.Order转成 OrderEvent // 使用事件转换器的好处1环形队列获取序号 2拿到事件填充数据 3再发布序号 省了从2给 事件填充数据 private static final EventTranslatorOneArgOrderEvent, Order TRANSLATOR new EventTranslatorOneArgOrderEvent, Order() { // Order 转化成 OrderEvent// 现在上面实例化 然后 在下面 实现/*** Translate a data representation into fields set in given event 将数据表示转换为给定事件中设置的字段* Params:参数* event* into which the data should be translated. 要转成什么data* sequence 序列* that is assigned to event. 分配给事件的序列。* arg0* The first user specified argument to the translator 转换器的第一个用户指定参数*/public void translateTo(OrderEvent event, long sequence, Order input) {event.setSource(input);} // setSource 是 source的 set方法}; 4. 分配序号发布数据到ringbuffer,管理序号和栅栏(前提是ringbuffer构建好了) /*** 我们使用DisruptorTemplate 时,就使用它的onData方法* param input** public A void publishEvent(EventTranslatorOneArgE, A translator, A arg0)* {* final long sequence sequencer.next();* translateAndPublish(translator, sequence, arg0);* }* private A void translateAndPublish(EventTranslatorOneArgE, A translator, long sequence, A arg0)* {* try* {* translator.translateTo(get(sequence), sequence, arg0);* }* finally* {* sequencer.publish(sequence);* }* }** void publish(long sequence);**/public void onData(Order input) {ringBuffer.publishEvent(TRANSLATOR, input); // 这个就是分配序号 然后发布数据到ringbuffer} 5 分配序号 发布数据到ringbuffer 5.1. 初始化数据源 从数据查询数据 循环每一条数据转换 分配序号 发布数据到ringbuffer for (EntrustOrder entrustOrder : entrustOrders) {disruptorTemplate.onData(BeanUtils.entrustOrder2Order(entrustOrder)); // 往ringbuffer 中放 // BeanUtils.entrustOrder2Order 数据转换} // BeanUtils.entrustOrder2Order(entrustOrder) 是数据转换 就是从entrustOrder 筛选出 Order 需要的属性数据 5.2 前端数据源 高频多生产者 每次一条数据 exchange-service 发送消息到match disruptorTemplate.onData(BeanUtils.entrustOrder2Order(entrustOrder)); 6 disruptorTemplate.onData 源码 onData public void onData(Order input) {ringBuffer.publishEvent(TRANSLATOR, input); // 这个就是分配序号 然后发布数据到ringbuffer} TRANSLATOR // 先用 EventTranslatorOneArg方法做了个 TRANSLATOR 再调用publishEvent方法 private static final EventTranslatorOneArgOrderEvent, Order TRANSLATOR new EventTranslatorOneArgOrderEvent, Order() { // Order 转化成 OrderEventpublic void translateTo(OrderEvent event, long sequence, Order input) {event.setSource(input);} // setSource 是 source的 set方法}; publishEvent Overridepublic A void publishEvent(EventTranslatorOneArgE, A translator, A arg0){final long sequence sequencer.next(); // 单生成者就是 但生产者中得next算法 1:43:28 // https://www.bilibili.com/video/BV1zM4y1L7Q9/?spm_id_from333.337.search-card.all.clickvd_sourceff8b7f852278821525f11666b36f180atranslateAndPublish(translator, sequence, arg0);} translateAndPublish private A void translateAndPublish(EventTranslatorOneArgE, A translator, long sequence, A arg0){try{translator.translateTo(get(sequence), sequence, arg0);}finally{sequencer.publish(sequence);}} EventTranslatorOneArg  public interface EventTranslatorOneArgT, A {/*** Translate a data representation into fields set in given event** param event into which the data should be translated.* param sequence that is assigned to event.* param arg0 The first user specified argument to the translator*/void translateTo(T event, long sequence, A arg0); } translateTo 自定义 还是调用? private static final EventTranslatorOneArgOrderEvent, Order TRANSLATOR new EventTranslatorOneArgOrderEvent, Order() { // Order 转化成 OrderEventpublic void translateTo(OrderEvent event, long sequence, Order input) {event.setSource(input);} // setSource 是 source的 set方法}; Sequencer public interface Sequencer extends Cursored, Sequenced { } Sequenced -publish public interface Sequenced {/*** Publishes a sequence. Call when the event has been filled.** param sequence the sequence to be published.*/void publish(long sequence); // 操作: publish 序号 }
http://www.hkea.cn/news/14505149/

相关文章:

  • 江西网站建设哪家好济宁做网站优化
  • 大连 网站制作 外贸网站备案怎么查询
  • 企业网站建设开发服务猫咪社区官网在线最新
  • 免费logo网站install.php空白 wordpress
  • 微信网站设计欣赏网络方案分析
  • 电子商务网站建设品牌广州通app下载
  • 承德优化网站建设为什么选择做游戏网站
  • 网站加黑链如何做话费卡回收网站
  • 哪个网站做五金冲压的展馆设计总结
  • 佛山市企业网站seo联系方式省住房和城乡建设厅官方网站
  • 宜昌网站建设网站建设制作博走
  • 杭州互联网网站公司营销组合策略
  • 网站建设开发五行属性重庆建筑工程造价信息网
  • 淘宝客网站主题模版环球影城客户电话
  • 在线解析网站学室内设计培训哪里好
  • 做系统用什么网站好珠海网站设计多少钱
  • 山东省建设招标信息网站wordpress安装不上
  • 局域网内部网站建设app下载做外贸网站的经验
  • 荆州网站建设流程php 搭建手机网站
  • wordpress工单太原seo计费管理
  • 深圳建设工程交易服务网站搭建网页步骤
  • wordpress建站不好用齐齐哈尔铁峰建设局网站
  • 网站标题logo怎么做建网站用什么浏览器
  • 网站被黑了怎么恢复公司起名字大全免费三个字
  • 付网站开发费计入什么科目网站怎么盈利的
  • 网站建设的原则 流程宁波网站推广公司排名
  • 批量网站访问检测代理记账客源怎么找
  • 做网站赚钱什么类型网站开发模块的需求
  • 做化工的 有那些网站建工信息网
  • 专做宠物的网站wordpress 论坛 注册