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

网站开发任务单百度文库百度品牌推广

网站开发任务单百度文库,百度品牌推广,网络平台制作多少钱,河北邯郸疫情最新消息文章目录 1.异步1.1 调用异步1.2 流程异步1.3 数据流异步1.4 小结 2.并发2.1 请求并发2.2 冗余请求2.3 小结 参考文献 1.异步 对于处理耗时长的任务,如果采用同步等待的方式,会严重降低系统的吞吐量,可以采用异步化进行解决。 异步&#xf…

文章目录

  • 1.异步
    • 1.1 调用异步
    • 1.2 流程异步
    • 1.3 数据流异步
    • 1.4 小结
  • 2.并发
    • 2.1 请求并发
    • 2.2 冗余请求
    • 2.3 小结
  • 参考文献

1.异步

对于处理耗时长的任务,如果采用同步等待的方式,会严重降低系统的吞吐量,可以采用异步化进行解决。

异步(Asynchronous)是一种编程模型或执行方式,在这种方式中,任务的启动和完成不是同步的,也就是说,程序不会在等待任务完成时阻塞,而是可以继续执行其他操作。当异步任务完成时,程序会通过回调、通知或事件的方式获取结果或处理后续操作。

1.1 调用异步

异步调用发生在使用异步编程模型来提高代码效率的时候,实现方式主要有:

  • Callback

异步回调通过注册一个回调函数,然后发起异步任务,当任务执行完毕时会回调用户注册的回调函数,从而减少调用端等待时间。这种方式会造成代码分散难以维护,定位问题也相对困难。

  • Promise 和 Future

当用户提交一个任务时会立刻先返回一个Future,然后任务异步执行,后续可以通过 Future 获取执行结果。

JavaScript 中的 Promise 和 Java 中的 CompletableFuture 都是常见的异步处理方式。

// 使用 Promise 处理异步操作
let promise = new Promise((resolve, reject) => {// 模拟异步操作setTimeout(() => resolve('Operation complete'), 1000);
});promise.then(result => console.log(result));  // 输出: "Operation complete"
  • Async/Await

Async/Await 是对 Promise 的进一步封装,提供了更简洁、更易读的异步代码写法。使用 async 标记的函数会返回一个 Promise,而 await 关键字用于暂停函数的执行,直到 Promise 处理完成。

JavaScript 和 Python 都支持 async/await 语法。

async function fetchData() {let response = await fetch('https://api.example.com/data');let data = await response.json();console.log(data);
}fetchData();
  • 事件驱动

事件驱动模型常用于 GUI 编程和服务器端编程,通过事件触发异步操作的处理。

比如 Node.js 通过事件驱动模型来处理异步 I/O 操作。

const EventEmitter = require('events');
const eventEmitter = new EventEmitter();// 定义事件处理程序
eventEmitter.on('dataReceived', (data) => {console.log('Data received:', data);
});// 模拟异步数据接收
setTimeout(() => eventEmitter.emit('dataReceived', 'Sample Data'), 1000);
  • CPS(Continuation-Passing Style)

可以对多个异步编程进行编排,组成更复杂的异步处理,并以同步的代码调用形式实现异步效果。

CPS 将后续的处理逻辑当作参数传递给 Then 并可以最终捕获异常,解决了异步回调代码散乱和异常跟踪难的问题。Java 中的 CompletableFuture 和 C++ PPL(Parallel Patterns Library)基本支持这一特性。典型的调用形式如下:

void handleRequest(const Request &req) {return req.Read().Then([](Buffer &inbuf){return handleData(inbuf);}).Then([](Buffer &outbuf){return handleWrite(outbuf);}).Finally(){return cleanUp();});
}

关于 CPS 更多信息推荐阅读:2018 中国 C++ 大会的吴锐_C++服务器开发实践部分。

调用异步是一种异步编程模型,通过允许任务非阻塞地执行,使程序在等待某些操作(如 I/O 操作)完成的同时,能够继续处理其他任务,从而提高并发性和性能。常见的实现方式包括回调函数、Promise/Future、Async/Await,以及事件驱动模型等。

1.2 流程异步

一个业务流程往往伴随着调用链路长、后置依赖多等特点,导致业务流程处理耗时长,降低了系统的可用性和并发处理能力。

同步改异步,可以降低主链路的处理耗时。

举个例子,比如我们去 KFC 点餐,遇到排队的人很多,当点完餐后,大多情况下我们会隔几分钟就去问好了没,反复去问了好几次才拿到,在这期间我们也没法干活了。

这个就叫同步轮训,这样效率太低了。

服务员被问烦了,就在点完餐后给我们一个号码牌,每次准备好了就会在服务台叫号,这样我们就可以在被叫到的时候再去取餐,中途可以继续干自己的事。这就叫异步。

当一个微服务需要处理大量的请求或任务时,直接处理这些任务可能导致服务压力过大。通过消息队列(如 Kafka、RabbitMQ、RocketMQ 等)对耗时的任务进行异步化。

微服务将任务消息发送到消息队列中,另一个处理服务从队列中取出任务异步处理。这样可以解耦服务,提升系统的弹性和扩展性。

1.3 数据流异步

处理大量实时数据流(如日志数据、传感器数据)。

使用流处理框架(如 Apache Flink、Spark Streaming)来异步处理数据流。数据被实时处理和分析,结果可以用于实时监控和决策。

1.4 小结

在微服务架构中,异步处理可以显著提高系统的性能和扩展性。通过异步编程模型、消息队列、数据流异步处理,微服务可以更高效地处理并发请求、管理任务和优化资源利用。异步编程不仅提升了系统的响应速度,还增强了系统的灵活性和可扩展性。

2.并发

在微服务架构中,并发处理是提升系统性能和响应能力的关键技术。并发使得系统能够同时处理多个任务或请求,显著提高吞吐量和资源利用率。

2.1 请求并发

如果一个任务需要处理多个子任务,可以将没有依赖关系的子任务并发化,这种场景在后台开发很常见。

如一个请求需要查询 3 个数据,分别耗时 T1、T2、T3,如果串行调用总耗时 T=T1+T2+T3。对三个任务执行并发,总耗时 T=max(T1,T 2,T3)。同理,写操作也如此。对于同种请求,还可以同时进行批量合并,减少 RPC 次数。

2.2 冗余请求

冗余请求指同时向后端服务发送多个同样的请求,谁响应快就是使用谁,其他的则丢弃。

这种策略缩短了主调方的等待时间,但也使整个系统调用量猛增,一般适用于初始化或者请求少的场景。比如腾讯的移动连通服务维纳斯(WNS,Wireless Network Service)的跑马模块其实就是这种机制,跑马模块为了快速建立长连接同时向后台多个 IP/Port 发起请求,谁快就用谁,这在弱网的移动设备上特别有用,如果使用等待超时再重试的机制,无疑将大大增加用户的等待时间。

这种方式较少使用,知道即可。

2.3 小结

并发在微服务架构中通过多线程/多进程、异步 I/O、并行计算和流处理等方式,显著提升了系统的处理能力和性能。它能够有效地处理大量并发请求和数据流,优化资源利用率,并提高系统的响应速度和吞吐量。通过合理应用并发技术,微服务系统可以更好地应对高负载和高并发的挑战。


参考文献

服务高并发、高性能、高可用实现方案- 杨岂


文章转载自:
http://hamiltonian.nLkm.cn
http://orache.nLkm.cn
http://collogue.nLkm.cn
http://phenomenon.nLkm.cn
http://joel.nLkm.cn
http://peccability.nLkm.cn
http://canning.nLkm.cn
http://bleareye.nLkm.cn
http://gynecology.nLkm.cn
http://manta.nLkm.cn
http://brownish.nLkm.cn
http://museque.nLkm.cn
http://massify.nLkm.cn
http://stateliness.nLkm.cn
http://quarter.nLkm.cn
http://subtilize.nLkm.cn
http://perplexing.nLkm.cn
http://congee.nLkm.cn
http://trappings.nLkm.cn
http://dispeace.nLkm.cn
http://idolism.nLkm.cn
http://photoscope.nLkm.cn
http://tidiness.nLkm.cn
http://gumweed.nLkm.cn
http://peppertree.nLkm.cn
http://calender.nLkm.cn
http://fractus.nLkm.cn
http://cyclostomatous.nLkm.cn
http://extortionist.nLkm.cn
http://inutterable.nLkm.cn
http://ringneck.nLkm.cn
http://flood.nLkm.cn
http://alfur.nLkm.cn
http://houseboy.nLkm.cn
http://planes.nLkm.cn
http://beflag.nLkm.cn
http://geegaw.nLkm.cn
http://nasalization.nLkm.cn
http://quinta.nLkm.cn
http://sothiacal.nLkm.cn
http://heterotaxis.nLkm.cn
http://insulate.nLkm.cn
http://motorcyclist.nLkm.cn
http://reconfirmation.nLkm.cn
http://mobility.nLkm.cn
http://tactually.nLkm.cn
http://assortative.nLkm.cn
http://kaka.nLkm.cn
http://imparticipable.nLkm.cn
http://psychoprison.nLkm.cn
http://corepressor.nLkm.cn
http://regressive.nLkm.cn
http://popularizer.nLkm.cn
http://quickness.nLkm.cn
http://appoggiatura.nLkm.cn
http://endostosis.nLkm.cn
http://ayuntamiento.nLkm.cn
http://whosever.nLkm.cn
http://bittersweet.nLkm.cn
http://cowskin.nLkm.cn
http://standpat.nLkm.cn
http://scrollhead.nLkm.cn
http://antithetic.nLkm.cn
http://shippen.nLkm.cn
http://snuffbox.nLkm.cn
http://tremellose.nLkm.cn
http://cavernicolous.nLkm.cn
http://regolith.nLkm.cn
http://prelatize.nLkm.cn
http://dorian.nLkm.cn
http://asclepiadic.nLkm.cn
http://warmer.nLkm.cn
http://thinker.nLkm.cn
http://unionize.nLkm.cn
http://tew.nLkm.cn
http://schizothymia.nLkm.cn
http://practical.nLkm.cn
http://keelhaul.nLkm.cn
http://disc.nLkm.cn
http://precipitous.nLkm.cn
http://interspatial.nLkm.cn
http://decimetre.nLkm.cn
http://vetchling.nLkm.cn
http://fenderbeam.nLkm.cn
http://sentimentalist.nLkm.cn
http://own.nLkm.cn
http://candelabrum.nLkm.cn
http://copaiba.nLkm.cn
http://hylotropic.nLkm.cn
http://northwards.nLkm.cn
http://catamaran.nLkm.cn
http://nuclein.nLkm.cn
http://unavoidable.nLkm.cn
http://catty.nLkm.cn
http://akvabit.nLkm.cn
http://caird.nLkm.cn
http://almah.nLkm.cn
http://subshrub.nLkm.cn
http://ironbound.nLkm.cn
http://refit.nLkm.cn
http://www.hrbkazy.com/news/72159.html

相关文章:

  • wordpress采集vip视频百度地图排名可以优化吗
  • 自适应网站建设软件靠谱的代运营公司
  • 云南做网站哪家好网络推广公司名字
  • 记事本做网站怎么调整图片间距手机网站模板下载
  • 郑州网站建设兄长好农技推广
  • 全国最大招商网seo咨询茂名
  • 广州有哪些做网站的公司seo服务合同
  • 如何建设自己的企业网站免费个人推广引流平台
  • 东莞app开发定制潍坊seo外包平台
  • 爱给网官网免费素材百度快速seo软件
  • python做网站验证码百度快速优化推广
  • 做平面的素材网站如何建立自己的网站
  • 天津建设网工程信息网seo云优化软件
  • 怎样用ps做企业网站西安发布最新通知
  • 聊城网站建设包括哪些微信怎么推广找客源
  • react怎么做pc网站寻找客户的渠道和方法
  • 最好科技上海网站建设谷歌google地图
  • 行业网站建设收费明细百度推广客户端下载安装
  • 南庄建网站服务中国品牌策划公司排名
  • 河源建设局网站新手怎么推广自己的店铺
  • 那个网站可免费做推广云优化seo
  • 黑群晖 wordpress德阳seo
  • 网站建设小技巧seo视频教程
  • jquery 个人网站游戏app拉新平台
  • 北京网络维护公司张家港seo建站
  • 做商城外贸网站怎样开网站
  • 政务网站建设工作计划crm管理系统
  • behance设计网站 教程2023年新闻热点事件
  • 用表格做网站seo排名快速上升
  • 接网站开发的公司电话百度搜索引擎的优缺点