持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
1.写在前面
对于目前,java
的开发路线过程中,微服务
的架构,变得很重要了!!!
就好像会说你连微服务
都没有学习过,就变得很low了。
这个目前来说,确实是如此了。几年前,刚出来懂ssm
,基本上就够了。
随着技术的不断发展,很多公司,都更新了一些框架技术,所以要求会越来越高了。
- 既然这样,我们在使用微服务的过程中,会存在这样的问题:
1.模块划分,可能会比较细,模块之间的调用,可能会比较复杂。
2.随着模块的调用变得复杂,例如:A-->B-->C,这过程,可能会出错。
3.服务调用链,出错,都比较难排查。因为不知道是哪一段,出现了错误。
基于上面的问题,我们的微服务体系,应该要引入一个链路追踪
的功能。
链路追踪
,就是说我们需要记录整个服务调用链的日志信息,这样方便我们排查。
这样,我们就能知道是哪一步出现了错误。
链路追踪
的技术有哪些:
1.sleuth+zipkin
2.skywalking
...
那我们今天就来讲讲skywalking
吧!!!
2.skywalking介绍
Skywalking提供分布式追踪
、服务网格遥测分析
、度量聚合
和可视化
一体化解决方案;
Skywalking是国人
采用Java
开发的,现在已经是apache
下的一个等级项目;
- 主要功能特性
1、多种监控手段;支持多种语言;
2、轻量高效,无需大数据平台和大量的服务器资源;
3、模块化,优秀的可视化UI、存储、集群管理都有多种机制可选;
4、代码无侵入式,业务系统,依赖,代码,配置,都无需编写。
3.skywalking使用
3.1.skywalking官网下载地址:
这里,咋们选择 8.9.1版本的SkyWalking APM
这个包含了,
skywalking
的服务端
,和web ui可视化端
的服务
3.2.解压apache-skywalking-apm-8.9.1.tar.gz
3.3.直接运行apache-skywalking-apm-bin\bin下面的startup.bat(会启动两个:webapp、collector(oap))
3.4.http://localhost:8080即是skywalking的客户端页面
3.5.修改skywalking ui的8080端口,apache-skywalking-apm-bin\webapp下面的webapp.yml文件即可。
server:
port: 8080
collector:
path: /graphql
ribbon:
ReadTimeout: 10000
# Point to all backend's restHost:restPort, split by ,
listOfServers: 127.0.0.1:12800
复制代码
3.6.修改skywalking oap的11800、12800端口,apache-skywalking-apm-bin\config下面的application.yml
gRPCPort: ${SW_CORE_GRPC_PORT:11800}
restPort: ${SW_CORE_REST_PORT:12800}
复制代码
3.7.skywalking agent接入:
这里,因为我们是
java
开发的,所以我们选择java agent
下载。
其他的开发语言,选择对应的agent
即可。
agent的作用,是帮我拦截收集java进程,微服务的日志,然后传输给
skywalking
服务器进行记录。
- 开发:idea中的 edit configurations 中 的 vm options添加
-javaagent:绝对路径\apache-skywalking-java-agent-8.8.0\skywalking-agent\skywalking-agent.jar
-Dskywalking.agent.service_name=微服务名称
-Dskywalking.collector.backend_service=localhost:11800
复制代码
这样,skywalking
就可以帮我们收集到微服务
的日志了。
那,这么好用的东西,赶紧用起来吧!!!
好了,今天就先到这里了,溜了溜了溜了!!!^_^
觉得有收获的,帮忙点赞、评论、收藏
一下呗!!!