
SpringCloud及SpringCloudAlibaba
文章平均质量分 63
此栏主要介绍微服务架构组件搭建流程、客户端使用及使用过程中遇到的问题。
寅灯
本人爱好互联网技术,乐观开朗,乐于助人!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nacos应用程序手动部署到docker容器的方式
一般情况Docker 容器中直接拉取naaocs镜像就可以部署启动了,特殊情况下,需要修改nacos源码,然后打包成应用程序,把此用用程序部署到docker容器里面,这时候需要编写Dockerfile文件或者docker-compose.yml 配置文件去创建新的镜像去启动,下面我们分享一下具体操作。注意:前提是此时进入bin目录,执行:./startup.sh -m standalone 命令可以正常启动和访问,否则部署到容器里面也是不可能的。如果容器的时间有误差,可以在容器内使用。原创 2024-10-15 11:01:56 · 584 阅读 · 0 评论 -
nacos源码修改持久化到postgreSQL数据库
很多业务场景,业务功能必须用pg数据库,这时候注册中心如果用mysql的话,显得浪费资源,基于此,nacos源码修改持久化到postgreSQL数据库是一个必然需求,此处我们修改为只支持pg数据库,2.4版本的源码。到此,nacos源码修改持久化到postgreSQL数据库分享完成,当然持久到pg还有其他方案,后期可以分享nacos同时支持多种数据库,敬请期待!原因是:代码里标识参数是bool类型,而数据库表结构里是int2类型,说明是数据表结构传输过程出错了,5、所有limit?原创 2024-10-10 18:10:23 · 1874 阅读 · 0 评论 -
nacos 服务发现获取列表源码分析
nacos 服务发现获取列表源码分析原创 2023-01-30 19:02:52 · 2971 阅读 · 0 评论 -
nacos 删除过期实例源码分析
nacos 删除过期实例源码分析原创 2023-01-30 17:40:07 · 1061 阅读 · 0 评论 -
SpringCloudAlibaba 之 nacos 心跳功能源码分析
SpringCloudAlibaba 之 nacos 心跳功能源码分析原创 2023-01-30 12:40:36 · 471 阅读 · 0 评论 -
微服务调用组件Feign的原理及高级功能实战
微服务调用组件Feign的原理及高级功能实战原创 2023-01-12 17:15:56 · 3786 阅读 · 0 评论 -
负载均衡器Ribbon原理及实战演练
负载均衡器Ribbon原理及实战演练原创 2023-01-11 17:40:38 · 567 阅读 · 0 评论 -
nacos原理和实战问题解决方案
nacos原理和集群搭建实战原创 2023-01-10 21:34:17 · 3510 阅读 · 0 评论 -
Linux环境下载安装Seata1.5
Linux环境下载安装Seata1.5原创 2022-09-13 11:36:22 · 2112 阅读 · 0 评论 -
gateway 集成 nacos 实现动态路由
gateway 集成 nacos 实现动态路由原创 2022-09-07 21:03:22 · 1244 阅读 · 0 评论 -
服务链路追踪类型和区别
1、zipKin和skywalking2、zipkin 属于springcloud 原生技术组件,融合性比较好,业务耦合度低,服务端是独立的,并且springcloud版本Finchley之后,zipkin服务端官方已经提供好,自行下载单独的jar包服务。 社区活跃度很高, 上手比较快。 Zipkin:关注的链路调用关系,它记录的是Trace 缺点: web图形页面还不够丰富。1)、在Spring Cloud Sleuth中对Zipkin的整合进行了自动化配置的封装,所以我们可以很轻松的引入...原创 2021-06-03 18:58:04 · 1127 阅读 · 0 评论 -
微服务中限流、熔断、降级区别
在复杂的分布式系统中,微服务之间的相互调用,有可能出现各种各样的原因导致服务的阻塞,在高并发场景下,服务的阻塞意味着线程的阻塞,导致当前线程不可用,服务器的线程全部阻塞,导致服务器崩溃,由于服务之间的调用关系是同步的,会对整个微服务系统造成服务雪崩为了解决某个微服务的调用响应时间过长或者不可用进而占用越来越多的系统资源引起雪崩效应就需要进行服务熔断和服务降级处理。所谓的服务熔断指的是某个服务故障或异常一起类似显示世界中的“保险丝"当某个异常条件被触发就直接熔断整个服务,而不是一直等到此服务超时。原创 2021-06-03 18:56:44 · 790 阅读 · 0 评论 -
dubbo 和 cloud、及cloudAlibaba 的 区别
1、SpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理,而SpringCloud现在以及有21个子项目以后还会更多所以其实很多人都会说Dubbo和SpringCloud是不公平的但是由于RPC以及注册中心元数据等原因,在技术选型的时候我们只能二者选其一,所以我们常常为用他俩来对比服务原创 2021-06-03 18:52:24 · 1663 阅读 · 0 评论 -
Ribbon 原理及内部算法实现扩展
原创 2021-06-03 18:48:42 · 274 阅读 · 0 评论 -
springCloud 之 Eureka 注册中心平滑下线客户端服务使用及原理
Eureka 中客户端服务下线的几种方式一、下线的方式和存在的问题1、直接停掉服务根据Eureka默认的策略,如果在一定的时间内,客户端没有向注册中心发送心跳或续约请求,那么注册中心就会将该实例从注册中心移除;但是有缺陷,因为服务直接停掉后,实例仍然会在注册中心存在一段时间(默认90s,可以自定义设置),这段时间里客户端会依然会正常从注册中心拉取(即正常使用),有流量是会进行服务调用,尤其是高并发环境下。2、通过注册中心接口强制下线通过注册中心的接口,我们可以强制下线指定的服务,场景如下:原创 2021-03-03 16:38:48 · 1373 阅读 · 1 评论 -
gataway 组件的健权、限流、过滤等功能分析(三十一)
gateway处了除了网关和路由功能外还有健权、限流、过滤等功能。如图所示:现有断言、映射,而过滤功能在最后;一、过滤器分为全局的和局部的,官网有简介:1、spring: cloud: gateway: routes: - id: query_route uri: http://localhost:8001 predicates: - Query=green2、全局过滤器的核心代码(80...原创 2020-11-20 19:26:14 · 520 阅读 · 0 评论 -
springcloud 网关组件之gateway 实战使用流程(三十)
springcloud 网关组件之gateway 实战使用:统一访问地址,经过gateway路由到不同的微服务;过滤、断言、路由的作用;SpringCloud官方,对SpringCloud Gateway 特征介绍如下:(1)基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0(2)集成 Hystrix 断路器(3)集成 Spring Cloud DiscoveryClient(4)Predicates 和 Filters 作.原创 2020-11-14 18:24:13 · 866 阅读 · 0 评论 -
springcloud之nacos配置中心问题( you may need to activate it (no profiles are currently active))
此问题主要有两种可能:1、你的配置文件参数信息有误比如,yml文件中冒号后面的参数有多个空格;参数active的值错误等;2、配置文件没有配置group的参数,比如:#该配置对应的Data Id 为 name-demo-dev.yml spring: profiles:#active 对应 name-demo-dev.yml 中的 dev active: dev application: name: demo cloud: nacos: ..原创 2020-11-11 20:38:28 · 3562 阅读 · 2 评论 -
springcloud之Feign(nacos组件中的)调用超时问题(feign.RetryableException: Read timed out executing GET http://)
报错日志如下:Binary data2020-11-11 19:47:07.894 ERROR c.n.c.c.r.e.GlobalExceptionHandler:72 - errorMsg=Read timed out executing GET http://XXXXXXX,innerCode=5000,exception={}feign.RetryableException: Read timed out executing GET http:// XXXXXXXX at feign.F原创 2020-11-11 20:21:26 · 12352 阅读 · 4 评论 -
springcloudAlibaba之nacos(2.X版本) 注册中心和配置中心使用实战流程
启动nacos服务:创建命令空间:配置列表找到:选择某个命名空间 创建配置:这是配置中心 配置内容具体写:!!!!客户端流程:1、jar引入:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discover...原创 2020-11-12 21:25:02 · 2566 阅读 · 0 评论 -
springcloudAlibaba 组件 sentinel信息的持久化使用(二十九)
springcloudAlibaba 组件 sentinel的详细使用(二十九)原创 2020-10-24 14:22:01 · 621 阅读 · 0 评论 -
springcloudAlibaba 组件 sentinel 的使用(二十八)
sentinel分服务端和客户端:一、服务端下载:点击Reference Doc.点击:点击:Release Page.往下拉取:找到服务端jar包下载:启动服务端,命令如下:java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-...原创 2020-10-23 22:14:38 · 355 阅读 · 0 评论 -
nacos 服务注册功能和分布式配置中心功能使用(二十七)
nacos 服务注册功能和分布式配置中心功能使用原创 2020-10-24 16:09:07 · 285 阅读 · 0 评论 -
nacos 服务注册功能之服务端源码分析(二十四)
二、nacos服务端接收:1、根据curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'找到类名:InstanceController找到方法名instance点击进入 ServiceManager implements RecordListener<Ser...原创 2020-10-24 12:09:00 · 503 阅读 · 0 评论 -
springCloudAlibaba 之 nacos 服务注册功能客户端源码分析(二十三)
1、springcloudAlibaba 提供自动注册的jar:<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifa.原创 2020-10-24 12:05:29 · 451 阅读 · 1 评论 -
springCloudAlibaba 之 nacos 源码下载和启动(二十二)
首先下载nacos 源码:1、访问https://nacos.io2、进入github 下载源码:3、下载后解压导入idea:4,进入源码目录打包编译:编译命令:mvn -Prelease-nacos clean install -U -Dmaven.test.skip=true5、配置单机启动:# 增加启动参数-Dnacos.standalone=true -Dnacos.home=D:\\nacos6、配置mysql数据库:7、找到m...原创 2020-10-24 12:04:29 · 871 阅读 · 1 评论 -
springcloud 实战总结架构图和集成rabbitMQ(二十一)
大概图示:springboot 配置:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version></parent>springcloud 配置,里面..原创 2020-10-15 22:22:32 · 278 阅读 · 0 评论 -
微服务链路追踪 zipkin 组件 ui界面详解(二十)
有小伙伴服务中用到了zipkin ,很多人反馈,UI页面不太会用,今天我和大家分享一下:1、zipkin 首叶面详解http://localhost:94112、查到某个或某几个问题请求,下载json日志,查找原因。3、点击一个进入到下一个页面:trace详情4、点击一个服务名:显示的信息大家应该一目了然这个图中,需要注意的是相对时间和调用行为调用行为(Annotation)分如下四种:cs - Client Start: 客户端已经提出了请求。这...原创 2020-09-18 17:11:57 · 2016 阅读 · 2 评论 -
springcloud 微服务统计监控组件 Actuator 之源码分析(十九)
今天分析actuator源码,这个就是通过各种 endpoint 的注解来实现对各种监控信息的接口的调用 handlerMapping 对象 获取所有有@EndPoint 注解的对象;1、找到对应jar点击进入发现有很多类,我们看重点的:2、点击进入: 找到加载相应SPI类的方法加载这种类型:3、点击 WebMvcEndpointManagementContextConfiguration类进入:4、进入getEndpoin...原创 2020-09-12 12:34:27 · 677 阅读 · 0 评论 -
springcloud 微服务配置中心组件 Config 之源码分析(十八)
今天分析微服务配置中心源码Config ,老规矩从jar包开始:一、首先看配置中心的服务端:1、核心启动类加注解:此注解主要起到标识作用:2、找依赖jar:从这入口:3、点击来到环境相关的Controll,配置中心必备的4、点击此类进入,发现相关的方法名,佐证了postman调的方法:服务端启动后调用配置中心的配置信息;证明是有这样一个接口存在:进行调用:5、拿配置中心信息,如果本地有从本地拿,否则从配置中心拿。..原创 2020-09-12 11:31:14 · 309 阅读 · 1 评论 -
springcloud 微服务网关组件 Zuul 之源码分析(十七)
今天和大家一起分析Zuul 源码,网关服务路由的功能,1、从启动类注解开始:创建一个对象起到一个标识过滤作用2、找到相关jar包:两个很重要的类:进入 ZuulServerAutoConfiguration,创建 controller和Maping、核心处理类ZuulServet等多个过滤器ZuulController继承特殊的controller接口,返回来继续:点击进入:三个核心方法依次调用,zuulServlet 中就...原创 2020-09-12 10:10:24 · 225 阅读 · 1 评论 -
springcloud 微服务组件 Fegin 之源码分析(十六)
今天分析Fegin 组件源码及原理,首先,Fegin是对Hystrix和Rebbon的封装:开始,fegin只有接口没有实现类,实现原理类似Mybatis,运行时生成了代理类,相当于实现类。1、从启动类入口:2、点击 FeignClientsRegistrar 里面有创建beanDefinition对象,点击 registerFeignClients 方法:扫描FeignClient 注解,并遍历相关的包和类,封装成对象对应的业务代码注解和注册对象方法:...原创 2020-09-10 22:13:01 · 388 阅读 · 0 评论 -
springcloud 微服务权限校验JWT模式获取 token 实战(十二)
JWT:json web token 是一种无状态的权限认证方式,token信息不需要存到数据库,下游服务通过网关拿到token后,不在请求认证服务器做验证,减少了一次交互请求;一般用于前后端分离,时效性比较端的权限校验,防止恶意攻击者拿到token之后进行恶意请求,当然采用Https的方式也可以避免,jwt 模式获取 token 跟前面的,客户端,密码,授权码模式是一样的,只是需要配置秘钥。下面我们分析一下JWT的整个流程:1、jar 包引入:JWT模式依赖此jar<dependency.原创 2020-09-05 13:43:33 · 1676 阅读 · 0 评论 -
springcloud 微服务组件 Hystrix 之源码分析(十五)
今天我们分析Hystrix的源码:1、2、3、4、5、6、7、8、Hystrix源码分析结束,明天我们分析Fegin的源码,敬请期待。原创 2020-09-09 22:13:17 · 284 阅读 · 0 评论 -
springcloud 微服务组件 ribbon 之源码分析(十四)
今天我们分析ribbon的源码:1、2、3、44、5、6、7、8、分析结束,不明白的小伙伴欢迎留言!原创 2020-09-06 16:50:20 · 250 阅读 · 0 评论 -
springcloud 微服务组件eureka 之源码分析(十三)
从这篇我们开始分析springcloud组件源码,相关组件有:eureka、ribbon、hystrix、feign、zuul、config、actuator等。今天分析eureka源码。1、通过SPI 加载 spring.factories如图:重点看这里:看该类的父类 DiscoveryClient 接着看下面一个方法:2、1、服务拉取 3、refreshRegistry 里面的 fetchRegistry ...原创 2020-09-06 00:14:53 · 295 阅读 · 0 评论 -
springcloud 微服务权限校验获取 token 实战之Oauth2 解决方案(十一)
传统的单体架构或者是多台服务器,一般都是采用session来进行权限校验,这种方案是有弊端的:和用户信息强关联、用户多的情况下占用内存、有csrf网络攻击的风险等。而在微服务环境下通常采用 token 认证的方式校验是否有接口调用权限,然后在下游系统设置访问白名单只允许zuul 服务器访问。理论上 zuul 服务器是不需要进行权限校验的,因为 zuul 服务器没有接口,不需要从 zuul 调用业务接口,zuul 只做简单的路由工作。下游系统在获取到 token 后,通过过滤器把 t...原创 2020-09-05 11:51:57 · 3265 阅读 · 0 评论 -
springcloud 微服务管理之 admin 实战使用(九)
Springcloud admin 是基于spring-boot-starter-actuator 实现的,admin 是根据统计出来的数据来进行展示的,可以很好的监控整个微服务系统中的实例运行情况信息,前提结合注册中心才能拿到数据。1、actuator 负责统计数据,引入jar:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s...原创 2020-08-31 22:51:01 · 960 阅读 · 0 评论 -
springcloud 服务网关之 zuul 实战使用(八)
Zuul 是分布式 springcloud 项目的流量入口,理论上所有进入到微服务系统的请求都要经过zuul 来过滤和路由。1、服务端jar包引入<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency>.原创 2020-08-30 22:25:41 · 524 阅读 · 0 评论 -
springcloud 分布式配置 加密 之 Config 实战使用(七)
有小伙伴反应上一篇分布式加密配置,有小伙伴加密报错,我查了一下原因和jdk 版本相关,先贴报错日志:1、调用加密接口时http://localhost:8085/encrypt/status 报错的核心日志:java.security.InvalidKeyException: Illegal key size2、原因是jdk里的jar包问题DK8的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-do...原创 2020-08-30 12:31:34 · 250 阅读 · 0 评论