在微服务架构落地实践中,随着开发团队的扩大,业务的复杂性提高,整个系统的复杂度也会随之几何倍数增长,如果开发落地过程中出于各种原因没能严格遵守架构原则,整个系统业务调用链路会出现一些不可控的情况,需要引入一些工具检查服务依赖;同时,分布式系统中的性能问题定位分析也是非常重要的。Skywallking作为一款APM(应用性能管理)工具,从三个维度对应用进行监视:service(服务), service instance(实例), endpoint(端点)
架构图:
SkyWalling的搭建可谓是非常简单的,支持非常多的中间件的调用分析,而且对应用没有任何浸入,通过java agent的方式采集所需的数据。
docker compose脚本:
version: '3.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
container_name: skywalking-es
restart: always
ports:
- 9200:9200
- 9300:9300
environment:
discovery.type: single-node
TZ: Asia/Shanghai
volumes:
- /opt/es-data:/usr/share/elasticsearch/data
ulimits:
- soft: -1
- hard: -1
oap:
image: apache/skywalking-oap-server:8.1.0-es7
container_name: oap
restart: always
depends_on:
- elasticsearch
links:
- elasticsearch
ports:
- 11800:11800
- 12800:12800
environment:
TZ: Asia/Shanghai
ui:
image: apache/skywalking-ui:8.1.0
container_name: ui
depends_on:
- oap
links:
- oap
restart: always
ports:
- 8080:8080
environment:
collector.ribbon.listOfServers: oap:12800
security.user.admin.password: 123456789