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

自己电脑怎么做网站山东省住房和城乡建设厅

自己电脑怎么做网站,山东省住房和城乡建设厅,装修网站怎么做的好,clh网站建设公司背景:学习微服务的时候,由于所有的依赖都是用的最新的,导致学习zipkinmicrometer实现链路追踪时项目报错。为此我重新建了一下项目,把不相关的依赖全部去掉了,用到的依赖尽量用到了最新版本 一、项目所有文件截图&…

背景:学习微服务的时候,由于所有的依赖都是用的最新的,导致学习zipkin+micrometer实现链路追踪时项目报错。为此我重新建了一下项目,把不相关的依赖全部去掉了,用到的依赖尽量用到了最新版本

一、项目所有文件截图(精简版)

二、主目录pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.study</groupId><artifactId>06.SpringCloud-zipkin-micrometer</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><modules><module>cloud-provider-payment8001</module><module>cloud-consumer-feign-order80</module></modules><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><hutool.version>5.8.37</hutool.version><lombok.version>1.18.38</lombok.version><spring.boot.version>3.2.12</spring.boot.version><spring.cloud.version>2023.0.4</spring.cloud.version><micrometer-tracing.version>1.2.0</micrometer-tracing.version><micrometer-observation.version>1.12.0</micrometer-observation.version><feign-micrometer.version>13.6</feign-micrometer.version><zipkin-reporter-brave.version>2.17.2</zipkin-reporter-brave.version></properties><dependencyManagement><dependencies><!--springboot 3.2.0--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>${spring.boot.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud 2023.0.0--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><optional>true</optional></dependency><!--micrometer-tracing-bom导入链路追踪版本中心  1--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bom</artifactId><version>${micrometer-tracing.version}</version><type>pom</type><scope>import</scope></dependency><!--micrometer-tracing指标追踪  2--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 3--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-observation 4--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId><version>${micrometer-observation.version}</version></dependency><!--feign-micrometer 5--><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId><version>${feign-micrometer.version}</version></dependency><!--zipkin-reporter-brave 6--><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId><version>${zipkin-reporter-brave.version}</version></dependency></dependencies></dependencyManagement>
</project>

三、cloud-consumer-feign-order80

1、apis文件夹下PayApi文件

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;@FeignClient(value = "cloud-payment-service")
public interface PayApi {/*** Micrometer(Sleuth)进行链路监控的例子** @param id* @return*/@GetMapping(value = "/provider/micrometer/{id}")public String myMicrometer(@PathVariable("id") Integer id);
}

2、config文件夹下RestTemplateConfig文件

import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClient;
import org.springframework.cloud.loadbalancer.core.RandomLoadBalancer;
import org.springframework.cloud.loadbalancer.core.ReactorLoadBalancer;
import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier;
import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.web.client.RestTemplate;@Configuration
@LoadBalancerClient(value = "cloud-payment-service",configuration = RestTemplateConfig.class)
public class RestTemplateConfig {@Bean@LoadBalanced //使用@LoadBalanced注解赋予RestTemplate负载均衡的能力public RestTemplate restTemplate() {return new RestTemplate();}@BeanReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}
}

3、controller文件夹下OrderMicrometerController文件

import com.study.apis.PayApi;
import jakarta.annotation.Resource;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;@RestController
public class OrderMicrometerController {@Resourceprivate PayApi payApi;@GetMapping(value = "/feign/micrometer/{id}")public String myMicrometer(@PathVariable("id") Integer id) {return payApi.myMicrometer(id);}
}

4、Main80文件

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication
@EnableDiscoveryClient //该注解用于向使用consul为注册中心时注册服务
@EnableFeignClients//启用feign客户端,定义服务+绑定接口,以声明式的方法优雅而简单的实现服务调用
public class Main80 {public static void main(String[] args) {SpringApplication.run(Main80.class, args);}
}

5、resources文件夹下application.yml文件

server:port: 80spring:application:name: cloud-consumer-openfeign-ordercloud:consul:host: localhostport: 8500discovery:prefer-ip-address: true #优先使用服务ip进行注册service-name: ${spring.application.name}heartbeat:enabled: trueopenfeign:client:config:default:#连接超时时间connectTimeout: 20000#读取超时时间readTimeout: 20000cloud-payment-service:#连接超时时间connectTimeout: 30000#读取超时时间readTimeout: 30000
# zipkin图形展现地址和采样率设置
management:zipkin:tracing:endpoint: http://localhost:9411/api/v2/spanstracing:sampling:probability: 1.0 #采样率默认为0.1(0.1就是10次只能有一次被记录下来),值越大收集越及时。

6、pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.study</groupId><artifactId>06.SpringCloud-zipkin-micrometer</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-consumer-feign-order80</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--micrometer-tracing指标追踪  1--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId></dependency><!--micrometer-observation 3--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId></dependency><!--feign-micrometer 4--><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId></dependency><!--zipkin-reporter-brave 5--><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId></dependency><!--SpringCloud consul config--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!--SpringCloud consul discovery --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><!--SpringBoot通用依赖模块--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId></dependency><!--openfeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

四、cloud-provider-payment8001

1、controller文件夹下PayMicrometerController文件

import cn.hutool.core.util.IdUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class PayMicrometerController {/*** Micrometer(Sleuth)进行链路监控的例子** @param id* @return*/@GetMapping(value = "/provider/micrometer/{id}")public String myMicrometer(@PathVariable("id") Integer id) {return "Hello, provider,欢迎到来myMicrometer inputId:  " + id + " \t    服务返回:" + IdUtil.simpleUUID();}
}

2、Main8001文件

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;@SpringBootApplication
@EnableDiscoveryClient
@RefreshScope // 动态刷新
public class Main8001 {public static void main(String[] args) {SpringApplication.run(Main8001.class, args);}
}

3、resources文件夹下application.yml文件

server:port: 8001
# zipkin图形展现地址和采样率设置
management:zipkin:tracing:endpoint: http://localhost:9411/api/v2/spanstracing:sampling:probability: 1.0 #采样率默认为0.1(0.1就是10次只能有一次被记录下来),值越大收集越及时。

4、resources文件夹下bootstrap.yml文件

spring:application:name: cloud-payment-service####Spring Cloud Consul for Service Discoverycloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}heartbeat:enabled: trueconfig:profile-separator: '-' # default value is ",",we update '-'format: YAMLwatch:wait-time: 1 # 只为教学,实际别改,默认55秒

5、pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.study</groupId><artifactId>06.SpringCloud-zipkin-micrometer</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>cloud-provider-payment8001</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--micrometer-tracing指标追踪  1--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId></dependency><!--micrometer-observation 3--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId></dependency><!--feign-micrometer 4--><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId></dependency><!--zipkin-reporter-brave 5--><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId></dependency><!--SpringCloud consul config--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!--SpringCloud consul discovery --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><!--SpringBoot通用依赖模块--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

五、启动项目

六、访问consul

http://localhost:8500

七、zipkin

1、启动zipkin

java -jar zipkin-server-3.5.1-exec.jar

2 、访问zipkin

http://127.0.0.1:9411/

八、结果

1、访问80接口

http://localhost/feign/micrometer/1

2、查询zipkin(找到一个痕迹)

http://127.0.0.1:9411/zipkin/?lookback=15m&endTs=1747734241649&limit=10

3、查询zipkin(依赖)

http://127.0.0.1:9411/zipkin/dependency?startTime=1747647960098&endTime=1747734360098

http://www.dtcms.com/wzjs/516604.html

相关文章:

  • 怎么制作网站应用产品营销方案策划书
  • 电影网站建设之苹果cms宁波seo排名优化
  • vip视频解析网站怎么做的网站建设优化400报价
  • 建网站业务如何开展seo包年优化
  • 网页做得好的网站域名批量注册查询
  • 怎么样免费做网站如何自己制作网站
  • 网站客服系统怎么添加搜狗搜索引擎推广
  • wordpress 数据库错误网站优化推广平台
  • 科技公司网站设计方案数据分析师
  • 做网站电话沧州seo排名查询软件
  • 中央广播电视总台官网优化设计电子课本下载
  • 淘宝店铺购买的服务在哪里苏州seo排名公司
  • 给个靠谱的网址裤子seo关键词
  • 重庆御临建筑公司官网googleseo推广
  • 国外app模板下载网站seo优化网
  • 搜索引擎seo优化平台百度优化seo
  • 保定电子商务网站建设aso优化费用
  • 合肥做个网站什么价格软件推广是什么工作
  • 外贸响应式网站平台推广渠道
  • 医疗网站建设怎么样重庆百度推广的代理商
  • 最便宜的网站叫什么名字信息流广告案例
  • 网站推广互联网推广凡科网站登录入口
  • 响应式网站建设特色中国搜索引擎市场份额
  • 中国政府网官网seo关键词布局技巧
  • 网站建设需要多少发布软文广告
  • 如何建设网站与域名运营商大数据精准营销获客
  • 庆阳网站制作南宁百度seo公司
  • 重庆有没有做网站的专业推广图片
  • 找个兼职做网站的沈阳网站推广优化
  • 郑州汽车网站建设哪家好全网自媒体平台