纸上得来终觉浅,绝知此事要躬行啊~果然看着很easy,自己搞起来就是各种坑~各位看官,容我慢慢道来~关于springcloud是什么我就不废话了~ Eureka Eureka(原来以为是缩写,原来就是一个单词,翻译为:我发现了,我找到了!0.0)是Netflix开源一款提供服务注册和发现产品,它提供了完整Service Registry和Service Discovery
转载 10月前
201阅读
在没有服务网关时,请求流程图大致如下:客户端直接与各个微服务通信,会有以下问题: 客户端会多次请求不同微服务,增加了客户端复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,大多数情况下,为了保证对外服务安全性,我们在服务端实现微服务接口,往往都会有一定权限校验机制,比如对用户登录状态校验等;同时为了防止客户端在发起请求时被篡改等安全方面的考虑,还会有一些签名校验机制
转载 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需求
在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体地址信息,例如 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文档(官方文档翻译
前言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仓库分支,
转载 10月前
21阅读
application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 加载顺序要高于application.yml,即bootStrap.yml  会优先被加载。   原理:bootstrap.yml 用于应用程序上下文引导阶段。     &nbsp
一、网关请求处理过程     客户端向Spring Cloud Gateway发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。此处理程序运行通过特定于请求过滤器链发送请求。滤波器被虚线划分原因是滤波器可以在发送代理请求之前或之后执行逻辑。执行所有“pre”过滤器逻辑,然后进行代理请求。在发出代理请求之后,执行“post”过滤器逻辑。   在没有端口
当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常实例。写一个简单demo,加入依赖: org.springframework.boot spring-boot-starter-web org.s
说明SpringCloud Zuul基于Netflix Zuul实现,SpringCloud Zuul通过与SpringCloud Eureka整合,将自身注册为Eureka服务治理下应用,同时从Eureka中获得了所有其他微服务实例信息。这样设计非常巧妙地将服务治理体系中维护实例信息利用起来, 使得将维护服务实例工作交给了服务治理框架自动完成, 不再需要人工介入。 而对千路由规则维护,
一、前言在我之前发布关于SpringCloud分布式框架介绍,相信大家已经对SpringCloud组件已经有了很大了解,这些组件基本涵盖了微服务架构中最为基础几个核心设施,利用这些组件我们已经可以构建起一个简单微服务架构系统,比如,通过使用Spring Cloud Eureka实现高可用服务注册中心以及实现微服务注册与发现;通过Spring Cloud Ribbon或Feign实
转载 2024-05-14 14:23:33
98阅读
一.API网关API网关旨在用一套单一且统一API入口点,来组合一个或多个内部APIAPI网关定位为应用系统服务接口网关,区别于网络技术网关,但是原理是一样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在此基础上做了进一
转载 10月前
11阅读
创建一个服务,首先得明白这个服务既是服务提供者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阅读
  • 1
  • 2
  • 3
  • 4
  • 5