随笔分类 - 13-微服务
摘要:一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权
阅读全文
该文被密码保护。
摘要:一. CAP5.X 新特性 (参考官方博客:https://www.cnblogs.com/savorboard/p/cap-5-0.html) 1. 适配 .NET 5 和 .NET Standard 2.1 2. 增加了对 NATS Transport 的支持 NATS 是一个简单,安全,高性能
阅读全文
摘要:一. 简介 1. 什么是本地事务? 基于关系型数据库的事务,叫做本地事务,也叫做数据库事务。 本地事务通常是应用和数据库在一个服务器上,利用数据库本身的事务特性,从而实现本地事务。 数据库事务的特性:ACID。 (1). 原子性(Atomicity):指一个事务内的所有操作要么都执行,要么都不执行。
阅读全文
摘要:一. CAP框架异常处理 1. RabbitMQ宕机 (1).模拟场景 直接把RabbitMq服务关闭,然后发送5次请求,会发现Published表中多了5条数据!!!!Received表中没有数据;然后打开RabbitMq服务,观察现象,仔细观察Published表,有3条记录已经重试了3次,是F
阅读全文
摘要:一. CAP框架简介 1. 什么是事件总线? 事件总线(EventBus)是一种机制,它允许不同的组件彼此通信而不彼此了解。 组件可以将事件发送到Eventbus,而无需知道是谁来接听或有多少其他人来接听。组件也可以侦听Eventbus上的事件,而无需知道谁发送了事件。 这样,组件可以相互通信而无需
阅读全文
摘要:一. 自身负载 1. 含义 实现Ocelot转发多个业务服务器,不去Consul中获取,直接在配置文件中配置。 LoadBalancer将决定负载均衡的算法 - LeastConnection – 将请求发往最空闲的那个服务器 - RoundRobin – 轮流发送 - NoLoadBalance
阅读全文
摘要:一. 模式探究 1.背景 在一些输入受限的设备上,要完成用户名和口令的输入是非常困难的,设备授权模式,可让用户登录到智能电视、 IoT 物联网设备或打印机等输入受限的设备。 若要启用此流,设备会让用户在另一台设备上的浏览器中访问一个网页,以进行登录。 用户登录后,设备可以获取所需的访问令牌和刷新令牌
阅读全文
摘要:一. PKCE机制 1. 准备 (1). IDS4_Server1:认证授权服务器 (2). MvcClient1:web客户端 然后将上述两个项目配置成授权码模式(如何配置见上一节 IdentityServer4授权码模式介绍和代码实操演练) PS: PKCE机制是在授权码模式的基础上,增加了几个
阅读全文
摘要:一. 前言 1.简介 授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 2. 流程图 流程 (A)用户访问客户端,后者将前者导向认证服务器。 (B)用户选择是否给予客户端授权。 (C)假设
阅读全文
摘要:一. 前言 1.业务背景 我们前面尝试了在业务服务器上加IDS4校验,实际上是不合理的, 在生产环境中,业务服务器会有很多个,如果把校验加在每个业务服务器上,代码冗余且不易维护(很多情况下业务服务器不直接对外开放),所以我们通常把校验加在Ocelot网关上,也就是说校验通过了,Ocelot网关才会把
阅读全文
摘要:一. 前言 1.简介 简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 注:该模式也有很大的弊端,就是请求令牌在浏览器中能被看到。 2. 流程图 流程 (A)客户端将用户
阅读全文
摘要:一. IDS4简介 1. 什么是IDS4 IdentityServer是基于OpenID Connect协议标准的身份认证和授权程序,它实现了OpenID 和 OAuth 2.0 协议。 2. 相关地址 (1).官网:https://identityserver4.readthedocs.io/en
阅读全文
摘要:一. 认证和授权 1. 身份验证 指当客户端访问服务端资源时,验证客户端是否合法的一种机制. eg: Core MVC中通过 app.UseAuthentication() 开启。最常见的是通过 用户名和密码,来验证您的身份。 2. 授权 指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制
阅读全文
摘要:一. Ocelot+jwt 方案1 本节架构图: 1. 方案背景 截至目前,我们已经完成了可以通过Ocelot转发请求给业务服务器了,但现在还有一项工作没有做,那就是身份校验,当然我们可以直接写在业务服务器上,但是业务服务器会非常多,不利于维护,所以最佳的写法是写在Ocelot网关上,让Ocelot
阅读全文
摘要:一. 基础说明 1. API网关剖析 (1).什么是Api API是Application Programming Interface缩写,翻译成中文就是应用程序接口。在实际微服务中可以理解一个个功能方法。就比如你一个商品服务的微服务, 可以对外提供 API 接口为,获取商品目录、获取商品详情等。
阅读全文
摘要:一. 简介 1. Polly是什么? Polly是 .Net Core 中有一个被.Net 基金会认可的库 ,可以用来简化熔断降级的处理。主要功能:失败处理-即降级(FallBack)、断路器-即熔断(CircuitBreaker)、重试(Retry)、超时检测(Timeout)、缓存(Cache)
阅读全文
摘要:一. 简介 本节架构图: (PS:该图仅服务于本节,完整版的微服务架构图见后最后章节) 1.什么是配置中心 配置中心通俗的说就是在程序不重启的情况下,动态的修改程序的配置文件。 通俗的解释:在微服务体系中,实际上就是把各个业务服务器的配置文件 eg:appsettings.json或其它配置文件中的
阅读全文
摘要:一. 简介 本节架构图: (PS:该图仅服务于本节,完整版的微服务架构图见后最后章节) 1. 什么是Consul? Consul是一个用来实现分布式系统的服务发现与配置的开源工具,它的可以实现服务提供者 和 服务消费者的隔离,比如:比如服务提供者(GoodsService)将自身注册到Consul中
阅读全文