0

SpringCloud2020替换Netflix套件实践一

Spring Cloud 2020版已经发布了,因为网飞Netflix套件进入维护期,替代方案也出来了,本着“就新不就旧”的原则,个人的知识结构也要更新,所有就有了下面的内容。按照官方给出的推荐替代品,主要是:网关由Gateway替换Zuul,断路器由Resilience4j和Sentinel替代Hystrix,负载均衡LoadBalance替换Ribbon。还有例如从Feign衍生出来的OpenFeign等,替换注册中心Eureka的Nacos、Consul等。本文主要是想基于Spring Cloud 2020一些新的组件+Docker,组建一个轻量级的微服务Demo,总结一下学习成果,也适...

阅读全文>>

0

SpringCloud微服务:Zipkin组件,实现请求链路追踪

一、链路追踪简介1、Sleuth组件简介Sleuth是SpringCloud微服务系统中的一个组件,实现了链路追踪解决方案。可以定位一个请求到底请求了哪些具体的服务。在复杂的微服务系统中,如果请求发生了异常,可以快速捕获问题所在的服务。 2、项目结构启动顺序如下* 注册中心 node07-eureka-7001 * 链路数据收集服务 node07-zipkin-7003 * 服务提供 node07-provider-6001 node07-provider-6002 * 网关路由 node07-zuul-7002 二、搭建链路服务1、核心依赖<dependency> <gr...

阅读全文>>

0

大白话揭秘搞好就能“年薪百万”的SpringCloud微服务

微服务基本概念架构的演变为什么会有微服务?假如回到10年前,一天张三入职了电商企业—并夕夕商城。公司初创,人比较少,公司网站的用户也很少,公司只有一个工程师项目架构比较简单1.单体架构没有想到的是,公司业务越来越好,网站用户量越来越大,单体架构的问题就暴露出来了,随着访问量增加,项目经常宕机问题:架构简单 难以抗住高并发于是,招人。对并夕夕商城进行升级优化。分析升级的方向:数据库 和 应用代码要放在不同的服务器上增加应用负载能力【集群】于是增加负载均衡。2.负载均衡分布式:一个系统 通过多台服务器 协同完成系统功能集群:同一个系统放在了多台服务器上 且每个服务器上内容相同 复制了多份负载均衡的...

阅读全文>>

0

生产级基于SpringCloud微服务架构性能优化实战,建议收藏

前言本文将从Tomcat性能优化,SpringCloud开启重试机制,Zuul网关性能参数优化,Ribbon性能参数优化,Feign与Hystrix性能优化等五个方面分享在生产环境如何做好SpringCloud性能优化。Tomcat性能优化一般基于SpringCloud的微服务能够脱离传统的tomcat,独立跑起来,SpringBoot功不可没,其原理是SpringBoot内嵌了tomcat(当然可以换成其他servlet容器,如jetty),能够以java -jar形式就能跑起来。所以针对每个springboot服务,我们需要对tomcat的一些参数进行优化,以下是楼主项目组优化的tomca...

阅读全文>>

0

SpringBoot + Shiro登出源码解析

项目里面配置shiro退出的url为filterChainDefinitionMap.put("/logout",“logout”),最终会调用到org.apache.shiro.subject.support.DelegatingSubject的logout方法,截图如下:接着调用了org.apache.shiro.web.mgt.DefaultWebSecurityManager的logout方法,方法截图如下:首先调用了beforeLogout方法,该方法判断项目里面是否配置了记住我的功能,如果配置了需要告诉浏览器删除存在的Cookie,截图如下:先从DefaultWebSecurity...

阅读全文>>

0

微服务技术方案:Spring Cloud 从入门到实战

随着互联网技术的发展与不断创新,以及用户流量的不断增大,越来越多的企业项目面临大数据、高并发等问题,随之而来的就是通过分布式模型组建架构,微服务思想就集中体现了应用价值,2020 年的你还没有掌握微服务技术吗?本课程会讲解 Spring Cloud 的重要知识点同时也会跟随源码,与框架设计者共同探索其设计奥妙所在,做到知其然更知其所以然!实验介绍Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发。我们知道,Spring Cloud 整套微服务方案是基于 Spring Boot 作为架构制成的,那么 SpringBo...

阅读全文>>

0

SpringCloud系列Gateway:路由匹配规则

环境搭建主要分三个项目Product-service(端口8890):商品服务Order-service(端口8891):订单服务Gateway-server(端口8892):网关核心概念路由(Route):路由是网关最基础的部分,路由信息ID、目标URI、一组断言和一组过滤器组成,如果断言为真,说明请求的URI和配置匹配。断言(Predicate):Spring Cloud Gateway中的断言函数输入类型是Spring5.0框架中的ServerWebExchange。Spring Cloud Gateway中的断言函数允许开发者去定义匹配来自于Http Request中的任何信息,比如请...

阅读全文>>

1

SpringCloud系列Gateway:过滤器总结

今天带大家看一下Spring Cloud Gateway的过滤器过滤器分类Spring Cloud Gateway根据作用范围划分为GatewayFilter和GlobalFilter,二者的区别如下GatewayFilter:网关过滤器,需要通过spring.cloud.routes.filters配置在具体的路由下,只作用在当前特定路由上,也可以通过配置spring.cloud.default-filters让它作用于全局路由上。GlobalFilter:全局过滤器,不需要再配置文件中配置,作用在所有的路由上,最终通过GatewayFilterAdapter包装成GatewayFilter...

阅读全文>>

0

SpringCloud微服务架构实战:商家权限体系设计及开发

商家管理后台与sso设计在本文的电商平台实例中,商家是这个平台的主角,商家管理后台是专门为这个主角提供的一个安全可靠的操作平台。在商家管理后台中,商家可以进行商品管理、订单管理、物流管理、会员管理、评价管理等各个方面的管理工作。这些管理功能及其服务功能分别由不同的微服务项目实现,并通过不同的应用进行部署。现在我们要做的,就是将这些分布在不同应用中的管理功能,组成一个具有相同访问控制设计的管理后台。单点登录(Single Sign On,SSO)设计可以将这种分散的应用,通过统一的访问控制和权限管理,整合成一个有机整体,为分布式环境中的不同应用,提供一个统一的登录控制和授权认证管理。商家管理员只...

阅读全文>>

0

SpringCloud微服务开发实战:如何进行微服务的拆分?

如何进行微服务的拆分在前面介绍了基于Spring Boot来快速实现一个“天气预报”应用。虽然没有使用太多的代码,但已经实现了数据采集、数据缓存、提供天气查询等诸多的功能,这也是Spring Boot是快速实现企业级应用开发的利器的原因。Spring Boot让企业级应用开发变得不再困难!很显然,这个“天气预报”应用是一个单块架构的应用。它表面看上去很强大(集成了数据采集、数据缓存、提供天气查询等功能),但从另外一个角度看,它缺乏业务上的有效隔离。例如,如果第三方采集的接口协议变更怎么办?缓存服务失效怎么办?其中任何一个问题的发生,都势必会影响整个应用的可用性。微服务拆分的意义把所有鸡蛋放在一...

阅读全文>>