随笔分类 -  13-微服务

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