SpringCloud观察_v1.0.1

文件名称版本号作者qq版本
SpringCloud观察v1.0.1学生宫布8416837SpringBoot 2.2.6
SpringCloud Hoxton.SR4

前言

参考,谢谢!

启动
  • Demo启动配置文件:slave数据库乱填的
blade.datasource.demo.master.url=jdbc:mysql://127.0.0.1:3306/blade?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8;blade.datasource.dev.username=root;blade.datasource.dev.password=root;spring.cloud.nacos.discovery.server-addr=192.168.59.133:8849;spring.cloud.nacos.config.server-addr=192.168.59.133:8849;spring.profiles.active=dev;spring.cloud.nacos.config.prefix=blade-system;blade.datasource.demo.slave.url=jdbc:mysql://192.168.59.133:3306/blade?useSSL\=false&useUnicode\=true&characterEncoding\=utf-8&zeroDateTimeBehavior\=convertToNull&transformedBitIsBoolean\=true&tinyInt1isBit\=false&allowMultiQueries\=true&serverTimezone\=GMT%2B8
安装nacos
tar xvzf nacos-server-1.1.4.tar.gz -C /home/app/nacos/ # 老规矩,解压
ufw allow 8848
ufw reload
nohup bin/startup.sh & # 启动

报错:
在这里插入图片描述
请设置JAVA_HOME:

sudo vim ~/.bashrc
# 填入内容
export JAVA_HOME=/home/app/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc
jps

报错:

-bash: /home/app/java/jdk1.8.0_201/bin/java: No such file or directory

报错原因:不是64位的jdk,下载64位的jdk
再次启动:

sh bin/startup.sh -m standalone # 若报错:bin/startup.sh: 81: bin/startup.sh: [[: not found,则改为:bash bin/...
启动应用
应用启动配置
  • 启动代码
/**
 * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.springblade.system.user;

import org.springblade.core.launch.BladeApplication;
import org.springblade.core.launch.constant.AppConstant;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * 用户启动器
 *
 * @author  
 */
@SpringCloudApplication
@EnableFeignClients(AppConstant.BASE_PACKAGES)
public class UserApplication {

	public static void main(String[] args) {
		BladeApplication.run(AppConstant.APPLICATION_USER_NAME, UserApplication.class, args);
	}

}

BladeApplication.java封装了启动逻辑,以利复用:
在这里插入图片描述

配置
  • 硬编码配置写在LauncherConstant.java
  • 读取配置的动作在这个文件LauncherServiceImpl.java,函数launcher的配置会覆盖之前的配置
  • 其它配置,比如redis,可以在yaml文件写配置
  • 硬编码代码:
public interface LauncherConstant {

	/**
	 * nacos namespace id
	 */
	String NACOS_NAMESPACE = "f447a694-519a-4255-95f9-bcbb5a5d636";

	/**
	 * nacos dev 地址
	 */
	String NACOS_DEV_ADDR = "192.168.59.133:8849";
	... ...

本地Win开发环境中启动完毕,查看Nacos,启动成功:
在这里插入图片描述

内网调用
  • 调用API
    以blade-system为例:
    不通过网关代理,随便调用一个接口试试:
    在这里插入图片描述
    调用失败,404
    因为测试时加了代码,指定扫描包,导致非test目录没有被扫描到。
@ComponentScan(basePackages = "test")
# 修正为
@ComponentScan(basePackages = {"test", "org.springblade"})

调用成功,不过我们最好增加OAuth2.0作为服务之间通信的标准:
在这里插入图片描述

zipkin
使用官方项目启动 - 不需要注册到注册中心

微服务作为终端,与zipkin-collector建立连接,发送轨迹信息给collector,zipkin-ui基于数据绘制视图,因此,与注册中心关系不大,除非需要用到路由、服务id
自带的zipkin报错,没启动起来,而且报错的类是不推荐使用、划线的类
那就用Docker整一个不报错的来吧:

docker run -d -p 9411:9411 --name zipkin-dev-cc openzipkin/zipkin

启动成功:
在这里插入图片描述
版本号:
在这里插入图片描述

微服务的zipkin配置
  • 依赖,注意客户端的版本号使用2.2.2+
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
  • SpringBoot配置
    若启动报错:调用接口api/v2/span失败,请检查spring.zipkin.base-url配置
    zipkin2配置,终端:
    注意yaml文件空格
spring:
  sleuth:
    web:
      client:
        enabled: true
    sampler:
      probability: 1.0 # 测试环境中,将采样比例设置为 1.0,也就是全部都需要。默认是 0.1
  zipkin:
    base-url: http://192.168.59.134:9411/ # 指定了 Zipkin 服务器的地址

同时注意服务启动时,配置的base-url地址,因为有的代码里面会配置zipkin地址。

报错解决
解决SpringCloud G版不连接zipkin

解决办法:改变依赖包:

<!--        zipkin-->
        <!--        redis也要升级-->
        <!-- https://mvnrepository.com/artifact/io.lettuce/lettuce-core -->
        <dependency>
            <groupId>io.lettuce</groupId>
            <artifactId>lettuce-core</artifactId>
            <version>5.2.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.2.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin</artifactId>
            <version>2.2.2.RELEASE</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-cloud-sleuth-core</artifactId>
                    <groupId>org.springframework.cloud</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-core</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
            <version>2.2.2.RELEASE</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-cloud-sleuth-core</artifactId>
                    <groupId>org.springframework.cloud</groupId>
                </exclusion>
            </exclusions>
            <!--            <version>RELEASE</version>-->
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
            <!--            <version>RELEASE</version>-->
            <version>2.2.2.RELEASE</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-cloud-starter-sleuth</artifactId>
                    <groupId>org.springframework.cloud</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>spring-cloud-sleuth-core</artifactId>
                    <groupId>org.springframework.cloud</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
                    <groupId>org.springframework.cloud</groupId>
                </exclusion>
            </exclusions>
        </dependency>

升级依赖后,却导致redis不能正常操作。可能redis版本太低。目前发现3.0.64.0.10是不行的。
解决jedis连接池的redis不能工作,两种方法二选一:

链路图

注意:链路视图在请求或者连接执行完毕一小会儿后,才会创建。
微服务与zipkin连接成功后,与其它微服务或者redis等组件的链路、拓扑图:点这个在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用FeignClient调用API,链路图的变化:
在这里插入图片描述
在这里插入图片描述
上图的红点表示出故障了。

SkyWalking 太空漫步

SkyWalking 是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性能诊断
见我的博客SkyWalking
查看在线演示
在这里插入图片描述
在这里插入图片描述

UI
yarn
npm install -g yarn --registry=https://registry.npm.taobao.org
# 查看yarn的镜像
yarn config get registry
yarn config set registry https://registry.npm.taobao.org -g
# 查看yarn的镜像
yarn config get registry

在这里插入图片描述
在这里插入图片描述

  • 启动前端
$ git clone https://gitee.com/smallc/Saber.git
$ cd Saber
# 安装
$ yarn install
# 启动
$ yarn run serve 
发布
Docker发布
  • 准备文件
    将Docker File和package后的应用jar包上传到服务器
    文件内容:
    Docker File
FROM anapsix/alpine-java:8_server-jre_unlimited

MAINTAINER cc@qq123.com

RUN mkdir -p /blade/system

WORKDIR /blade/system

EXPOSE 8106

ADD ./target/blade-system.jar ./app.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]

CMD ["--spring.profiles.active=dev"]

  • 构建镜像:
# 后面有个点
docker build -t blade-system-dev-cc-0.0.1 .

构建成功:
在这里插入图片描述
docker images查看镜像:
在这里插入图片描述

  • 启动镜像
docker run --name blade-system-dev-cc -d -p 8116:8016 -v /home/project/reference/cloud/blade/logs:/logs/ SpringCloud/blade-system-dev-cc-0.0.1 --blade.datasource.dev.url=jdbc:mysql://192.168.59.1:3306/blade?useSSL=false\&useUnicode=true\&characterEncoding=utf-8\&zeroDateTimeBehavior=convertToNull\&transformedBitIsBoolean=true\&tinyInt1isBit=false\&allowMultiQueries=true\&serverTimezone=GMT%2B8 --blade.datasource.dev.username=root --blade.datasource.dev.password=root --spring.cloud.nacos.discovery.server-addr=192.168.59.134:8848 --spring.cloud.nacos.config.server-addr=192.168.59.134:8848
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值