zoukankan      html  css  js  c++  java
  • 随想 2018052202

    继续学习事件驱动编程:

    1. 方法论中的: Observer 设计模式, Pub-Sub MQ设计模式

    2. 业务之间的解耦,必须引入一个额外的一个组件来。还是那句话: add addtional indirecation layer for flexible or discompose.

    3. Zookeeper 中 watch 机制也可以用来解耦(分布式),作为事件驱动执行器,FileWatch也是可以的

    4. 事件、事件源、发布事件、消费事件、事件处理器 Executor

    5. Spring: ApplicationContext, ApplicationEvent, ApplicationEventListner, @EventListener,  事件处理器的 并发处理需要配置 @Configuration

    6. ApplicationEvent:  startup, refresh, shutdown 

    7. @Async 可以使方法异步执行

    publish<event> ----->  executor (ThreadPool)   <------- handler<event>

    可获取结果的异步 PubSub 模式

    1.  Publish event

    2.  Tranlate event to internal bucket with id for exchange the information between producer & consumer

    3.  Create Future<?> and save map container with bucket id

    4.  Save internal bucket to local memory waiting for executor to send

    5.  Way 1: directly create new FutureTask<?> with Callable<?> executing body and submit it to executor, after event is done by handler, Future<?> can be get 

    6.  Way 2: Using ArrayBlockingQueue<?> with only 1 element inside subclass of Future<?>, and create a connetion between Future<?> and bucket id, after registering the 

         listener to executor for waiting for the event is done by handler. If done, set ArrayBlockingQueue<?> by finding object the subclass of Future<?> from container with bucket id

  • 相关阅读:
    解决VTune错误.../lib64/libstdc++.so.6: version `GLIBCXX_3.4.14&#39; not found (required by ...)
    【环境配置】配置sdk
    Eclipse设置Android Logcat输出字体大小
    Vertica数据库操作
    hihoCoder#1038 : 01背包
    初识Dubbo 系列之4-Dubbo 依赖
    计算机相关专业的同学该怎么用自己的计算机
    十天学习PHP之第三天
    Android之Fragment的优点和作用
    Fragment的生命周期
  • 原文地址:https://www.cnblogs.com/iiiDragon/p/9070573.html
Copyright © 2011-2022 走看看