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

白云品牌型网站建设在网上做国际快递淘宝网站

白云品牌型网站建设,在网上做国际快递淘宝网站,2022昆明今天刚刚发生的新闻,外网网站有什么好的推荐关于Zipkin Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System)#xff0c;能够收集服务间调用的时序数据#xff0c;提供调用链路的追踪。Zipkin每一个调用链路通过一个trace id来串联起来#xff0c;通过trace id#xff0c;就能够直接定位到这次调…关于Zipkin Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System)能够收集服务间调用的时序数据提供调用链路的追踪。Zipkin每一个调用链路通过一个trace id来串联起来通过trace id就能够直接定位到这次调用链路并且可以根据服务名、标签、响应时间等进行查询找出哪些耗时比较长的链路节点。 当用户发起一次调用时Zipkin的客户端(Brave)会在入口处为整条调用链路生成一个全局唯一的trace id 一个trace id代表一个完整的调用链。一个trace内部包含多个span。 Zipkin为一条链路中的每一次分布式调用生成一个span id。一个trace由一组span组成一个trace中的所有span是一个树形结构树的根节点叫做root span。除root span外其他span都会包含一个parent Id表示父级span的span Id。 每个span中包含多个Annotation用来记录关键事件的时间点。 ZipKin 可以分为两部分 ZipKin Server 用来作为数据的采集存储、数据分析与展示ZipKin Client 基于不同的语言及框架封装的一些列客户端工具这些工具完成了追踪数据的生成与上报功能。 ZipKin Server Zipkin支持的存储类型有inMemory(默认)、MySQL、Cassandra、以及ElasticsSearch几种方式正式环境推荐使用Cassandra和ElasticSearch。 要使用ZipKin Server非常简单通过https://repo1.maven.org/maven2/io/zipkin/zipkin-server/下载zipkin-server-x.xx-exec.jar文件然后执行即可: # java -jar zipkin-server-3.4.2-exec.jar ... 2024-11-08T11:15:47.48408:00 INFO [/] 2450 --- [oss-http-*:9411] c.l.a.s.Server : Serving HTTP at /[0:0:0:0:0:0:0:0]:9411 - http://127.0.0.1:9411/说明: 如果不指定参数zipkin server不存储跟踪数据(inMemory) , 可以通过--STORAGE_TYPE参数指定支持的持久化存储。ZipKin Client Brave是ZipKin客户端的库文件在我们编写的代码中使用用于将我们的埋点信息上报到Zipkin服务器端通常框架会整合Brave。 vertx-zipkin Vert.x通过Zipkin Brave整合了Zipkin提供了一个开箱即用的组件vertx-zipkin可以让我们轻松的使用Zipkin跟踪Vertx编写的服务的调用。 首先需要添相关依赖添: dependencygroupIdio.vertx/groupIdartifactIdvertx-zipkin/artifactIdversion4.5.10/version /dependency使用vertx-zipkin非常简单只要为Vertx实例指定相应的zipkin跟踪配置(ZipkinTracingOptions)即可 import io.vertx.core.Vertx; import io.vertx.core.VertxOptions; import io.vertx.core.http.HttpMethod; import io.vertx.core.http.HttpServer; import io.vertx.core.http.HttpServerResponse; import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; import io.vertx.ext.web.Router; import io.vertx.mysqlclient.MySQLBuilder; import io.vertx.mysqlclient.MySQLConnectOptions; import io.vertx.sqlclient.PoolOptions; import io.vertx.sqlclient.Row; import io.vertx.sqlclient.SqlClient; import io.vertx.sqlclient.Tuple; import io.vertx.tracing.zipkin.HttpSenderOptions; import io.vertx.tracing.zipkin.ZipkinTracingOptions;public class API01 {public static void main(String[] args) {String senderEndpoint http://172.18.240.73:9411/api/v2/spans; // zipkin serverVertx vertx Vertx.vertx(new VertxOptions().setTracingOptions(new ZipkinTracingOptions().setSenderOptions(new HttpSenderOptions().setSenderEndpoint(senderEndpoint)).setServiceName(API01))); // 必须指定唯一的服务名MySQLConnectOptions connectOptions new MySQLConnectOptions().setHost(127.0.0.1).setPort(3306).setUser(root).setPassword(Passw0rd).setDatabase(hr).setConnectTimeout(2000).addProperty(autoReconnect, true).addProperty(useSSL,false).addProperty(rewriteBatchedStatements, true);PoolOptions poolOptions new PoolOptions().setMaxSize(5);SqlClient client MySQLBuilder.client().using(vertx).with(poolOptions).connectingTo(connectOptions).build();HttpServer server vertx.createHttpServer();Router router Router.router(vertx);router.route(HttpMethod.GET, /api/v2/api01/:empNo).handler(routingContext -{String en routingContext.pathParam(empNo);int empNo 0;try {empNo Integer.parseInt(en);} catch(Exception e) {}String sqlText select empno, ename, job from emp where empno ?;client.preparedQuery(sqlText).execute(Tuple.of(empNo)).onSuccess(rows - {JsonArray result new JsonArray();for (Row row : rows) {JsonObject json row.toJson();result.add(json);}HttpServerResponse response routingContext.response();response.putHeader(content-type, application/json);response.end(result.toString());}).onFailure(exception - {routingContext.fail(exception);});});server.requestHandler(router).listen(8001);} }启动并调用我们编写的接口即可在zipkin服务端跟踪我们的调用信息。 访问zipkin服务器http://172.18.240.73:9411/zipkin/“点击Find a trace” - 点红色的“号图标指定serviceName”然后点击RUN QUERY按钮进行查询。 可以看到本次api01调用耗时5.583ms其中数据库耗时3.407ms。没有其它分布式调用。 设计一个复杂的案例假设有一个接口api04在api04中分别调用api03和api02接口而在api02中又调用api01接口。调用http://127.0.0.1:8004/api/v2/api04 来看看zipkin跟踪效果: 是不是很酷整个调用链都清晰的显示出来可以非常直观的看到api04的耗时包括其内部分布式子调用的顺序和耗时而我们要做的仅仅是添加几行zipkin配置代码。完整案例代码见文章顶部。
http://www.w-s-a.com/news/129031/

相关文章:

  • 无锡网站建设方式推广软件赚钱的app
  • 如何控制一个网站软件开发wordpress教育插件
  • 网站开发属于软件开发类吗wordpress邮件失败
  • 凡科网站怎么设计win8网站模板
  • 深圳整站seo个人网站建设一般流程
  • 济南网站中企动力wordpress主题ripro
  • 淮北网站建设求职简历怎么做点击图片进网站
  • 自适应网站推广注册公司流程和费用公司注册
  • 电子商务网站建设预算表网站建设卩金手指科杰
  • 广西响应式网站哪家好产品网络推广怎样做
  • 移动网可以上的网站是什么样子的淘宝优惠券网站开发
  • wordpress php设置伊宁seo网站建设
  • 兰陵住房建设局网站wordpress中文标题
  • 福州搜索优化网站个人网页网站制作模板
  • 网站开发分哪几个步骤使用wordpress开发一个页面跳转
  • 网站制作后还能更改么wordpress 近期文章 代码
  • 做一个小网站需要多少钱wordpress集成paypal
  • 加强网站建设管理 及时更新自己设计装修的app
  • 集团网站设计案例网页制作网站开发
  • 怎么优化网站的单个关键词排名惠州品牌网站建设
  • 上海跨境电商网站制作wordpress弃用react
  • phpcms网站模版下载电商网站建设属于研发费用吗
  • 动画毕业设计代做网站高校门户网站建设需要多少钱
  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站
  • 浙江省专业网站制作网站建设网站设计及内容策划
  • 浙江门户网站建设公司做网站上哪买空间
  • 郑州网站怎么推广贵阳市网站建设