_金欣
醉舞经阁半卷书,坐井说天阔。
展开
-
【微服务|OAuth②】从0到1搭建一个oauth2.0服务
文章目录环境介绍授权服务器配置EnableAuthorizationServer配置客户端详细信息管理令牌令牌访问端点配置配置授权类型(Grant Types)配置授权端点的URL(Endpoint URLs)令牌端点的安全约束web安全配置环境介绍Spring-Security-OAuth2是对OAuth2的一种实现,并且跟我们之前学习的Spring Security相辅相成,与Spring Cloud体系的集成也非常便利,接下来,我们需要对它进行学习,最终使用它来实现我们设计的分布式认证授权解 决方原创 2022-10-12 15:49:07 · 6269 阅读 · 0 评论 -
Ribbon源码解析
Ribbon会为被@LoadBalanced注解标注的RestTemplate实例添加一个拦截器LoadBalancerInterceptor,在restTemplate调用时拦截器会拦截请求,根据负载均衡策略,通过服务名选择一个server,将url中的服务名替换为对应的ip:host再调用,达到负载均衡。可以看到是RibbonLoadBalancerClient,通过查看构造方法的调用,发现是在RibbonAutoConfiguration中创建的,看到ribbon,看来是跟ribbon相关的了。...原创 2022-08-13 17:23:03 · 408 阅读 · 3 评论 -
Nacos是如何实现心跳机制和服务续约以及超时剔除服务机制的?
上一篇文章,我们全面解析了Nacos是如何实现服务注册的,那么这篇文章,就来看看Nacos是如何实现心跳机制和健康检查机制的。原创 2022-08-07 05:12:47 · 1866 阅读 · 2 评论 -
2万字带你从0到1搭建一套企业级微服务安全框架
基于Spring Security、Redis、JWT的企业级微服务安全框架。原创 2022-07-25 11:30:08 · 4373 阅读 · 62 评论 -
【微服务|OAuth①】OAuth2.0介绍
OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不 需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth1.0,即完全废止了OAuth1.0。很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。OAauth原创 2022-10-12 13:55:39 · 5562 阅读 · 0 评论 -
Ribbon和LoadBalancer自定义负载均衡算法及配置
实现IRule接口,自定义算法新建类,不可是配置类在配置类上注入自定义类。原创 2022-08-20 20:03:39 · 431 阅读 · 1 评论 -
Ribbon的随机算法,为什么能难倒这么多的微服务专家?
在BaseLoadBalancer#setServersList中会设置服务的存活状态,同时也会同步可达服务列表和所有服务列表,并且此任务是30s执行一次,同步Nacos的服务缓存数据。问了很多人,上到各大厂相关领域的专家,下到一些所谓的高端人员,再到国内外网站,没有人注意到这个问题。看完类和方法的介绍,其实就能知道整体的设计了,为了提高我们的认知,我们来看看设计的细节。前人栽树,后人乘凉。对于整体的设计思想,我们不难理解,根据服务名获取所有的服务列表,根据负载均衡器规则再选出一个服务。原创 2022-08-19 11:55:58 · 895 阅读 · 8 评论 -
Vue快速入门(附实战小项目:记事本、天气预报、音乐播放器)
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。原创 2022-03-27 07:56:55 · 26758 阅读 · 113 评论 -
IntelliJ IDEA中的神仙插件(写代码必备)
俗话说:"工欲善其事必先利其器",今天准备和大家一起分享一下实际工作中能提升幸福感和工作效率的IDEA插件。原创 2022-01-15 11:46:02 · 25790 阅读 · 111 评论 -
2022年编程语言排名,官方数据来了,让人大开眼界。
之所以说这件事,就是想告诉同学们,努力固然重要,但选择必须要对,一旦选择错了,那很多努力都是白费。这篇文章就是来给同学们提个醒,2022 年最好的编程语言是什么?看完后你就知道该如何地去选择了。......原创 2022-01-09 01:32:15 · 87886 阅读 · 113 评论 -
【七夕快乐篇】Nacos是如何实现服务注册功能的?
那么接下的几天里,我们就来逐步分析一下Nacos的源码以及Nacos的核心功能与机制,并着手写一个注册中心,来帮助大家更好的了解分布式中间件。原创 2022-08-04 16:11:55 · 3630 阅读 · 67 评论 -
分布式中的CAP原理
那么如果想要二者取到的data值一样(满足C(Consistency强一致性)),就需要等待网络通信正常,将数据同步到其他注册中心,可是在等待网络通信的过程中,服务是无法工作的,也就是说不能满足A(Availability可用性)。AP对于大部分的业务,AP还是最常用的选择,比如Eureka就是AP的架构,为了保证系统的可用性,牺牲一些一致性,也是可以接受的。就目前的技术而言,CAP不可能满足全部三项,当然随着技术的不断推动,如果解决了网络通信的问题,是有可能全部满足的。...原创 2022-08-01 11:42:51 · 657 阅读 · 3 评论 -
微服务原生案例搭建
Spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接,我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。在Spring应用程序中访问第三方REST服务与使用SpringRestTemplate类有关。...原创 2022-08-01 11:39:44 · 507 阅读 · 1 评论 -
分布式系统认证方案
随着软件环境和需求的变化,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫分布式系统,分布式系统的运行通常依赖网络,它将单体结构的系统分为若干服务,服务之间通过网络交互来完成用户的业务处理,当前流行的微服务架构就是分布式系统架构。分布性每个部分都可以独立部署,服务之间交互通过网络进行通信,比如订单服务、商品服务。伸缩性每个部分都可以集群方式部署,并可针对部分结点进行硬件及软件扩容,具有一定的伸缩能力。共享性。...原创 2022-10-15 19:10:06 · 5392 阅读 · 1 评论 -
分布式中的远程调用
在微服务架构中,通常存在多个服务之间的远程调用的需求。远程调用通常包含两个部分序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等,目前主流的远程调用技术有基于HTTP的RESTful接口以及基于TCP的RPC协议。...原创 2022-08-01 11:35:00 · 384 阅读 · 1 评论 -
微服务系统架构的演变
SOA全称为Service-OrientedArchitecture,即面向服务的架构。它可以根据需求通过网络对松散耦合的粗粒度应用组件(服务)进行分布式部署、组合和使用。一个服务通常以独立的形式存在于操作系统进程中。站在功能的角度,把业务逻辑抽象成可复用、可组装的服务,通过服务的编排实现业务的快速再生,目的把原先固有的业务功能转变为通用的业务服务,实现业务逻辑的快速复用。通过上面的描述可以发现SOA有如下几个特点分布式、可重用、扩展灵活、松耦合。...原创 2022-08-01 11:30:41 · 707 阅读 · 3 评论 -
【微服务|Spring Security③】基于Session的认证方式|实现认证功能
基于Session的认证方式|实现认证功能以上的测试全部符合预期,到目前为止最基础的认证功能已经完成,它仅仅实现了对用户身份凭证的校验,若某用户认证成功,只能说明他是该系统的一个合法用户,仅此而已。...原创 2022-07-08 17:29:47 · 639 阅读 · 0 评论 -
【微服务|Spring Security②】基于Session的认证方式|认证流程|工程搭建
基于Session的认证方式|认证流程|工程搭建原创 2022-07-08 17:24:47 · 1078 阅读 · 0 评论 -
【微服务|Spring Security①】初识认证和授权
2、为什么要认证?3、认证的定义?4、常见的用户身份认证方式都有哪些?2、为什么要授权?3、授权的定义?1.5.2 资源访问控制1.6 小结以上的这些概念,也并非Spring Security独有,而是应用安全的基本关注点,Spring Security可以帮助我们更加快捷的完成认证和授权。很多时候,一个系统的安全性完全取决于系统开发人员的安全意识。例如,在我们从未听过SQL注入的时候,如何意识到要对SQL注入做防护?关于Web系统安全的攻击方式非常多,诸如:XSS、CSRF等,未来还会原创 2022-07-08 17:20:38 · 575 阅读 · 0 评论 -
【微服务|SCG】gateway整合sentinel
sentinel服务1.6.0以上的版本可支持整合网关进行统一流控。原创 2022-07-07 13:25:55 · 1305 阅读 · 11 评论 -
【微服务|SCG】Filters的33种用法
filter原创 2022-07-05 00:55:50 · 503 阅读 · 6 评论 -
【微服务|SCG】Predicate的使用
说白了 Predicate 就是为了实现一组匹配规则,方便让请求过来找到对应的 Route 进行处理,接下来我们接下 Spring Cloud GateWay 内置几种 Predicate 的使用。原创 2022-07-04 17:39:46 · 451 阅读 · 2 评论 -
【微服务|SCG】从0到1搭建spring cloud gateway服务
从0到1搭建spring cloud gateway服务原创 2022-07-04 16:06:13 · 464 阅读 · 0 评论 -
【微服务|openfeign】使用openfeign远程调用文件上传接口
使用openfeign远程调用文件上传接口原创 2022-07-03 23:32:27 · 1305 阅读 · 3 评论 -
【微服务|openfeign】openfeign开启HttpClient和OkHttp
配置文件原创 2022-07-03 22:26:03 · 3705 阅读 · 1 评论 -
【微服务|openfeign】feign的两种降级方式|Fallback|FallbackFactory
上文我们对@FeignClient做了详细的介绍,接下来,我们来一起feign的两种降级方式。fallbackFactory 推荐:可以捕获异常信息并返回默认降级结果。可以打印堆栈信息。原创 2022-07-03 17:13:30 · 5555 阅读 · 4 评论 -
【微服务|openfeign】@FeignClient详解
整合的步骤大体和前者一致,我们先来看看@FeignClient。原创 2022-07-03 16:37:59 · 4194 阅读 · 0 评论 -
【微服务|openfeign】Feign的日志记录
Feign为每个Feign 客户端创建一个logger。原创 2022-06-30 23:44:54 · 1486 阅读 · 8 评论 -
【微服务|OpenFeign】openfeign的超时时间
因为该版本openfeign内部整合了ribbon,故可以通过对ribbon的配置来达到更改openfeign的超时时间等。spring-cloud-2020.0.0版本开始,这种配置即失效,可通过更改Request.Options,以达到ribbon这种效果。原创 2022-06-28 17:59:16 · 1937 阅读 · 4 评论 -
【微服务|OpenFeign】OpenFeign快速入门|基于Feign的服务调用
OpenFeign为微服务架构下服务之间的调用提供了解决方案,OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。OpenFeign可以用来简化HTTP的调用。...原创 2022-06-28 00:30:25 · 1869 阅读 · 10 评论 -
【微服务|Sentinel】重写sentinel的接口BlockExceptionHandler
上文,我们使用sentinel整合feign,让其在feign客户端统一对异常进行处理,其原理是在一个服务调用另一个服务的时候,如果检测到异常为BlockExceptionHandler,就使用兜底方法进行处理。原创 2022-07-02 17:17:54 · 1723 阅读 · 3 评论 -
【微服务|Sentinel】SentinelResourceAspect详解
上文我们讲到@SentinelResource注解,我们都知道注解只是一种标记,那么真正实现限流逻辑的就是AOP了。原创 2022-07-01 16:11:15 · 833 阅读 · 4 评论 -
【微服务|Sentinel】@SentinelResource详解
之前我们写过的文章中提到,在热点参数限流处,我们只能使用@SentinelResource注解来定义资源,才能生效,那么这个注解到底还有何用处呢?原创 2022-07-01 15:59:39 · 1453 阅读 · 0 评论 -
【微服务|Sentinel】sentinel整合openfeign
上文我们谈到sentinel的注解@SentinelResource以及其对异常兜底方案的处理。原创 2022-07-01 17:45:37 · 1284 阅读 · 6 评论 -
【微服务|Sentinel】sentinel数据持久化
为什么持久化?不持久化,重启应用,数据就没了啊。这也就是所谓的原始模式。原创 2022-06-27 17:51:16 · 913 阅读 · 4 评论 -
【微服务|Sentinel】热点规则|授权规则|集群流控|机器列表
热点规则|授权规则|集群流控|机器列表原创 2022-06-27 10:53:07 · 444 阅读 · 2 评论 -
【微服务|Sentinel】降级规则|慢调用比例|异常比例|异常数
降级规则原创 2022-06-26 21:04:57 · 655 阅读 · 5 评论 -
【微服务|Sentinel】流控规则概述|针对来源|流控模式详解<直接 关联 链路>
我们可在簇点链路进行流控设置,点开相关资源的流控按钮即可进行流控相关设置。原创 2022-06-25 14:11:44 · 1491 阅读 · 9 评论 -
【微服务|Sentinel】簇点链路|微服务集群环境搭建
"簇点链路"中显示刚刚调用的资源(单机实时),簇点链路(单机调用链路)页面实时的去拉取指定客户端资源的运行情况。原创 2022-06-24 17:38:30 · 1285 阅读 · 0 评论 -
【微服务|Sentinel】实时监控|RT|吞吐量|并发数|QPS
同一个服务下的所有机器的簇点信息会被汇总,并且秒级地展示在"实时监控"下。注意: 实时监控仅存储 5 分钟以内的数据,如果需要持久化,需要通过调用实时监控接口来定制。注意:请确保 Sentinel 控制台所在的机器时间与自己应用的机器时间保持一致,否则会导致拉不到实时的监控数据。.........原创 2022-06-24 17:38:12 · 1932 阅读 · 1 评论