springcloud
文章平均质量分 72
ldcaws
这个作者很懒,什么都没留下…
展开
-
微服务架构中的缓存设计浅析
缓存在应用软件架构中是提高性能最直接的方式,如下假设应用程序将数据存储在Mysql中,众所周知Mysql会将数据存储在硬盘上以防止掉电造成数据丢失,但是受限于硬盘的物理设计,即使是性能最好的SSD硬盘,也比内存这种高速设备IO层面上差,而以京东、拼多多这种电商为代表的互联网应用,都是典型的读多写少的场景,隐藏需要在设计上进行数据的读写分离,在数据写入时直接落盘,而大部分的读取操作则从以Redis为代表的Nosql数据库中读取,利用内存的高吞吐瞬间完成数据的读取。原创 2023-02-22 20:00:00 · 733 阅读 · 0 评论 -
springcloud+nacos+gateway+oauth2+jwt再相聚
在springcloud微服务架构下,如何进行统一的认证、鉴权,一直是大家非常关心的问题,下面对微服务架构下的认证和鉴权继续聊聊,一是自己的再次思考总结,二是希望对小伙伴有所帮助。在微服务中,不应该把重复校验认证和鉴权的功能集成到每个业务服务中,应该在认证服务做统一认证,在网关中做统一校验,这样才是优雅的微服务架构的安全解决方案。下面搭建网关服务,它将作为oauth2的资源服务、客户端服务使用,对访问业务服务的请求进行统一的校验认证和鉴权,校验通过进行动态路由。原创 2022-12-30 19:00:00 · 2351 阅读 · 14 评论 -
spring cloud gateway网关转发websocket请求
springcloud gateway网关是所有微服务的统一入口。原创 2022-12-26 22:22:28 · 14647 阅读 · 11 评论 -
oauth2中token端点跨域配置
跨域请求时会先发送OPTIONS请求,而OPTIONS请求头并不会携带认证信息,需要放开。场景:访问oauth/token接口时,在认证授权服务中已添加了springboot2.7版本的跨域配置,且在WebSecurityConfig和ResourceServerConfig中均已开启去允许跨域,还是发生了跨域。其实,还可以采用在webSecurity中ignore请求类型为options的请求,并在AuthorizationServerConfig中的endpoints设置跨域的配置。原创 2022-10-22 21:30:00 · 1462 阅读 · 0 评论 -
springcloud微服务中跨域配置
当业务微服务集成了security+oauth2,会出现跨域失效的情况,需要在WebSecurityConfig配置类和ResourceServerConfig配置类中开启CORS,如下。当gateway网关微服务集成了security+oauth2,又会出现跨域问题,则需要在ResourceServerConfig配置类中加入跨域过滤器,如下。当gateway网关服务设置了跨域,业务微服务也设置了跨域,则需要在网关的配置里加上重复请求头,如。注:需要去掉业务微服务的跨域配置,防止多次跨域配置。原创 2022-10-20 22:08:24 · 6233 阅读 · 2 评论 -
单体架构到分布式架构浅析
在弄清楚目标之前,我们先了解下分布式架构的缺点,通过了解这些缺点来衡量满足我们目标的前提下,需要进行哪些方面的取舍,就如 CAP 原则一样,只能满足其中的两个,AP 或者 CP。《分布式架构体系》中提到,分布式架构的核心理念是按照功能、业务、领域等对系统进行拆分,通过合理的拆分结构,实现各业务模块的解耦,同时通过系统级容错设计,在廉价硬件基础设施上构建起高可用、可扩展的开放技术体系。在业务初期,单体架构的优点,无论从那个方面来说,都优于其他架构风格,但是随着业务的增加、复杂,单体架构的缺点也逐渐暴露出来。原创 2022-10-13 21:30:00 · 1612 阅读 · 0 评论 -
spring cloud gateway网关再浅析
网关作为应用系统的唯一流量入口,封装了应用系统的架构,所有的请求都先经过网关,由网关服务将请求路由到合适的微服务原创 2022-10-04 20:45:00 · 2120 阅读 · 0 评论 -
springcloud+sentinel初体验
在微服务架构中,服务和服务之间的稳定性变得越来越重要,Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。原创 2022-09-22 22:32:27 · 473 阅读 · 0 评论 -
浅入浅出分布式事务
Server 端的 DB tables 创建完成之后,你还得为每个微服务背后的数据库创建一个特殊的表,叫做 undo_log,在 Seata 的 AT 模式下,Seata Server 发起一个 Rollback 指令后,微服务作为 Client 端要负责执行一段 Rollback 脚本,这个脚本所要执行的回滚逻辑就保存在 undo_log 中,undo_log 的建表语句可以从资源文件目录下的 client.sql 文件中找到。典型的场景就是微服务架构下微服务之间通过远程服务调用完成事务操作。原创 2022-09-16 17:15:10 · 512 阅读 · 0 评论 -
springcloud+nacos+gateway+oauth2小聚会
在微服务工程中,Nacos作为目前主流的注册中心和配置中心,Spring Cloud Gateway作为目前主流的网关,下面引入spring security+oauth2+jwt作为认证和授权中心,进行简单的聊聊。原创 2022-09-05 21:16:47 · 2166 阅读 · 0 评论 -
springcloud gateway网关浅析
网关是微服务架构中非常重要的一个组件,在微服务应用中,客户端所有的请求都是先经过网关,然后再转发到具体的微服务上,客户端无需知道具体微服务的地址,知道网关的地址即可原创 2022-08-26 19:30:00 · 620 阅读 · 0 评论 -
springcloud+nacos+gateway约会
Nacos作为注册中心和配置中心,下面结合Spring Cloud Gateway作为网关一起进行尝试。网关是所有微服务的门户,常用的应用场景有请求路由,服务限流、统一鉴权等。原创 2022-08-23 22:43:02 · 296 阅读 · 0 评论 -
springcloud+nacos初体验
Nacos(Dynamic Naming and Configuration Service),是阿里巴巴推出来的一个开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。原创 2022-08-22 19:30:00 · 379 阅读 · 0 评论 -
分布式开发漫谈
业务刚开始是都是单体应用,随着用户量和访问量的增加,架构层面也发生了变化,逐步由单体应用转变为分布式应用开发,如把单体应用的每个模块按照特定的方法拆分成一组独立的服务,服务与服务之间通过HTTP或RPC方式调用。但随着服务的数量增加,维护服务的URL地址就变得非常麻烦,所以需要设计一套系统来管理每个服务所对应的URL地址,出现了注册中心。还会面临流量削峰、版本兼容、服务熔断、服务降级、服务限流等问题,如何解决这些问题,让服务更稳定运行,就叫做服务治理。...原创 2022-07-27 20:00:00 · 1402 阅读 · 0 评论 -
spring、springMvc、springBoot、springCloud之间关系?浅析
在java开发领域,对spring家族一定不会陌生,也一定不能陌生。从时间上出现的先后关系为,最早到至今:spring、springMvc、springBoot、springCloud从依赖上互相之间的关系为,自低向上:springspring是一站式的java开发框架,采用容器化管理,创建各种bean实例,并维护着bean与bean之间的关系。spring的设计理念是无侵入、简单,可以让普通的javaBean对象实现各种功能,换种说法是在sping中,一切皆组件(javaBean)。3个核原创 2022-01-18 16:20:21 · 767 阅读 · 0 评论 -
springcloud+openfeign初应用
在微服务架构中经常遇到的另一个组件,springcloud中的openfeign服务调用。在微服务之间进行调用可以采用RestTemplate,访问URL是采用字符串拼接的方式,但是如果input 参数有很多,拼接起来就相当麻烦,使用Feign可以简化服务调用。在上篇文章的基础上,一共4个微服务工程,分别为eureka服务注册与发现、zuul网关、consumer服务、provider服务eureka服务不变、zuul服务不变consumer实例1添加依赖<dependency>原创 2021-12-03 23:15:03 · 412 阅读 · 0 评论 -
springcloud+gateway初相识
在微服务架构中经常遇到的另一个组件,springcloud中的gateway网关,springboot在1.x版本中都是采用的zuul网关;zuul是netfix开发的一个网关组件,但在2.x版本中,zuul由于更新迭代的速度过慢,于是springcloud就自己推出了一个新的网关组件,那就是gateway。gateway是在spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot2和Project Reactor等技术。gateway旨在提供一种简单而有效的方式来对AP原创 2021-12-03 22:10:49 · 663 阅读 · 0 评论 -
springcloud+zuul初尝试
在微服务架构中经常遇到的另一个组件,springcloud中的zuul网关。在上篇文章的基础上,一共4个微服务工程,分别为eureka服务注册与发现、zuul网关、consumer服务、provider服务zuul工程实例1依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc原创 2021-12-03 21:56:43 · 393 阅读 · 0 评论 -
springcloud+eureka再相识
在微服务架构中,经常会遇到服务注册与发现的组件,下面重新认识一下springcloud中的eureka组件。开门见山,上实例,具体原理参考官网。1依赖<properties> <java.version>1.8</java.version> <spring-cloud.version>2020.0.4</spring-cloud.version> </properties> <原创 2021-12-03 17:16:11 · 539 阅读 · 0 评论 -
centos7环境安装kafka过程
环境:linux系统版本:centos7、jdk环境:jdk1.8、zookeeper:apache-zookeeper-3.5.9、kafka:kafka_2.12-2.7.0下载kafka安装包kafka_2.12-2.7.0.tgz 或通过命令wget下载安装包: wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.7.0.tgz 解压:tar –zxvf kafka_2.12-2.7.0.tgz 进入config原创 2021-01-31 17:10:17 · 321 阅读 · 0 评论 -
centos7环境安装zookeeper过程
环境:linux系统版本:centos7、jdk环境:jdk1.8、zookeeper:apache-zookeeper-3.5.9在centos7环境中安装好jdk,本文不做说明 下载zookeeper安装包apache-zookeeper-3.5.9.tar.gz 复制到/usr/local/目录 或通过wget命令替换2、3步骤下载安装包到指定目录: yum install –y wget wget http://mirror.bit.edu.cn/apache/zookeeper/*.原创 2021-01-31 16:58:24 · 505 阅读 · 0 评论 -
浅入浅出feign使用方法
feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似提供调用的service层接口。spring cloud 是spring推出的大型项目,spring cloud包含了很多独立的项目,如spring-cloud-netflix、spring-cloud-config、spring-cloud-security、spring-cloud-zookeeper、spring-cloud-gateway等spring cloud netflix包括eureka服务注册与发原创 2020-09-16 22:22:59 · 501 阅读 · 0 评论