2023
01-31
01-31
使用kotlin编写spring cloud微服务的过程
创建工程使用idea的springinitializr创建一个项目,语言选择kotlin,类型为gradle。根据需要选择依赖配置文件yml或者properties文件和java是完全一样的,这里不详细说明修改build.gradle.kts中的参数:plugins{//springboot版本id("org.springframework.boot")version"2.3.3.RELEASE"//自动依赖包版本管理id("io.spring.dependency-management")version"1.0.10.RELEASE"...}//springcloud版本extra["springCloudVers...
继续阅读 >
目录一、SpringBoot使用NacosConfig实现多环境切换1.现象2.引入依赖3.添加bootstrap.yaml配置文件4.配置对应关系图5.文件格式简述6.启动nacos7.添加生产配置8.添加测试controller9.启动Springboot工程并观察到如下日志则为成功10.浏览器验证11.调整激活环境12.新建test环境配置13.test配置关系图14.测试方法15.重启springboot服务,监控控制台输出16.浏览器验证17.配置修改实时生效18.不同环境配置动态切换...
目录spring-cloud-gateway启动踩坑1、webflux与mvc不兼容2、webflux使用netty作为容器3、后来实验了下很坑得springcloudgateway异常spring-cloud-gateway启动踩坑本人使用的版本是2.1.2,以下只记录几个小问题,但确实实实在在的把个人恶心的要死要活的找不到办法,几经挣扎,最终解决。更可恨的是开发的过程中,没有出现异常,后来由于项目组其它人加了依赖,不知不觉对项目的兼容造成了英雄,真的是被撞的头破血流,才找到原因1、...
目录准备工作实现跟踪抽样收集整合Zipkin1.下载Zipkin2.引入依赖配置3.测试与分析持久化到mysql1.创建zipkin数据库2.启动zipkin3.测试与分析在一个微服务架构中,系统的规模往往会比较大,各微服务之间的调用关系也错综复杂。通常一个有客户端发起的请求在后端系统中会经过多个不同的微服务调用阿里协同产生最后的请求结果。在复杂的微服务架构中,几乎每一个前端请求都会形成一条复杂的分布式的服务调用链路,在每条链路中任何一...
目录1.网关简介2.什么是springcloudgateway2.1核心概念3.SpringCloudGateway快速开始5.路由断言工厂(RoutePredicateFactories)配置6.自定义路由断言工厂7.Filter过滤器8.自定义过滤器9.自定义全局过滤器(GlobalFilters)10.Gateway跨域配置(CORSConfiguration)11.Gateway整合Sentinel进行流控12.流控配置说明13.自定义重写流控返回信息1.网关简介所谓的网关就是指系统的统一入口,它封装了运用程序的内部结构,为客户...
目录前言一、Nacos环境准备1、启动Nacos配置中心并创建路由配置2、连接Nacos配置中心二、项目构建1、项目结构2、编写测试代码三、测试动态网关配置1、启动服务,观察注册中心2、访问网关,观察服务日志四、总结前言Nacos最近项目一直在使用,其简单灵活,支持更细粒度的命令空间,分组等为麻烦复杂的环境切换提供了方便;同时也很好支持动态路由的配置,只需要简单的几步即可。在国产的注册中心、配置中心中比较突出,容易上手...
前言昨天,我们通过一个实例演示了,spring-cloud服务注册组件——Eureka的基本配置和简单用法,但是服务注册就是为了方便后期的发现和调用,所以今天我们趁热打铁,分享下spring-cloud服务之间的调用。服务间的调用关于spring-cloud的服务调用,我们首先需要了解它的两个核心组件Ribbon和Feign。我们都知道,springboot的接口都是基于REST实现的,但是在实际线上运行的时候,考虑到用户规模、服务可用性等方面的因素,我们一般很...
目录背景实现原理代码实现相关类关键切面拦截器背景在前后端分离的项目中,一般后端返回给前端的格式是一个固定的json格式。在这个前提下,SpringCloudOAuth2生成accesstoken的请求/oauth/token的返回内容就需要自定义。访问/oauth/token示例如下:原始返回值的格式如下:我们希望使用我们自己固定的json格式,如下:实现原理原理就是通过切面编程实现对/oauth/token端点请求的结果进行拦截封装处理,由于/oauth/token是Spring...
目录Sentinel是什么Sentinel与Hystrix的区别 Sentinel分为两大部分:一、控制台(Dashboard) 二、搭建客户端1.在自己的项目中引入依赖2.编辑项目中的 application.yml或者bootstrap.yml文件3.资源是Sentinel中的一个关键概念。它可以是任何东西,例如服务、方法,甚至是代码片段。三、查看接口的流量的详情1.实时监控2.簇点链路3.等等:其他使用方法有待发掘 Sentinel是什么随着微服务的流行,服务和服务...
目录1.什么是Ribbon1.1客户端的负载均衡1.2服务器端的负载均衡1.3常见负载均衡算法2.Nacos使用Ribbon3.Ribbon负载均衡策略3.1常用负载均衡描述3.3修改默认的负载均衡策略--配置文件的方式3.4自定义负载均衡策略4.使用springcloudloadbalancer替代ribbon1.什么是Ribbon目前主流的负载均衡方案分为以下两种:(1)集中式负载均衡:在消费者和服务提供者中间使用独立的代理方式进行负载,有硬件的(F5),软件的Nginx(2)客户端事...
目录简单使用SpringCloudStream构建基于RocketMQ的生产者和消费者生产者消费者Stream其他特性消息发送失败的处理消费者错误处理SpringCloudStream对SpringCloud体系中的Mq进⾏了很好的上层抽象,可以让我们与具体消息中间件解耦合,屏蔽掉了底层具体MQ消息中间件的细节差异,就像Hibernate屏蔽掉了具体数据库(Mysql/Oracle⼀样)。如此⼀来,我们学习、开发、维护MQ都会变得轻松。⽬前SpringCloud...
gateway集成hystrix全局断路器pom.xml添加依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>在配置文件中,增加spring.cloud.gateway.default-filters:default-filters:-name:Hystrixargs:name:fallbackcmdfallbackUri:forward:/fallbackcontroller一定要注意是spring.cloud.gateway.default-filters这个配置节。如上的配...