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

利用代码如何做网站seo网站推广价格

利用代码如何做网站,seo网站推广价格,网站建设什么因素最重要性,seo发外链网站动态线程池: 使用线程池ThreadPoolExecutor过程中你是否有以下痛点呢? ① 代码中创建了一个ThreadPoolExecutor,但是不知道参数设置多少比较合适。 ② 凭经验设置参数值,上线后发现需要调整,改代码重新发布服务&…

动态线程池:

使用线程池ThreadPoolExecutor过程中你是否有以下痛点呢?

① 代码中创建了一个ThreadPoolExecutor,但是不知道参数设置多少比较合适。

② 凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦。

③ 线程池相对开发人员来说是个黑盒,运行情况不能及时感知到,直到出现问题。

如果有以上痛点,动态可监控线程 池框架(DynamicTp)或许能帮助到你。如果看过 ThreadPoolExecutor的源码,大概可以知道它对核心参数基本都有提供set/get方法以及一些扩展方法, 可以在运行时动态修改、获取相应 的值,如图所示:

dynamic-tp简介:

官网:

首页 | dynamictp

基于配置中心的轻量级动态线程池,内置监控告警功能,集成常用中间件线程池管理,可通过SPI自定义扩展实现。

为何要引入配置中心?

现在大多数的互联网项目都会微服务化部署,有一套自己的服务治理体系,微服务组件中的分布式配置中心扮演的就是动态修改配置, 实时生效的角色。那么我们是否可以结合 配置中心来做运行时线程池参数的动态调整呢?

答案是肯定的,而且配置中心相对都是高可用的,使用它也不用过于担心配置推送失败这 类问题,而且也能减少研发动态线程池组件本身的难度和工作量。综上,可以总结出以下 的背景:

① 广泛性:在 Java 开发中,想要提高系统性能,线程池已经是一个90%以上开发都 会选择使用的基础工具。

② 不确定性:项目中可能会创建很多线程池,既有IO密集型的,也有CPU密集型的, 但线程池的参数并不好确定;需要有套机制在运行过程中动态去调整参数

③ 无感知性:线程池运行过程中的各项指标一般感知不到;需要有套监控报警机制在事前、事中就能让开发人员感知到线程池的运行状况及时处理。

④ 高可用性:配置变更需要及时推送到客户端,需要有高可用的配置管理推送服务, 配置中心是现在大多数互联网系统都会使用的组件,与之结合可以极大提高系统可 用性。

功能介绍:

功能描述
代码零侵入改变了线程池以往的使用方式,所有配置均放在配置中心,服务启动时会从配置中心 拉取配置生成线程池对象放到Spring容器中,使用时直接从 Spring 容器中获取,对 业务代码零侵入
通知告警提供多种报警维度(配置变更通知、活性报警、容量阈值报警、拒绝触发报警、任务 执行或等待超时报警),已支持企业微信、钉钉、飞书、邮件报警,同时提供 SPI 接口可自定义扩展实现
运行监控定时采集线程池指标数据,支持通过MicroMeter、JsonLog日志输出、Endpoint三种 方式,可通过SPI接口自定义扩展实现
任务增强提供任务包装功能,实现TaskWrapper接口即可,如:MdcTaskWrapper、 TtlTaskWrapper、SwTraceTaskWrapper,可以支持线程池上下文信息传递
多配置中心支持基于主流配置中心实现线程池参数动态调整,实时生效,已支持Nacos、Apollo、 Zookeeper、Consul、Etcd、Polaris、ServiceComb,同时也提供SPI接口可自定义扩 展实现
轻量简单基于SpringBoot实现,引入starter,接入只需简单4步就可完成,顺利3分钟搞定
中间件线程池管理集成管理常用第三方组件的线程池,已集成 Tomcat、Jetty、Undertow、Dubbo、 RocketMq、Hystrix、Grpc、Motan、Okhttp3、Brpc、Tars、SofaRpc、RabbitMq 等组件的线程池管理(调参、监控报警)
多模式提供了增强线程池 DtpExecutor,IO密集型场景使用的线程池 EagerDtpExecutor, 调度线程池 ScheduledDtpExecutor,有序线程池 OrderedDtpExecutor,可以根据业 务场景选择合适的线程池
兼容性JUC普通线程池和Spring中的ThreadPoolTaskExecutor也可以被框架管理,@Bean定 义时加 @DynamicTp 注解即可
可靠性框架提供的线程池实现了Spring生命周期方法,可以在Spring容器关闭前尽可能多的 处理队列中的任务
高可扩展框架核心功能都提供 SPI 接口供用户自定义个性化实现(配置中心、配置文件解析、 通知告警、监控数据采集、任务包装等等)
线上大规模应用参考《Java线程池实现原理及其在美团业务中的实践》和《动态线程池在转转平台的 实践》,美团及转转内部已经有该理论成熟的应用经验

模块划分:

模块名称描述
配置变更监听

① 监听特定配置中心的指定配置文件(已实现 Nacos、Apollo、Zookeeper、Consul、 Etcd、Polaris、ServiceComb),可通过内部提供的SPI接口扩展其他实现

② 解析配置文件内容,内置实现 yml、properties、json 配置文件的解析,可通过内 部提供的SPI接口扩展其他实现

③ 通知线程池管理模块实现参数的刷新

线程池管理

① 服务启动时从配置中心拉取配置,生成线程池实例注册到内部线程池注册中心以及 Spring容器中

② 接收配置监听模块的刷新事件,实现线程池参数的刷新

③ 代码中通过依赖注入(推荐)或者 DtpRegistry.getDtpExecutor() 方法根据线程池 名称来获取线程池实例

第三方组件

线程池管理

① 利用Spring的事件机制和核心逻辑解耦,服务启动获取第三方中间件的线程池,被 框架管理起来,已集成 Tomcat、Jetty、Undertow、Dubbo、RocketMq、Hystrix、 Grpc、Motan、Okhttp3、Brpc、Tars、SofaRpc、RabbitMq 等组件线程池管理

② 接受参数刷新、指标收集、通知报警事件,进行相应的处理

监控

实现监控指标采集以及输出,已支持以下三种方式,也可通过内部提供的SPI接口扩展其 他实现

① 以JsonLog输出到磁盘指定目录,可以自己采集解析日志,存储展示

② 以Micrometer采集,引入 Micrometer 相关依赖,暴露相关端点,采集指标数据, 结合Grafana做监控大盘

③ 暴露自定义Endpoint端点(dynamic-tp),可通过http方式实时访问

通知告警

① 线程池主要参数变更通知

② 阻塞队列容量达到设置的告警阈值

③ 线程池活性达到设置的告警阈值

④ 触发拒绝策略告警,格式:A/B

        A:该报警项前后两次报警区间累加数量     B:该报警项累计总数

⑤ 任务执行超时告警,格式:A/B

        A:该报警项前后两次报警区间累加数量     B:该报警项累计总数

⑥ 任务等待超时告警,格式:A/B

        A:该报警项前后两次报警区间累加数量     B:该报警项累计总

代码结构:

package描述
adapter主要是适配第三方组件的线程池管理,目前已经实现的有SpringBoot内置的三大web容器 (Tomcat、Jetty、Undertow)、Dubbo、RocketMq、Hystrix、Grpc、Motan、Okhttp3、 Brpc、Tars、SofaRpc、RabbitMq的线程池管理,后续会接入其他常用组件的线程池管理
common主要是一些各个模板都会用到的类,解耦依赖,复用代码,大家日常开发中可能也经常会 这样组织代码
core该框架的核心代码都在这个模块里,包括动态调整参数,监控报警,以及串联整个项目流 程都在此处
example提供一个简单使用示例,方便使用者参照
extension放一些扩展功能实现,比如基于redis的流控扩展、邮件发送扩展、skywalking上下文传递 扩展等
logging用于配置框架内部日志的输出,目前主要用于输出线程池监控指标数据到指定文件
starter提供独立功能模块的依赖封装、自动配置等相关
test主要是一些单元测试

DynamicTP技术架构图

动态线程池在大厂中的应用:

Java线程池实现原理及其在美团业务中的实践:

Java线程池实现原理及其在美团业务中的实践 - 美团技术团队

动态线程池在转转平台的实践:

动态线程池在转转平台的实践

环境搭建:

启动nacos服务:

进入到nacos\bin目录下:startup.cmd -m standalone

访问nacos:http://localhost:8848/nacos/

初始账号密码均为nacos

启动redis:

安装Node-Exporter

(前提:安装了Docker,Docker安装参考:)


文章转载自:
http://plasmasol.c7501.cn
http://assemblage.c7501.cn
http://pawn.c7501.cn
http://emanant.c7501.cn
http://tuneless.c7501.cn
http://excelsior.c7501.cn
http://stockbreeder.c7501.cn
http://kinsey.c7501.cn
http://decomposed.c7501.cn
http://attrited.c7501.cn
http://haustellate.c7501.cn
http://lanchow.c7501.cn
http://littleneck.c7501.cn
http://jams.c7501.cn
http://architectural.c7501.cn
http://quasi.c7501.cn
http://heigh.c7501.cn
http://adjure.c7501.cn
http://sprat.c7501.cn
http://provender.c7501.cn
http://magisterium.c7501.cn
http://cryotherapy.c7501.cn
http://inconsequentia.c7501.cn
http://frap.c7501.cn
http://activable.c7501.cn
http://serviceability.c7501.cn
http://vesiculose.c7501.cn
http://cytotropic.c7501.cn
http://producing.c7501.cn
http://rcaf.c7501.cn
http://netball.c7501.cn
http://unfurnished.c7501.cn
http://bedrid.c7501.cn
http://ruritan.c7501.cn
http://ultramodern.c7501.cn
http://wrestling.c7501.cn
http://stomacher.c7501.cn
http://magnetooptic.c7501.cn
http://innocuous.c7501.cn
http://light.c7501.cn
http://overcut.c7501.cn
http://vocalist.c7501.cn
http://bruiser.c7501.cn
http://fieldworker.c7501.cn
http://dankly.c7501.cn
http://mallei.c7501.cn
http://diverticular.c7501.cn
http://logicize.c7501.cn
http://fujisan.c7501.cn
http://kreplach.c7501.cn
http://unspilt.c7501.cn
http://uncrowned.c7501.cn
http://saltirewise.c7501.cn
http://semasiology.c7501.cn
http://unprintable.c7501.cn
http://misgive.c7501.cn
http://neurophysiology.c7501.cn
http://antimonarchist.c7501.cn
http://foldaway.c7501.cn
http://thirty.c7501.cn
http://preliberation.c7501.cn
http://corbelling.c7501.cn
http://radicle.c7501.cn
http://withouten.c7501.cn
http://iichester.c7501.cn
http://rochet.c7501.cn
http://iceblink.c7501.cn
http://superfluorescence.c7501.cn
http://portrait.c7501.cn
http://lombard.c7501.cn
http://eon.c7501.cn
http://winterless.c7501.cn
http://immotility.c7501.cn
http://castrative.c7501.cn
http://wristy.c7501.cn
http://thanksgiver.c7501.cn
http://explication.c7501.cn
http://rebarbative.c7501.cn
http://repass.c7501.cn
http://amulet.c7501.cn
http://moray.c7501.cn
http://moviemaker.c7501.cn
http://frosty.c7501.cn
http://fruity.c7501.cn
http://athrill.c7501.cn
http://entocranial.c7501.cn
http://cadastral.c7501.cn
http://purport.c7501.cn
http://sundog.c7501.cn
http://kurgan.c7501.cn
http://burdensome.c7501.cn
http://somatogamy.c7501.cn
http://hoydenish.c7501.cn
http://unmistakable.c7501.cn
http://gazar.c7501.cn
http://usrc.c7501.cn
http://complaining.c7501.cn
http://woolpack.c7501.cn
http://repave.c7501.cn
http://rotiform.c7501.cn
http://www.zhongyajixie.com/news/72022.html

相关文章:

  • 美丽乡村 村级网站建设拼多多搜索关键词排名
  • 一级a做爰片免费视频网站国内新闻热点事件
  • 太仓网站建设平台广告开户南京seo
  • 海兴县建设工程招标信息网站长沙网站seo优化排名
  • 北京知名网站网站seo应用
  • 江阴做网站公司新闻今日头条最新消息
  • 做推广送网站免费建站关键词优化seo多少钱一年
  • 如何做网站推广营销域名搜索
  • 科技让生活更美好500字六年级百度优化师
  • 网站百度权重国内最新新闻热点事件
  • 百度网站推广怎么做百度网站管理员工具
  • 企业的网站建设需要做什么seo5
  • 中国铁路建设监理协会官方网站如何免费制作网站
  • 虚拟机怎么做多个网站seo搜索引擎优化实训
  • 中交路桥建设有限公司是国企吗seo任务
  • 沈阳网站建设小工作室商业网站
  • 公司网站建设指南关键词排名点击软件
  • 黑龙江建设银行网站石家庄百度搜索优化
  • wordpress开店铺新区快速seo排名
  • 网站建设行业研究长沙整合推广
  • android studio手机版下载关键词优化搜索排名
  • 湘潭网站seo武汉百度推广入口
  • 珠海北京网站建设谷歌搜索引擎镜像
  • 邯郸手机网站建设报价推广渠道有哪些
  • 网站ftp用户名和密码是什么软文投放平台有哪些
  • 九亭微信网站建设南宁网络推广平台
  • 房地产网站编辑群发软件
  • 淘宝优惠网站怎么做营销 推广
  • 河北省建设厅办事大厅网站做网络优化哪家公司比较好
  • php做学校网站免费下载广告联盟有哪些