
SpringCloud
文章平均质量分 85
SpringCloud...
土味儿~
这个作者很懒,什么都没留下…
展开
-
Nacos的安装与使用(SpringCloud)
Nacos /nɑ:kəʊs/ 是 DynamicNaming andCoService的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。原创 2023-06-28 09:00:44 · 6159 阅读 · 0 评论 -
微服务下网关聚合Swagger文档、starter统一配置Swagger
更加细致的设计思路:(网上有介绍)微服务中不需要Swagger的ui包,只要能生成api的json数据包,供网关抓取就可以。同时网关中也不用自已成生api的json数据包,也可以去掉一些相关的依赖包。有些内部服务可以通过docker的内部网络直接访问,可以单独配置这类内部服务的API文档。至此,用starter实现微服务的swagger配置完成!网关把各个微服务的文档聚合起来,通过网关统一访问。从网关配置中过滤出Swagger的API文档配置信息。需要使用swagger的服务注入。原创 2023-04-22 09:56:49 · 1860 阅读 · 2 评论 -
用starter实现api接口的加密与日志功能
加密注解原创 2023-04-19 07:46:37 · 518 阅读 · 0 评论 -
用spring-boot-starter实现事务的统一配置
微服务架构下,多个微服务都需要事务操作,如果在每个微服务下都从头配置事务,将非常繁锁。事务配置具有高度的一致性,可以抽取出来,制作starter,在需要配置事务的服务中引入starter依赖即可。采用springAOP的方式实现事务。原创 2023-04-18 09:24:04 · 907 阅读 · 0 评论 -
SpringCloud 下 MultipartFile 序列化(JSON)出错的解决方案
在SpringCloud架构下,用户向客户端上传文件,客户端调用文件处理微服务去处理文件。原创 2022-08-30 13:36:55 · 9541 阅读 · 2 评论 -
【图文详解】搭建 Spring Authorization oauth2-server-resource-client-gateway-eureka 完整Demo
1、项目概述1.1、概述本项目是在前面章节的基础上,进行的升级改造。增加了注册中心、网关,更加贴近于实际需求。在进行本节之前,请先搭建前面项目:【图文详解】搭建 Spring Authorization Server + Resource + Client 完整Demo【oauth2 客户端模式】Spring Authorization Server + Resource + Client 资源服务间的相互访问1.2、整体架构图业务流程解析1.2.1、总体结构总体上分为三原创 2022-05-25 19:56:15 · 3308 阅读 · 13 评论 -
OAuth2在分布式微服务架构下基于角色的权限设计(RBAC)
在前两节的基础上,对权限控制作进一步分析的分析与设计。RBAC(Role-Base Access Control,基于角色的访问控制)本篇内容基于个人理解,不当之处,欢迎批评指正。前两篇内容:【图文详解】搭建 Spring Authorization Server + Resource + Client 完整Demo【oauth2 客户端模式】Spring Authorization Server + Resource + Client 资源服务间的相互访问1、OAuth2中用户访问的基.原创 2022-05-21 08:19:14 · 4070 阅读 · 6 评论 -
【oauth2 客户端模式】Spring Authorization Server + Resource + Client 资源服务间的相互访问
1、概述上一节中介绍了项目的搭建,并实现了授权码模式的访问。在上一节的基础上,再来实现客户端模式。【图文详解】搭建 Spring Authorization Server + Resource + Client 完整Demo用户通过客户端访问资源是 授权码模式微服务(资源)间的访问是 客户端模式;客户端模式下,只需要提供注册客户端的ID和密钥,就可以向授权服务器申请令牌,授权服务器核实ID和密钥后,会直接发放令牌,无须再认证/授权,特别适合项目内部模块间的调用。2、授权服务器中注册新客户端原创 2022-05-20 12:45:31 · 5306 阅读 · 11 评论 -
【图文详解】搭建 Spring Authorization Server + Resource + Client 完整Demo
一个完整的Demo,有认证端,有资源端,有客户端;采用当前最新的技术。非常感谢 码农小胖哥,仔细研读了他的很多文章。本项目中的很多逻辑和代码都源自于他。如果想深入学习OAuth2,强烈建议关注胖哥。1、项目概述1.1、概述Server + Resource + Client功能完善:授权中心Server: 进行认证、授权,并发放token、刷新token,不负责token鉴权(由资源服务器自行鉴权);资源服务器Resource:提供资源,需要携带token请求,可以自行鉴权;客.原创 2022-05-19 22:16:24 · 16324 阅读 · 76 评论 -
【SpringCloud 2021.0.0】16、Config 客户端连接服务端远程访问 (spring-boot 2.6.3)
1、Git仓库添加文件config-client.yml# 选择要激活的环境spring: profiles: active: dev---# 开发环境server: port: 8201spring: profiles: dev application: # 服务名称 name: springcloud-config-dev# 配置 Eurekaeureka: client: service-url: default原创 2022-02-18 19:01:55 · 509 阅读 · 0 评论 -
【SpringCloud 2021.0.0】15、Config 分布式配置 服务端连接Git配置 (spring-boot 2.6.3)
1、概述Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用g原创 2022-02-18 18:57:27 · 458 阅读 · 0 评论 -
【SpringCloud 2021.0.0】14、路由网关Gateway之Predicate与Filter (spring-boot 2.6.3)
1、PredicatePredicate来自于java8的接口(断定式接口)。Predicate接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将Predicate组合成其他复杂的逻辑(比如:与,或,非)。可以用于接口请求参数校验、判断新老数据是否有变化需要进行更新操作。add–与、or–或、negate–非[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdUZxxhf-1645157195706)(img/image-20220217191559053原创 2022-02-18 12:08:20 · 1652 阅读 · 0 评论 -
【SpringCloud 2021.0.0】13、路由网关Gateway之入门案例 (spring-boot 2.6.3)
1)新建 Gateway 模块springcloud-gateway-99992)导jar包网关服务也需要注册到注册中心,所以需要 eureka-client 包;这两个包都已集成在父工程 spring-cloud-build 中,不需要版本号<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ne原创 2022-02-18 12:04:32 · 1369 阅读 · 0 评论 -
【SpringCloud 2021.0.0】12、路由网关Gateway之简介 (spring-boot 2.6.3)
参考自:Spring cloud gateway 详解和配置使用【尚学堂】SpringCloudGateway微服务网关组件完整版实战感谢分享!1、简介1)网关是怎么演化来的单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务2)网关的基本功能网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上网关还能做统一的熔断、限流、认证、日志监控等可以和服务注册中心完美的整合,如:Eureka、Consul、Nacos3)关于Sp.原创 2022-02-18 11:58:39 · 1395 阅读 · 0 评论 -
【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)
新版本中有一些更新,如果还用旧版本的方式,会有不少问题当前版本:spring-cloud 2021.0.0,spring-boot 2.6.3,hystrix 和 dashboard 2.2.101、新建 dashboard模块springcloud-consumer-hystrix-dashboard-9001 监控模块1)导jar包<!-- spring-cloud-starter-netflix-hystrix --><dependency> &..原创 2022-02-15 12:37:24 · 1780 阅读 · 1 评论 -
【SpringCloud 2021.0.0】5、Eureka构建过程:Server\Client 配置info 自我保护 服务发现 (spring-boot 2.6.3)
1、构建步骤1)eureka-server(1)创建Meven工程springcloud-eureka-7001(2)导jar包使用 spring-cloud-starter-netflix-eureka-server<!-- spring-cloud-starter-eureka-server:已废弃 --><!-- spring-cloud-starter-netflix-eureka-server --><dependency> &原创 2022-02-11 13:11:36 · 609 阅读 · 0 评论 -
【SpringCloud】4、Eureka 服务注册中心 概念及原理 Server Provider Consumer
[juˈriːkə]1、什么是EurekaNetflix在涉及Eureka时,遵循的就是API原则Eureka 是 Netflix 的子模块,也是核心模块之一。Eureka是基于 REST 的服务,用于定位服务,以实现云端中间件层服务发现和故障转移,服务注册与发现对于微服务来说是非常重要的,有了服务注册与发现,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了,功能类似于Dubbo的注册中心,比如:Zookeeper2、原理理解1)Eureka基本的架构Spri.原创 2022-02-11 13:00:56 · 1124 阅读 · 0 评论 -
【SpringCloud 2021.0.0】9、Hystrix 服务熔断 (spring-boot 2.6.3)
分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免失败!1、服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“扇出”,如果扇出的链路上某个微服务的调用响应时间过长,或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几十秒内饱和。比失败更糟糕的是,这些应用程序还.原创 2022-02-14 22:01:08 · 1501 阅读 · 3 评论 -
【SpringCloud Netflix】1、概述:微服务 及 SpringCloud
1、微服务1)什么是微服务?微服务(Microservice Architecture) 是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。就目前而言,对于微服务,业界并没有一个统一的,标准的定义。但通常而言,微服务架构是一种架构模式,或者说是一种架构风格,它提倡将单一的应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程内,服务之间互相协调,互相配置,为用户提供最终价值,服务之间采用轻量级的通信机制(HTTP)互相沟通,每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到原创 2022-02-09 16:47:05 · 610 阅读 · 0 评论 -
【SpringCloud 2021.0.0】2、服务提供者 REST (spring-boot 2.6.3)
1、创建父工程1)创建普通Meven工程创建普通Meven工程,删除 src 目录,保留 pom.xml2)pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation原创 2022-02-09 23:18:12 · 680 阅读 · 0 评论 -
【SpringCloud 2021.0.0】6、Eureka模拟集群配置、Eureka与Zookeeper比较 (spring-boot 2.6.3)
1、集群环境配置单一主机模拟配置新建7002、7003两个注册中心,使三个注册中心互相关联1)新建7002、7003与7001类似,只有端口以及名称不同pom.xmlapplication.yml主启动类2)相互关联修改7001中的application.yml关联7002、7003#...#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/defaultZone:原创 2022-02-11 16:48:18 · 260 阅读 · 0 评论 -
【SpringCloud 2021.0.0】3、服务消费者 RestTemplate postForObject传递参数 (spring-boot 2.6.3)
1、新建SpringBoot工程springcloud-consumer-dept-802、导jar包消费端不需要连接数据库,也就不需要与数据库相关的Mapper层、Service层<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta原创 2022-02-10 10:54:45 · 1093 阅读 · 0 评论 -
【SpringCloud 2021.0.0】7、LoadBalancer 负载均衡(客户端) 非Ribbon (spring-boot 2.6.3)
1、负载均衡以及Ribbon1)Ribbon是什么?Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一起。Ribbon 的客户端组件提供一系列完整的配置项,如:连接超时、重试等。简单的说,就是在配置文件中列出 LoadBalancer (简称LB:负载均衡) 后面所有的机器,Ribbon 会自动的帮助你基原创 2022-02-13 15:58:25 · 3441 阅读 · 4 评论 -
【SpringCloud 2021.0.0】10、Hystrix 服务降级 (spring-boot 2.6.3)
1、什么是服务降级?服务降级是指 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理,或换种简单的方式处理,从而释放服务器资源以保证核心业务正常运作或高效运作。说白了,就是尽可能的把系统资源让给优先级高的服务。资源有限,而请求是无限的。如果在并发高峰期,不做服务降级处理,一方面肯定会影响整体服务的性能,严重的话可能会导致宕机某些重要的服务不可用。所以,一般在高峰期,为了保证核心功能服务的可用性,都要对某些服务降级处理。比如当双11活动时,把交易无关的服务统统降级,如查看蚂蚁原创 2022-02-14 22:07:12 · 1311 阅读 · 1 评论 -
【SpringCloud 2021.0.0】8、OpenFeign 负载均衡(服务端) (spring-boot 2.6.3)
1、概述Feign 是声明式 Web Service 客户端,它让微服务之间的调用变得更简单,类似 controller 调用 service可以使用 Feigin 提供负载均衡的 http 客户端只需要创建一个接口,然后添加注解即可~类似 SpringBoot 整合 Mybatis 中在 Dao 接口上标注 Mapper 注解,现在是一个微服务接口上面标注一个 Feign 注解在调用服务的方法编写上更加清爽,但性能下降,因为增加一个接口层2、使用方法1)修改 springcloud-ap原创 2022-02-13 19:33:29 · 2202 阅读 · 1 评论