纸上得来终觉浅,绝知此事要躬行啊~果然看着很easy,自己搞起来就是各种坑~各位看官,容我慢慢道来~关于springcloud是什么我就不废话了~ Eureka Eureka(原来以为是缩写,原来就是一个单词,翻译为:我发现了,我找到了!0.0)是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery            
                
         
            
            
            
            在没有服务网关时,请求流程图大致如下:客户端直接与各个微服务通信,会有以下问题: 客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,大多数情况下,为了保证对外服务的安全性,我们在服务端实现的微服务接口,往往都会有一定的权限校验机制,比如对用户登录状态的校验等;同时为了防止客户端在发起请求时被篡改等安全方面的考虑,还会有一些签名校验的机制            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 10:12:35
                            
                                50阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这几篇将API安全的 流控、认证、审计、授权 简单的过一遍,对这些概念先有个初步印象。后边还会详细讲解。本篇说API安全之流控~第一印象。一、概念流控,流量控制,只放系统能处理的请求的数量过去,处于api安全链路的第一关。为什么要做流控?保证系统的可用性,防止大流量把系统给压死。流控的位置做在认证、审计、授权等整个安全机制的最前边,提前控制流量,避免其他无用的资源浪费。如果没有流控放在第一道档线,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-26 11:31:18
                            
                                15阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            SpringCloud简单总结一、单服务器、单服务提供者、单消费者1.创建父工程:删除不需要的src目录、以及pom中的依赖,新增依赖。此处使用的是Greenwich版本的springcloud,所以要求boot的版本在2.1.x父工程pom.xml<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://mave            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 09:47:04
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的 join 查询来得到最终结果,那么如何才能访问各个服务呢? 按照微服务设计的指导原则,我们的微服务可能存在下面的问题:服务使用了多种协议:因为不同的协议有不同的应场景用,比如可能同时使用 HTTP, AMQP, gRPC 等。服务的划分可能随着时间而变化。服务的实例或者Host+端口可能会动态的变化。那么,对于前端的UI需求            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 11:35:39
                            
                                45阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户端直接请求服务的方式存在以下问题:
当服务数量众多时,客户端需要维护大量的服务地址,这对于客户端来说,是非常繁琐复杂的。在某些场景下可能会存在跨域请求的问题。身份            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-01 11:09:23
                            
                                56阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            二、SpringCloud概述spring官网:https://spring.io/SpringCloud官网:http://projects.spring.io/spring-cloud/自学参考书:SpringCloud Netflix 中文文档:https://springcloud.cc/spring-cloud-netflix.htmlSpringCloud 中文API文档(官方文档翻译            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 11:01:53
                            
                                79阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言Spring作为企业级技术框架中的佼佼者没有错过微服务这个风口。从它第一天出现就注定它的不平凡,Spring通过其强大的抽象能力以及技术集成能力,结合Netflix成熟的开源服务套件,一出现就成为最热门的微服务技术集成方案。Spring Cloud也继承了Spring 一如既往的风格,考虑了微服务的几乎所有功能,另外组件化的思维也为企业微服务架构技术落地提供了更多的灵活性。企业不仅可以通Spr            
                
         
            
            
            
            总体思路 1.导入依赖 2.编写配置 3.启动器上加上@Enablexxx注解 API这里属于公共区域,这里就放个实体 1.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/ ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-11-03 17:29:00
                            
                                110阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Spring Cloud Config服务器支持一个Git仓库URL,其中包含{application}和{profile}(以及{label})的占位符。1.各个占位符所代表的含义application: 表示微服务名称,即配置的spring.application.nameprofile: 表示当前的环境,local、feature、dev、test、prodlabel: 表示git仓库分支,            
                
         
            
            
            
            application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 的加载顺序要高于application.yml,即bootStrap.yml  会优先被加载。   原理:bootstrap.yml 用于应用程序上下文的引导阶段。                  
                
         
            
            
            
            一、网关请求处理过程     客户端向Spring Cloud Gateway发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。此处理程序运行通过特定于请求的过滤器链发送请求。滤波器被虚线划分的原因是滤波器可以在发送代理请求之前或之后执行逻辑。执行所有“pre”过滤器逻辑,然后进行代理请求。在发出代理请求之后,执行“post”过滤器逻辑。   在没有端口的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-25 20:37:20
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的实例。写一个简单的demo,加入依赖:       org.springframework.boot
 
   
  
 spring-boot-starter-web
 
   
  
 org.s            
                
         
            
            
            
            说明SpringCloud Zuul基于Netflix Zuul实现,SpringCloud Zuul通过与SpringCloud Eureka整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有其他微服务实例信息。这样的设计非常巧妙地将服务治理体系中维护的实例信息利用起来, 使得将维护服务实例的工作交给了服务治理框架自动完成, 不再需要人工介入。 而对千路由规则的维护,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-22 21:52:45
                            
                                21阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、前言在我之前发布的关于SpringCloud分布式框架的介绍,相信大家已经对SpringCloud中的组件已经有了很大的了解,这些组件基本涵盖了微服务架构中最为基础的几个核心设施,利用这些组件我们已经可以构建起一个简单的微服务架构系统,比如,通过使用Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现;通过Spring Cloud Ribbon或Feign实            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 14:23:33
                            
                                98阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.API网关API网关旨在用一套单一且统一的API入口点,来组合一个或多个内部API。API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理是一样的。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,如对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权,以及相应数据的脱敏、流量与并发控制,甚至基于API调用的计量或计费等。API网关常用于以下场景:黑白名            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-12 11:14:13
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、日志配置有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。首先定义一个配置类@Configuration
public class FeignConfiguration {
    /**
     * 日志级别
     *
     * @return
     */
    @Bean            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 13:09:04
                            
                                91阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、简介Feign能干什么Feign旨在使编写Java Http客户端变得更容易。前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feign在此基础上做了进一            
                
         
            
            
            
            创建一个服务,首先得明白这个服务既是服务的提供者service又是服务的消费者client。一、创建服务:service-user1、项目创建:同注册中心创建过程,只是在包依赖时不同。创建完成之后:2、pom.xml依赖:<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/P            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-14 06:37:05
                            
                                274阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            **第一** **1.点击 file -->new–>project **2.选择maven 新建父级项目,名字为parent **切记父级项目的作用是 可以统一的约束所有项目的依赖版本,同一管理项目依赖版本**3.在该父级项目的pom.xml文件中,如下图所示<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-11 21:59:05
                            
                                171阅读
                            
                                                                             
                 
                
                                
                    