点击上方“芋道源码”,选择“置顶公众号”
技术文章第一时间送达!
源码精品专栏
Dubbo与Apache Skywalking(Incubator)
Skywalking监控截图:
Apache Skywalking(Incubator) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统。Apache Skywalking(Incubator)通过加载探针的方式收集应用调用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。
目前Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。
Dubbo实例程序已上传到Github仓库中。方便大家下载使用。
服务接口:
package org.apache.skywalking.demo.interfaces;public interface HelloService { String sayHello(String name);}
package org.apache.skywalking.demo.provider;@Service(version = "${demo.service.version}", application = "${dubbo.application.id}", protocol = "${dubbo.protocol.id}", registry = "${dubbo.registry.id}", timeout = 60000)public class HelloServiceImpl implements HelloService { public String sayHello(String name) { LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1)); return "Hello, " + name; }}
package org.apache.skywalking.demo.consumer;@RestControllerpublic class ConsumerController { private static int COUNT = 0; @Reference(version = "${demo.service.version}", application = "${dubbo.application.id}", url = "dubbo://localhost:20880", timeout = 60000) private HelloService helloService; @GetMapping("/sayHello/{name}") public String sayHello(@PathVariable(name = "name") String name) { if ((COUNT++) % 3 == 0){ throw new RuntimeException(); } LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(2)); return helloService.sayHello(name); }}
Apache Skywalking(Incubator)共提供两种部署模式:单节点模式和集群模式,以下为单节点模式部署步骤,集群模式部署详情参考文档。
cluster.name
设置成CollectorDBCluster
。此名称需要和collector配置文件一致。network.host
值,将network.host
的值修改成0.0.0.0
。bin/startup.sh
命令即可启动Skywalking Collector在启动示例程序之前,执行编译打包的命令:
./mvnw clean package
java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-provider -Dskywalking.collector.servers=localhost:10800 dubbo-provider/target/dubbo-provider.jar
java -jar -javaagent:$AGENT_PATH/skywalking-agent.jar -Dskywalking.agent.application_code=dubbo-consumer -Dskywalking.collector.servers=localhost:10800 dubbo-consumer/target/dubbo-consumer.jar
curl http://localhost:8080/sayHello/test
/admin-guide/images/skywalking-dashboard.png
/admin-guide/images/skywalking-topology.png
/admin-guide/images/skywalking-application.png
JVM信息
/admin-guide/images/skywalking-application_instance.png
服务消费端:
/admin-guide/images/skywalking-service-consumer.png
服务提供端:
/admin-guide/images/skywalking-service-provider.png
/admin-guide/images/skywalking-trace.png
Span信息:
/admin-guide/images/skywalking-span-Info.png
/admin-guide/images/skywalking-alarm.png
欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:
已在知识星球更新源码解析如下:
目前在知识星球更新了《Dubbo 源码解析》目录如下:
01. 调试环境搭建
02. 项目结构一览
03. 配置 Configuration
04. 核心流程一览
05. 拓展机制 SPI
06. 线程池
07. 服务暴露 Export
08. 服务引用 Refer
09. 注册中心 Registry
10. 动态编译 Compile
11. 动态代理 Proxy
12. 服务调用 Invoke
13. 调用特性
14. 过滤器 Filter
15. NIO 服务器
16. P2P 服务器
17. HTTP 服务器
18. 序列化 Serialization
19. 集群容错 Cluster
20. 优雅停机
21. 日志适配
22. 状态检查
23. 监控中心 Monitor
24. 管理中心 Admin
25. 运维命令 QOS
26. 链路追踪 Tracing
... 一共 69+ 篇
目前在知识星球更新了《Netty 源码解析》目录如下:
01. 调试环境搭建
02. NIO 基础
03. Netty 简介
04. 启动 Bootstrap
05. 事件轮询 EventLoop
06. 通道管道 ChannelPipeline
07. 通道 Channel
08. 字节缓冲区 ByteBuf
09. 通道处理器 ChannelHandler
10. 编解码 Codec
11. 工具类 Util
... 一共 61+ 篇
目前在知识星球更新了《数据库实体设计》目录如下:
01. 商品模块
02. 交易模块
03. 营销模块
04. 公用模块
... 一共 17+ 篇
目前在知识星球更新了《Spring 源码解析》目录如下:
01. 调试环境搭建
02. IoC Resource 定位
03. IoC BeanDefinition 载入
04. IoC BeanDefinition 注册
05. IoC Bean 获取
06. IoC Bean 生命周期
... 一共 35+ 篇
目前在知识星球更新了《Spring MVC 源码解析》目录如下:
01. Spring MVC 面试题
02. Spring MVC 学习指南
03. 调试环境搭建
04. 容器的初始化
05. 组件一览
06. 请求处理一览
07. HandlerMapping 组件
08. HandlerAdapter 组件
09. HandlerExceptionResolver 组件
10. RequestToViewNameTranslator 组件
11. LocaleResolver 组件
12. ThemeResolver 组件
13. ViewResolver 组件
14. MultipartResolver 组件
15. FlashMapManager 组件
... 一共 24+ 篇
目前在知识星球更新了《MyBatis 源码解析》目录如下:
01. 调试环境搭建
02. 项目结构一览
03. MyBatis 面试题合集
04. MyBatis 学习资料合集
05. MyBatis 初始化
06. SQL 初始化
07. SQL 执行
08. 插件体系
09. Spring 集成
... 一共 34+ 篇
源码不易↓↓↓↓↓
*点赞支持老艿艿↓↓*
Original url: Access
Created at: 2020-05-12 16:05:51
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
最新评论