getaway之基础概念

依赖问题

 == 引入依赖的时候有一个坑,sprint-boot-starter-web这个依赖是不能够引入的,引入的话getway就启动不了== 

核心概念

路由:引导请求正确进入微服务
断言:id属性-当前路由的唯一标志,满足断言
过滤器:

动态路由

uri: lb://服务名
uri: lb://order #路由的目标地址  匹配所有order下面服务 eureka上面去找 负载均衡

过滤器

1、GateWayFilter :单个路由器
2、GlobalFilter: 所有的路由器

pre 前置处理
post后置处理

//exchange封装了request response,chain放过
Mono filter(ServerWebExchange exchange, GatewayFilterChain chain)

filters:
- StringPrefix=1 去掉地址的一个字符串

自定义过滤器,完成限流

微服务监控--日志

1、动态展示服务的链路

2、分析服务链的瓶颈,对其调优

3、快速进行服务链路的故障发现

​ 分布式链路追踪(全链路追踪)springcloud sleuth +twiter ZipKin(储存展示)+ES

ELK,全链路追踪

日志记录:
	trance:踪迹 gateway+order+prooduct
	tranceId:唯一id,每次调用全链路
	spanId:每个组件的id,每个服务可看成一个span

服务端搭建-sleuth

 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-logging -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
            <version>2.3.4.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-sleuth -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

每个微服务都放入 都配置
导入logging
logging:
	level:
		org.springframework.web.servlet.DispatcherServlet: debug
		org.springframework.cloud.sleuth: debug

客户端搭建-Zipkin

服务端:
Zipkin Server Zipkin Client


zipkin-server:exclusion  排除spring-boot-starter-log4j2
zipkin-autoconfigure-ui

@enableZipkinServer

management:  #自动检测 ,启动会报错
	metrics:
		web:
			server:
				auto-time-requests: false
9411

客户端:(需要追踪的服务)
	spring-cloud-starter-zipkin
	
spring:
	zipkin:
		base-url: http://localhost:9411
		sender:
			type: web #http请求方式传递到服务端,或者使用消息队列(以什么方式发送到zipkin)
	sleuth:
		sampler:
			probability: 1 #采样率 百分之百 默认0.1

界面

持久化

database:zipkin

github-zipkin
zipkin-storage
mysql-v1----resouces------sql

mysql驱动
druid
zipkin-autoconfigure-storage-mysql
spring-tx
spring-jdbc

配置 
druid数据源
zipkin:
	storage:
		type: mysql

简单使用理解

gateway 网关对微服务的管理
对服务进行划分管理
使用 ip:端口/微服务名/请求 进行调用

posted @   东楚  阅读(416)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示