优化的解决方案:Sleuth+zipkin, 链路追踪SpringCloud微服务
优采云 发布时间: 2022-10-07 19:08优化的解决方案:Sleuth+zipkin, 链路追踪SpringCloud微服务
为了实现请求链路跟踪,当一个请求被发送到分布式系统的入口时,只需要在服务跟踪框架中为该请求创建一个唯一的跟踪标识,并保证该标识在分布式系统内循环直到请求返回。标识为traceId,通过它可以串联不同服务调用的日志。总之,在整个 Http 调用(FeignClient 或 RestTemplate)中,我们可以识别出一条 TraceId 记录,并在 Http Request 过程中,将 TraceID 传递给提供服务的服务器,而提供服务的服务器在 Reuqest 中同理,将整个 TraceId 传递给他的服务提供者,这样整个自上而下的调用链路都具有相同的 TraceId,每个链路中服务的日志通过 TraceId 进行分组。并且,这样就得到了一个不同TraceId的调用链路,这就是链路跟踪的主要原理。还有一个国产产品,Skywalking,已经成为Apache的顶级开源项目。具体实现与Sleuth不同,但使用的原理是一样的。
MDC(映射诊断上下文)
通过上面的方法,我们就有了链路跟踪的实现方法。MDC((映射的诊断上下文))转换为映射的诊断上下文。含义:在日志(映射)的请求ID(requestId)中,可以作为关键字(context)供我们定位(诊断)问题。这不是一个新产品。MDC类的基本原理其实很简单。它在内部拥有一个 ThreadLocal 实例以保存上下文数据。MDC提供了put/get/clear等几个核心接口,用于在Data中操作ThreadLocal;ThreadLocal中的KV可以在logback.xml中声明,即通过在layout中声明%X{Key},在日志中打印MDC中保存的这个key对应的值。MDC的具体信息可以单独去百度的文章关于MDC,Http链接跟踪traceId是一个标识符,即,
侦探
sleuth 在 SpringCloud 分布式系统中提供了跟踪解决方案。通过Sleuth可以记录链接跟踪的相关信息,并将相关链接调用信息发送到指定的统计终端和显示终端,如Zipkin
Spring Cloud Sleuth关键词(基于 Google Dapper)
齐金
Zipkin 是 Twitter 的一个开源项目,基于 Google Dapper。可用于采集各服务器上请求链接的trace数据,并通过其提供的REST API接口辅助我们查询trace数据,实现分布式系统的监控程序,及时发现增量分析系统延迟问题并找出系统性能瓶颈的根源。除了面向开发的API接口外,还提供了便捷的UI组件,帮助我们直观地搜索跟踪信息,分析请求链接详情,例如查询某段时间内每个用户请求的处理时间。
简而言之,Zipkin采集 sleuth sleuth 在客户端并提供了一个可视化的界面进行查询展示。
Docker 启动 Zipkin
docker run -d -p 9411:9411 openzipkin/zipkin
访问 Zipkin 的图形页面
点击一个请求后,你会看到详细的调用链请求信息:
SpringCloud 使用 Sleuth
在 SpringCloud 项目中使用 Sleuth 进行链接跟踪非常方便。您只需要将 Sleuth 的 Starter 映射到项目中。如果需要将 Sleuth 的 采集 链接跟踪的信息推送到 Zipkin,那么引入 Zipkin 的 Starter。并配置Zipkin Server的服务地址。
引入相关依赖包并开始
org.springframework.cloud
spring-cloud-sleuth-zipkin
org.springframework.cloud
spring-cloud-starter-sleuth
上面的 pom.xml 文件添加了对 Sleuth 的 starter 和 Zipkin 的支持。FeignClient 和 RestTemplate 会被 Sleuth 记录在 SpringCloud 的微服务的 Restful 调用中,并发送到 Zipkin 的服务地址。
配置Zipkin的服务地址
spring:
zipkin:
base-url: http://localhost:9411/
sender:
type: web
sleuth:
sampler:
#抽样百分比,默认10%的数据发到zipkin,1为100%
probability: 1
通过以上方法,在我们的SpringCloud微服务云系统中,我们的每一个微服务云服务调用都会进入调用trace的trace范围,然后通过Zipkin提供的图形展示工具,可以一目了然的知道链接追踪我们每一次服务调用的情况,通过链路跟踪解决方案,当整个请求变慢或者不可用的时候,我们可以知道这个请求是由一个或者一些后端服务引起的 是的,快读定位服务故障点并规定对的药。
使用MQ推送信息
通过上述方法,每个微服务的调用跟踪都会向 Zipkin Server 发送一个 Http 请求。当内网阻塞时,可能会导致主要业务调用的阻塞,从而导致更严重的后果,所以这个时候我们可以考虑使用 Stream 或者使用 MQ 来异步处理来自 Sleuth 的请求;
我们的 SpringCloud 微服务器只需要引入一个支持 Stream 和 MQ 的 starter
org.springframework.cloud
spring-cloud-sleuth-zipkin-stream
org.springframework.cloud
spring-cloud-starter-stream-rabbit
org.springframework.cloud
spring-cloud-starter-sleuth
Zipkin Server 的配置也相应调整;
Zipkin 高级使用持久性
Zipkin默认将Sleuth的日志信息保存在内存中,所以每次重启Zipkin都会丢失之前的日志信息。您可以修改 Zipkin 的配置以允许 Zipkin Server 将所有日志持久化到数据库中。关于持久化以及 Zipkin 支持 MQ 的方式,我们以后会介绍文章。
结束语
每次服务调用的链路跟踪情况,通过链路跟踪的解决方案,当整个请求变慢或不可用时,我们可以知道该请求是由一个或部分后端服务引起的,快速阅读定位服务故障点并规定对的药。本文主要介绍通过Sleuth+Zipking实现SpringCloud的微服务云链路追踪。文章中我们提到了Zipkin的MQ接收sleuth日志信息以及日志信息持久化的使用。我们以后会讨论in文章,我们以后会在特别的文章中单独介绍Skywalking。也希望大家继续关注作者的每一个文章,关注作者,不要错过精彩。
感谢您一直以来的关注。
干货教程:wordpress网站搭建教程详细-覆盖SEO方案搭建
WordPress网站搭建教程详解-涵盖SEO方案搭建
搜索引擎优化研究所
2022-03-08 19:43
搭建wordpress网站的详细流程: 1. 购买域名 2. 购买云服务器 3. 申请备案 4. 域名解析 5. 安装控制面板 6. 安装Wordpress 7. 设置Wordpress
只需安装此步骤即可获得完整的 WordPress网站 设置。网站的构建是一项技术任务,但是网站的构建完成后,并不代表以后就不需要管理了。网站的维护和优化也很重要。而且不代表知道代码就可以随意构建网站。很多人对网站的构建知之甚少,构建的网站会被搜索引擎网站识别为垃圾邮件。如何优化构造网站的结构?我们需要知道内容为王。网站的优化分为很多不同的方面,包括网站结构的优化,内部链接的优化,
打开网易新闻查看精彩图片
一、页面导航的优化
每个网站都需要设置一个导航,就是让用户可以方便快捷的找到自己想要访问的页面和内容。如果你把网站的页面设置的很复杂,即使很炫,别人也找不到自己要找的,那么你建的网站就是失败网站,因为用户感觉不好,下次不会再浏览这个页面了。因为现在互联网发展非常迅速,没有人会非常耐心地在一个页面上浏览和搜索。如果找不到你的网站,他会立即关闭页面,进入别人的网站,寻找自己想要的。. 所以导航的设置不能太深,这样会迷路,也会流失很多客户。
二、页面结构的概括
页面结构的概括,简单来说就是页面应该满足大部分用户的访问需求。我们在构建网站时,需要从不同的角度考虑用户访问页面时的需求和目标。在此基础上,我们在考虑网站是否漂亮,给用户留下什么样的印象?,是否会让用户想再次访问,尤其是对于一些团购网站,更要注意网站内页的优化。
三、内链结构的优势
内链的作用是让整个网站的内容连贯起来。其实做内链很简单。不要将所有链接都指向主页或某个页面。应该是在不同的页面上添加不同的内部链接,这样可以引导用户进入相关的网页,了解更多的内容。而内链的合理优化对提升网站的权重有很大的作用。
4. 网站快速收录
打开网易新闻查看精彩图片
网站 更新得越频繁,搜索引擎蜘蛛就会越频繁地出现。因此,我们可以使用wordpress采集实现采集伪原创自动发布和主动推送到搜索引擎,提高搜索引擎的抓取频率,从而提高网站收录 和 关键词 排名。
1. 免费的wordpress插件
免费的 wordpress采集 插件功能:
1、只需将关键词导入到采集相关的关键词文章,同时创建几十个或几百个采集任务(一个任务可以支持上传1000个) 关键词),支持过滤关键词。
2. 支持多消息源:问答和各种消息源(可同时设置多个采集消息源采集/采集消息源稍后添加)
打开网易新闻查看精彩图片
3.过滤其他促销信息
4. 图片定位/图片水印/图片第三方存储
5.文章互通+翻译(简体中文繁体翻译+百度翻译+有道翻译+谷歌翻译+147翻译)
6.自动批量挂机采集,与各大cms发布者无缝对接,采集后自动发布——实现采集发布全自动挂机。
2.跨平台发布插件
全平台cms发布者的特点:
1、cms发布:目前市面上唯一支持Empirecms、易友、ZBLOG、dedecms、WordPress、PBoot、Applecms、迅锐cms、PHPcms、Applecms、人人网cms、美图cms、云游cms、Cyclone站群、THINKCMF、建站ABC 、凡客cms、一骑cms、Oceancms、飞飞cms、Local Release、搜外等各大cms,以及一个工具可同时管理和批量发布
2.全网推送(百度/360/搜狗/神马)
打开网易新闻查看精彩图片
3. 伪原创(标题+内容)
4.更换图片,防止侵权
5. 强大的SEO功能(自动图片放置/插入内外链接/标题和文章前后插入内容/标题关键词与内容一致关键词/随机插入图片/添加随机属性的页面原创degree)
6.对应栏目:对应文章可以发布对应栏目/支持多栏目发布
7、定时发布:可控发布间隔/每天发布总数
8、监控数据:直接监控已经发布、待发布的软件,是否为伪原创、发布状态、网站、程序、发布时间等。
打开网易新闻查看精彩图片
在网站的构建之初,需要布局大量的seo元素。一个好的公司网站应该有seo相关的元素,可以帮助后续的优化。网站 基础越强,后期工作量越小。
1.企业网站优化:URL唯一性
确定网站的主题内容后,应该以网页的形式呈现给用户。一个网页对应一个唯一的URL地址,无论你的网站是重新设计开发的,还是开源程序构建的,在新的网站上线之前,都必须保证每一个的唯一性网站 中的页面 URL 地址,它是 seo 元素之一。
2.企业网站优化:明确主题,聚合资源
任何 网站 都需要有目的地构建。网站建设之初,就已经建立了竞争对手分析、差异化内容定位和用户定位,所以整个网站的内容体系建设只需要围绕这个确定的主题进行。
主题明确网站的公司主要有以下好处:
1、主题明确,更容易宣传自己的优势资源,强调一个领域的权威;
2、网站内容方向不变,可以聚集优质粉丝群。粉丝的交流能量这里不用我多写了;
3、对于搜索引擎来说,随着语义分析能力的增强,前期有明确的网站主题更容易获得搜索引擎的信任。对于一个新站点,索引时间可以缩短,即使是一个很小的影响因子,你没有理由不实施。
3.企业网站优化:内部链结构规划
当一个新的 网站 启动时,页面的数量并不大。从网站的构建开始,就必须规划好网站的内部链结构。至于构建合理的内部链结构,网络将有足够多的相关文章策略。这里要强调的是,前期规划好内链布局,对网站的扩展性和蜘蛛的爬取效率有很大帮助,尤其是对于一个新的网站,一个合理的内链结构可以大大减少网站页面的收录时间。
4.企业网站优化:目录结构标准设计
虽然说搜索引擎可以很轻松的抓取动态链接地址,但毕竟官方规范中的静态URL地址对搜索引擎比较友好,所以SEO从业者在构建之初就应该注意网站 .网站的目录结构(URL结构)统一标准化,让开发者可以在网站上线前以对搜索引擎最有利的方式部署网站,这是其中之一seo 元素。
5.企业版网站优化:404页
站点中不存在或将不存在的所有页面都必须指向该页面。404页面的设置是搜索引擎友好的一种形式,所以在构建之初必须考虑到网站。是seo的要素之一。
打开网易新闻查看精彩图片
6.企业网站优化:网站地图
网站地图,顾名思义,主要是将网站的主要页面直接呈现给搜索引擎,让搜索引擎通过这张地图了解网站的页面关系。网站地图以 XML 格式和 HTML 格式提供。无论采用哪种形式,前期最好使用其中一种形式进行布局。