深圳易捷网络科技注册咨询网-jiujiuya.com.cn 返回首页

网站制作同步扩展,还是异步扩展

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2018-10-29 19:35:29
现在我们理解了同步调用和异步调用之间的区别。为什么要了解它们呢?答案在可扩展性当中。如果过度使用同步调用,或者使用不当,会给系统造成过度的负担,妨碍它扩展。让我们维续使用那个queryexec的例子,尝试执行一个用户查询。如果根据以下理由,即(1)监控很重要,(2)监控方法运行得很快,(3)最坏的情况不过是用户查询变慢了,我们实现了两个同步调用的监控方法。这些理由虽然意图是好的,但它们却是错误的。如前所述,虽然监控很重要,但是也没有返回给用户的查询结果重要。当被监控的数据库在运行时,监控方法也许运行得很快,但是当发生了硬件故障,或者被监控数据库不能访问时,又会怎样呢?这样来,监控查询就会被堆积起来,等待超时。
这也就意味着用户的查询会被阻塞,等待监控查询完成,从而导致用户查询堆积起来。当用户查询变慢或者暂时停止等待超时时,它仍然会占用一个用户数据库的数据库连接,而且应用服务器上执行的线程依然会消耗服务器上的内存。随着越来越多的用户线程开始停止,等待它们的监控调用超时,用户数据的连接数可能会被耗尽,这样其他非监控类的查询就不能再连接到用户数据库上。并且应用服务器上的线程需要把数据写回硬盘来释放内存,这样就会造成服务器上的内存交换。这种交换会使所有的处理变慢,还可能会使应用服务器的TCP堆栈达到上限,以致拒绝之后的连接。最后,新的用户请求将得不到处理,用户只能坐等浏览器或应用超时。从本质上来说,你的应用或平台已经停止工作了。如你所见,究竟是采用同步调用还是异步调用,这样-一个小疏忽就会轻松地造成一系列糟糕的事件。这个场景当中最精糕的一点在于,造成问题的根本原因很隐蔽。由于我们是逐步探讨了这一系列事件,所以要理解问题所在相对比较容易,但如果系统的症状表现为系统载人Web页面开始变慢,在接下来的15分钟内,这种情况越来越严重,直到最后整个系统停止了运行,要诊断这个问题是非常困难的。或许你有足够的监控信息来帮助你诊断这些类型的问题,但是当你的站点停机了,而你又急于让它恢复服务时,要搞清楚这一系列事件的真相是倍有压力的。
尽管使用同步调用不当或过度会造成问题,但方法调用还是常常采用同步方式实现。为什么会这样?答案在于,同步调用比异步调用简单。你或许会补充说,“等等,同步调用的确更简单一些,不过更经常情况的是,我们的某些方法需要其他的方法先被调用才能成功完成。因此,我们不能在系统中使用大量的异步调用”。是的,的确如此。许多时候,你的确需要等待被调用的方法完成,并需要知道某些状态才能让线程继续运行。我们不是要告诉你所有的同步调用都不好,事实上,许多同步调用都是必需的,它们会让开发人员的日子简单得多。但也有许多时候,即使存在上述的依赖性,也是可以使用异步调用,并且应该使用异步调用来代替同步调用的。如果主线程不太关心被调用的线程是否完成了,例如监控调用,那么只需用一个简单的异步调用即可。如果你需要被调用的线程提供一些信息,又不想妨碍主线程的执行,那么可以采用回调来获取这些信息。关于回调的详细介绍已经不在本书的范围之内了。回调功能的一个示例是,操作系统中用于报告硬件状况的中断处理例程。
异步协调
原方法与被调用的方法之间的异步协调和通信需要一种机制,以便原方法确认被调用的方法何时执行完毕或者是否执行完毕了。回调是一种方法,它们会以参数的形式传递给其他方法,
以便去除代码中不同层之间的耦合。在C和C+中,这是通过函数指针实现的;在Java中,则是通过对象引用实现的。有许多设计模式都使用了回调,例如委托设计模式和观察者设计模式。高层的进程会充当低层的客户,通过传递引用来调用低层的方法。一个回调方法被调用的示例可以是像文件系统改变这样的同步事件。
在.NET框架中,异步通信的特征是使用了BeginBlah,其中Blah就是该方法的同步版本的名字。判断一个异步调用是否完成了的方法有四种:
第一种是轮询(IsCompleted属性);
第二种是回调方法Delegate;
第三种是方法AsyncWaitHandle,等待调用完成;第四种是方法EndBlah,也是等待调用完成。
不同的语言提供了不同的方案来解决异步通信和协调问题。你需要了解你的语言和框架提供了什么解决方案,这样才能在需要的时候实现它们。
在上段中我们说过网站制作同步调用简单,因此使用同步调用的情况比使用异步调用的I彩得名。虽然这是事实,但它只是工程师忽视了同步调用的影响的部分原因。另部分原因是开发人员通常只看到小部分。在一个组织中,只有非常少的几个人能够览应用的全貌。你的架构师肯定应该他看到个局的应川,同样地,管理团队应该也可以看到。你必须依靠他们来解决难题,并解释同步调川会造成哪些扩展问题。

相关行业资讯

1、提高网站优化内部效果方案
2、制作网站的同时不能忽略了访客体验
3、网站改版最重要的两条是根据数据和用户体验_深圳网站建设
4、未来的商业模式呈现什么态势
5、中小企业网络推广营销的一些基本思路
6、企业建网站冷暖色的对比
7、企业要解决的外贸B2B网站营销问题
8、网站关键词排名切忌盲目追求第一
9、网络推广这些效果好的免费渠道你知道吗?
10、网站外链数量增长缓慢原因何在
11、我们还在为网站优化失败找借口吗
12、 哪些因素会影响到对网站的优化进程?
13、弹出新窗口转向,算作弊吗?
14、做好企业的网络营销需要做哪些准备工作
15、如何运营好社群定位用户需求
16、网站建设怎样设计出才符合用户体验的网站
17、新手做网站推广优化该如何做优化
18、企业进行SEO优化都有些什么好处呢?
19、SEO网站优化,一直原创,为什么排名上不去?
20、竞价推广申请品牌保护的作用
21、外链对SEO优化来说有什么作用?
22、网站优化整个推广优化计划产生的效益
23、哪些原因影响着原创文章的收录
24、网站优化的作用真的有那么奇特吗
25、从《舌尖上的中国》到“品味推广优化"
26、网站建设中10个容易被忽视的设计误区
27、说说移动端电商网站如何把控设计诀窍
28、网站建设中网站前端制作到底是做什么的
29、小编讲解网站底部应怎样进行seo优化
30、5个不容忽略的百度中文推广优化细节
31、Seo该如何做
32、如何进行网站制作可以使公司成功盈利
33、浅谈网络推广模式的利弊及改进策略
34、如何合理选择服务器放置网站
35、做网站值得关注的几个环节
36、如何从四大方面做数据统筹
37、网站中用户点击的主要原因
38、推广优化讨论
39、企业网站设计用户界面元素的设计
40、怎样才调快速打造一个高转化率的着陆页
41、竞价排名对推广优化的意义
42、正规建站公司一般会具备哪些优势
43、深圳做网站易捷网络:什么是长尾关键词
44、企业站整站优化会遇到哪些问题
45、SEM竞价推广中企业常走入的误区
46、稳定关键词排名需掌握这些简单SEO技巧!
47、内容站的出路在哪里 网站如何盈利
48、看看这个就知道怎样选择网站建设公司
49、浅析外链被百度收录之后又被删现象
50、网站运营8种促进个人网站成功的方法

相关视频推荐

自动化行业网站制作焊锡机/点胶机/螺丝机网站
企业网站制作新模式全部仅需800元/年
如何提高企叫网站打开速度
公司网站到期了该怎小续费
企业为什么必须要做一网站
企业网站的导航栏一般要规划哪些栏目
国际物流FBA物流网站建设深圳易捷网站公司公司
银制品金银器网站建设深圳易捷网站公司
包装印刷行业网站设计
膜结构公司网站设计
工商财务公司网站设计
购买一个域名需要多少钱
企业网站建设云虚拟主机需要多少钱
财务公言的网站怎么做才能显示在搜索引擎的首页
网站建设一站式服务
深圳网站建设公司网站排行榜
深圳市易捷网络科技有限公司版权所有     粤ICP备2022153140号
best smoke alarms australia |  vape detectors