From f7a95c3952729ca7aa34a0ee73ddee22ad499653 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 24 Apr 2024 16:58:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9D=83=E9=99=90=E8=81=9A=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/helloshop/design.md | 7 ++- notes/helloshop/gateway-aggregation.md | 59 +++++++++++++++++++++++++ notes/helloshop/image.png | Bin 0 -> 17048 bytes 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 notes/helloshop/gateway-aggregation.md create mode 100644 notes/helloshop/image.png diff --git a/notes/helloshop/design.md b/notes/helloshop/design.md index ab5b6f0..faf6b93 100644 --- a/notes/helloshop/design.md +++ b/notes/helloshop/design.md @@ -60,11 +60,16 @@ https://github.com/radzenhq/radzen-blazor 风格统一、易用性、可定制性、性能优化、文档完善、社区活跃、维护更新、商业授权等因素都会影响组件库的选择。 - ## 原型工具 MasterGo 和 Figma 是两个常用的原型工具,可以用来设计和制作用户界面原型,提供了丰富的组件库和交互效果,可以帮助设计师快速制作用户界面原型。 +## 设计令牌 + +设计令牌(Design Tokens)是一种用于设计系统的可重用的设计元素,包括颜色、字体、间距、阴影等,可以帮助设计师和开发者快速设计和开发用户界面。设计令牌可以提高设计的一致性和可维护性,减少重复工作,提高工作效率。 + +https://zhuanlan.zhihu.com/p/499465845 + ## 互补色 diff --git a/notes/helloshop/gateway-aggregation.md b/notes/helloshop/gateway-aggregation.md new file mode 100644 index 0000000..ac3539c --- /dev/null +++ b/notes/helloshop/gateway-aggregation.md @@ -0,0 +1,59 @@ +# 网关聚合 + +使用网关可将多个单独请求聚合成一个请求。 当客户端必须向不同的后端系统发出多个调用来执行某项操作时,此模式非常有用。 + + +## 上下文和问题 + +在某些情况下,客户端需要向多个后端系统发出多个请求。 例如,客户端可能需要从多个服务中检索数据,然后将这些数据聚合到一个响应中。 在这种情况下,客户端必须发出多个请求,这可能会导致性能问题。 此外,客户端还必须处理多个响应,这可能会导致复杂性问题。 + +![gateway-aggregation-problem](https://oss.xcode.me/notes/helloshop/gateway-aggregation-problem.svg) + + + +## 解决方案 + +使用网关减少客户端与服务之间的通信频率。 网关会接收客户端请求,将请求分派到不同的后端系统,然后聚合结果并将其返回给请求客户端。此模式可以减少应用程序向后端服务发出的请求数,并通过高延迟网络改进应用程序的性能。 + +![gateway-aggregation](https://oss.xcode.me/notes/helloshop/gateway-aggregation.svg) + +## 权限聚合 + +```csharp +public interface IPermissionService +{ + Task> GetAllPermissionDefinitionsAsync(CancellationToken cancellationToken=default); +} +``` + +## 重构用户和角色控制器 + +修改 UsersController 从 IdentityServiceDbContext 更改为 UserManager + +实现 RolesController 使用 RoleManager + +UserCreateRequestValidator 从 IdentityServiceDbContext 更改为 UserManager + + +## 远程权限检查 BUG 修复 + +```csharp +public async Task CheckPermission(int roleId, string permissionName, string? resourceType = null, string? resourceId = null) +``` + +## 注意事项 + +- 网关不应在后端服务之间造成服务耦合。 + +- 网关应靠近后端服务,以尽量降低延迟。 +- 网关服务可能会造成单一故障点。 请确保网关设计合理,符合应用程序的可用性要求。 +- 网关可能造成瓶颈。 请确保网关可提供足够的性能来处理负载,并可根据预期的发展进行缩放。 +- 对网关执行负载测试,确保不会对服务造成连锁故障。 +- 使用隔舱、断路、重试和超时等技术实施弹性设计。 +- 如果一个或多个服务调用花费的时间过长,那么超时并返回部分数据集是可以接受的。 请考虑应用程序处理这种情况的方式。 +- 使用异步 I/O 来确保后端延迟不会导致应用程序中出现性能问题。 +- 使用关联 ID 实施分布式跟踪,以跟踪每个调用。 +- 监视请求指标和响应大小。 +- 考虑返回缓存的数据(作为故障转移策略)来处理故障。 +- 不要在网关中内置聚合,而应考虑将聚合服务放在网关后面。 请求聚合的资源要求可能与网关中其他服务不同,并可能影响网关的路由和卸载功能。 + diff --git a/notes/helloshop/image.png b/notes/helloshop/image.png new file mode 100644 index 0000000000000000000000000000000000000000..227892ea5a9a312bb8ea7b3a5947d6b392ecc19d GIT binary patch literal 17048 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 literal 0 HcmV?d00001 From 3654521f2ea0858dd39e6fecbac834ab34588c83 Mon Sep 17 00:00:00 2001 From: hello Date: Thu, 25 Apr 2024 15:50:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/helloshop/gateway-aggregation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes/helloshop/gateway-aggregation.md b/notes/helloshop/gateway-aggregation.md index ac3539c..c1ded94 100644 --- a/notes/helloshop/gateway-aggregation.md +++ b/notes/helloshop/gateway-aggregation.md @@ -34,6 +34,8 @@ public interface IPermissionService UserCreateRequestValidator 从 IdentityServiceDbContext 更改为 UserManager +权限定义端点返回的 Json 中 name 属性更改为 groupName + ## 远程权限检查 BUG 修复