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

.net网站开发岗位制作一个静态网页

.net网站开发岗位,制作一个静态网页,做二手车那个网站会员性价比高,字节跳动员工数量并发#xff0c;数据同步往往是业务开发中比较重要的部分。 shenyu网关数据同步设计方案图 shenyu官网给出的同步设计方案图如下#xff1a; 基于事件异步并发框架com.lmax.disruptor 下载下示例代码#xff0c;跑起来发现#xff0c;在shenyuAdmin模块里面用到了com.lma… 并发数据同步往往是业务开发中比较重要的部分。 shenyu网关数据同步设计方案图 shenyu官网给出的同步设计方案图如下 基于事件异步并发框架com.lmax.disruptor 下载下示例代码跑起来发现在shenyuAdmin模块里面用到了com.lmax.disruptor 引用一段文章 LMAX是一种新型零售金融交易平台它能够以很低的延迟产生大量交易这个系统是建立在JVM平台上其核心是一个业务逻辑处理器它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。Disruptor它是一个开源的并发框架并获得2011 Duke’s 程序框架创新奖能够在无锁的情况下实现网络的Queue并发操作。Disruptor是一个高性能的异步处理框架或者可以认为是最快的消息框架(轻量的JMS)也可以认为是一个观察者模式的实现或者事件监听模式的实现。 Disruptor是如何工作的 Disruptor 有一个基于数组的循环数据结构(环装缓冲区)。这个循环数据结构它是个拥有下个可用元素引用的数组。预先分配了对象内存空间。生产者与消费者通过这个循环数据结构进行读写操作并不会有锁或资源竞争。 在Disruptor 中所有事件(events)以组播的方式被发布给所有消费者以便下游队列通过并行的方式进行消费。因为消费者的并行消费需要协调消费者间的依赖关系(依赖关系图)。 生产者和消费者中有个序列计数器指示缓冲区中当前正在被它所处理的元素。所有生产者或消费者都只可以修改它自己的序列计数器但同时可以读取其他的序列计数器。 Disruptor 介绍 Disruptor 是苹国外厂本易公司LMAX开发的一个高件能列研发的初夷是解决内存队列的延识问顾在性能测试中发现竟然与10操作处于同样的数量级)基于Disruptor开发的系统单线程能支撑每秒600万订单2010年在QCn演讲后获得了业界关注201年企业应用软件专家Martin Fower专门撰写长文介绍。同年它还获得了Oradle官方的Duke大奖。目前包括Apache StomCame、 L0g4 2在内的很多知名项目都应用了Disrupior以获取高性能。注意这里所说的队列是系统内部的内存队列而不是Kaka这样的分布式队列。 Github: https://github.com/LMAX-Exchange/disruptor Disruptor实现了队列的功能并且是一个有界队列可以用于生产者-消费者模型。 JUC包下的队列 juc下的队列大部分采用Reentranlock锁方式保证线程安全。在稳定性要求特别高的系统中为了防止生产者速度过快导致内存溢出只能选择有界队列。加锁的方式通常会严重影响性能。线程会因为竞争不到锁而被挂起等待其他线程释放锁而唤醒这个过程存在很大的开销而且存在死锁的隐患。有界队列通常采用数组实现。但是采用数组实现又会引发另外一个问题false sharing(伪共享)。 CompletableFuture创建异步操作 CompletableFuture 提供了四个静态方法来创建一个异步操作: public static CompletableFutureVoid runAsync(Runnable runnable)public static CompletableFutureVoid runAsync(Runnable runnable, Executor executor)public static U CompletableFutureU supplyAsync(SupplierU supplier)4 public static U CompletableFutureU supplyAsync(SupplierU supplier, Executor executor) 这四个方法区别在于 1runAsync 方法以Rumnable函数式接口类型为参数没有返结果upplyAsync 方法Suppler函数式接口类型为参数返回结果类型为U; Suppler 接的 get) 方法是有返回值的 (会阻塞) 2没有指定Executor的方法默认会使用ForkJoinPool.commonPool()作为它的线程池执行异步代码。如果指定线程池则使用指定的线程池运行。 3默认情况下 CompletableFuture 会使用公共的 ForkJoinPoa 线程池这个线程池默认创建的线程数是 CPU 的核数(也可以通过 JVMoption;Djava,utl.concurrent.ForkJoinPod.common.paralelism 来设置 ForkJoinPodl 线程池的理数)如果有 CompletlableFuture 共享-个线理池那么一旦有任务执行-些很慢的 I/O 操作就会导致线程池中所有线程都阻塞在 I/O操作上从而造成线程饥钱进而影响整个系统的性能。所以强烈建议你要根据不同的业务类型创建不同的线程池以避免互相干扰。
http://www.tj-hxxt.cn/news/132589.html

相关文章:

  • 电商网站建设与管理建设部门三类人员官方网站
  • 做外汇看新闻在什么网站看app下载官方免费下载
  • 新浪网页版入口石家庄seo网络推广
  • 手机页面网站开发例子做直播导航网站好
  • 制作网站题材公司网站被百度收录
  • 克拉玛依做网站如何制作网站网页
  • 上海专业网站建站公用wordpress建一个网站
  • 江苏建设一体化平台网站网站构架怎么做
  • 互联网建设企业网站金融商城快捷申请网站模板下载
  • 创业如何进行网站建设wordpress每篇文章怎么加关键词
  • 常熟高端网站建设wordpress 多站
  • html5网站建设源码wordpress没有upload
  • 山西两学一做网站登录网站ui设计师培训
  • 一个旅游网站建设网站搭建推广优化
  • 学校自己做的网站需要买服务器吗注册小规模公司流程以及费用
  • 广东建设网 工程信息网站可以做推广东西的网站
  • 上市公司网站建设方案小程序一个页面多少钱
  • 造作网站模版网站设计手机版为什么那么多背景
  • 网站模板 登陆个人品牌网站建设
  • 常用网站建设技术是什么意思自动生成代码的软件
  • 网站开发需要做什么怎样做网站链接
  • 中小企业网站建设与管理课后答案深圳横岗做网站的
  • 起重机网站怎么做有什么公司是建设网站的吗
  • 绵阳新农网的网站是哪个公司做的石狮网站建设科技
  • ppt超级市场衡水seo外包
  • 网站怎么做必须交钱吗成都中小企业申请网站
  • 电商培训网站国家企业信用信息公示系统辽宁
  • 网站建设 中标九洋建设官方网站
  • 建网站的详细技术国家城乡和建设厅特殊工种网站
  • 网站制作报价明细表阿里云做的网站程序