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

广告设计和平面设计哪个前景好给甜品网站做seo

广告设计和平面设计哪个前景好,给甜品网站做seo,网站开发 群,设计软件名称回顾 在前面的章节中#xff1a;通过阐述sentinel简单使用、滑动窗口、核心流程源码分析把sentinel限流、熔断等主要功能说明清楚了#xff0c;但我们在实际使用的过程中#xff0c;不可能通过硬编码的方式设置规则#xff0c;且规则也没法直观的维护#xff0c;为此肯定…回顾 在前面的章节中通过阐述sentinel简单使用、滑动窗口、核心流程源码分析把sentinel限流、熔断等主要功能说明清楚了但我们在实际使用的过程中不可能通过硬编码的方式设置规则且规则也没法直观的维护为此肯定是需要通过sentinel dashboard维护限流熔断规则 交互桥梁 在前面的章节中也提到过。如果在单独的springboot项目中想要和dashbaord做交互需要引入如下依赖 该依赖就是和dashbaord实现数据交互的桥梁查看该模块的代码包情况 其中重点需要关注的是  com.alibaba.csp.sentinel.transport.command.SimpleHttpCommandCenter 服务端命令接收 com.alibaba.csp.sentinel.transport.heartbeat.SimpleHttpHeartbeatSender 维护心跳 源码分析 应用端 心跳 在 SimpleHttpHeartbeatSender中有看到发送心跳的代码。但是心跳是需要一直间隔发送的此处只有发送的逻辑未见间隔发送逻辑 所以肯定有个地方调用了该sendHeartbeat方法跟踪代码发现在HeartbeatSenderInitFunc中有定时调度该方法 再详细的分析调用接口地址和uri uri 至此应用client到sentinel dashboard的心跳部分已经分析完成既 HeartbeartSenderInitFunc中定时调度HeartbeartSender#sendHeartbeat方法完成心跳功能dashbaord的ip和端口是由应用启动时-Dcsp.sentinel.dashboard.server参数指定的(具体的属性逻辑可以自己跟踪一下源码) 应用client端和dashbaord的命令交互 试想一下在dashbaord上怎么获取到对应接入的应用的限流、熔断配置规则的 在com.alibaba.csp.sentinel.transport.command.SimpleHttpCommandCenter中可以看到大量的关于网络通信的代码 从代码中可以看到CommandCentre中启动了一个本地服务器用于监听连接。同样的跟踪 com.alibaba.csp.sentinel.transport.command.SimpleHttpCommandCenter#start方法发现在 com.alibaba.csp.sentinel.transport.init.CommandCenterInitFunc#init方法完成初始化和调用同时注意到在正式调用start之前做了一些初始化操作 处理器和请求类型的映射关系 当接收到来自dashboard的http请求后会组装一个HttpEventTask交由线程池处理 最后根据请求类型分配不同的处理完成处理过程 以上是命令中心的核心逻辑。总结一下就是 com.alibaba.csp.sentinel.transport.init.CommandCenterInitFunc#init调用com.alibaba.csp.sentinel.transport.command.SimpleHttpCommandCenter#beforeStart方法完成处理器注解名称和处理器的映射列表然后启动BIO(依赖不同服务类型不同)的服务器监听 dashboard端 在应用client端有2个待处理的问题 1 应用client发送的心跳到dashbaord如何处理的 2 client启动的tpc服务器dashboard是怎么连接并发送请求到应用client端的 心跳响应 在上面的client段心跳中有提到过请求的uri是/registry/machine在dashboard的源码中查找到对应的http接口 接收到心跳信息之后是将数据存储在appManagement中 而AppManagement是MachineDiscovery的一个装饰器真正干活的是  com.alibaba.csp.sentinel.dashboard.discovery.SimpleMachineDiscovery 到这里心跳的逻辑已经梳理完成 应用client端通过HeartbeatSenderInitFunc启动定时调度任务调用SimpleHttpHeartbeatSender#sendHeartbeat 方法往dashboard的/registry/machine接口请求最终数据存储在com.alibaba.csp.sentinel.dashboard.discovery.SimpleMachineDiscovery的一个ConcurrentMap中完成数据统计dashboard请求client的规则数据 通过跟踪dashboard的页面请求规则接口/v2/flow/rules/v1/flow/rules 最终数据请求委托给了com.alibaba.csp.sentinel.dashboard.rule.FlowRuleApiProvider 而FlowRuleApiProvider最终真正获取数据是委托给了SentinelApiClient直连到对应的机器上完成规则内容获取的 一路跟踪最后来到发起http请求的入口 到此dashbaord想应用client端发送命令的过程总结一下 CommandCenterInitFunc在初始化时调用SimpleHttpCommandCenter#beforeStart方法完成处理器的初始化最终组装成一个以处理器的CommandMapping注解的name属性为key处理器为value的map对象。然后调用SimpleHttpCommandCenter#start()方法启动一个tcp服务器监听tcp请求。dashbaord在获取规则内容时通过com.alibaba.csp.sentinel.dashboard.client.SentinelApiClient向应用client端发起http请求(应用client端的ip和端口通过心跳数据获取)完成整个过程 填坑 在第一章关于sentinel的简单使用中有提到一个问题为什么应用client端已经添加依赖添加启动命令并且启动成功之后在dashboard的面板上无法看到对应的应用信息 而且在做源码分析的时候也留了个坑 在上面分析应用client端心跳时有提到HeartbeatSenderInitFunc#init方法会启动定时调度功能完成心跳注册。而Env的这段静态代码块就是实现该功能的 这里就是通过SPI机制读取配置中实现了InitFunc接口的类完成初始化任务。间接的完成HeartbeatSenderInitFunc的处理化从而往dashboard注册心跳。 而Env要运行静态代码块是在SphU#entry方法触发的。 当然如果你在启动应用时初始化一下Env类肯定也是可以和dashboard完成心跳注册的 以上就是sentinel和dashbaord完成交互的全过程。关于sentinel的集群限流和数据持久化的问题在关于sentinel运用的第五章中会完全解释。 创作不易点赞、收藏、关注
http://www.hkea.cn/news/14311428/

相关文章:

  • 学做网站学费推进网站集约化建设制度
  • 小企业网站建设有多少扬州市工程信息网
  • 网站的建设维护根据颜色找网站
  • 中国建设人才服务信息网是什么网站无锡网络推广公司哪家好
  • 忻州企业网站建设wordpress如何删主题
  • 河南省大型项目建设办公室网站百度域名注册
  • 网站app免费制作免费网站建设基础步骤
  • 上海手机网站开发价格商品房合同备案查询入口
  • 和网站开发公司如何签合同手机端页面模板
  • idea建设完整的网站xampp怎么做网站
  • 推广型网站制作公司如何做网站粘贴广告
  • 牙膏的网站建设wordpress 阅读数插件
  • 微信端网站设计规范找程序员的网站
  • 创建公司网站难吗国外精品成品网站1688
  • 国外设计素材网站wordpress文章批量
  • 摄影网站模板源码wordpress可以自己做主题
  • 网站底部悬浮广告代码专业微信网站
  • 建筑给排水代做网站网站域名如何更换
  • 网站上传安装wordpress整站源码
  • 制作网页网站项目介绍品牌产品网站怎么做
  • 做问卷调查的是哪个网站iis wordpress ftp
  • 汽车配件生产企业网站模板网站设计为什么学不好
  • 套版网站怎么做常德seo技术
  • 静态网站制作流程公司年审需要多少钱
  • 制作网站方法网站项目建设主要内容
  • wordpress 觉唯主题网站seo相关设置优化
  • 用js做的个人酷炫网站蜗牛星际做网站
  • 厦门网站制作报价河北沧州最新消息
  • 上传网站空间网站服务器备案查询
  • vs2010网站开发 视频降低生育