
微服务
文章平均质量分 91
Archy_Wang
有些代码不应该被忘记,也没有源代码不应该被记住。
展开
-
Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。路由管理:Ocelot允许您定义路由规则,将请求路由到正确的微服务。认证和授权:Ocelot支持多种认证机制,如JWT、OAuth等,并允许您定义访问控制策略,确保只有授权的用户才能访问特定的API。原创 2025-01-16 15:55:15 · 1510 阅读 · 0 评论 -
Asp .Net Core 实现微服务:集成 Ocelot+Consul+Swagger+Cors实现网关、服务注册、服务发现
Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由、认证、限流、监控等。Ocelot是一个简单、灵活且功能强大的API网关,它可以与现有的服务集成,并帮助您保护、监控和扩展您的微服务。路由管理:Ocelot允许您定义路由规则,将请求路由到正确的微服务。认证和授权:Ocelot支持多种认证机制,如JWT、OAuth等,并允许您定义访问控制策略,确保只有授权的用户才能访问特定的API。原创 2025-01-16 15:53:36 · 1345 阅读 · 0 评论 -
Asp .Net Core实现微服务:集成 CORS跨域配置
CORS,全称是“跨源资源共享”(Cross-Origin Resource Sharing),是一种Web应用程序的安全机制,用于控制不同源的资源之间的交互。在Web应用程序中,CORS定义了一种机制,通过该机制,浏览器能够限制哪些外部网页可以访问来自不同源的资源。源由协议、域名和端口组成。当一个网页请求另一个网页上的资源时,浏览器会检查请求是否符合CORS规范,以确定是否允许该请求。原创 2025-01-16 15:39:37 · 793 阅读 · 0 评论 -
Asp .Net Core实现微服务:使用 Nacos 实现配置管理和服务发现
【代码】Asp .Net Core实现微服务:使用 Nacos 实现配置管理和服务发现。原创 2025-01-16 15:22:29 · 587 阅读 · 0 评论 -
Asp .Net Core实现微服务:集成 Consul 实现 服务注册与健康检查
Consul 是一款开源的服务发现和配置管理工具,它能够监控应用程序和服务之间的通信,并提供了一组 API 和 Web UI,用于管理服务和配置。服务发现:Consul 通过 DNS 或者 HTTP 接口使服务注册和服务发现变得很容易,一些外部服务,例如 saas 提供的也可以一样注册。健康检查:健康检测使 Consul 可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。键/值存储:一个用来存储动态配置的系统。提供简单的 HTTP 接口,可以在任何地方操作。原创 2025-01-16 15:17:00 · 867 阅读 · 0 评论 -
ASP.NET Core 实现 微服务 - 分布式事务 - 可靠消息最终一致性
通过以上我们详细介绍了可靠消息最终一致性事务解决方案的总体结构跟执行的流程,以及对异常情况的一些补偿方法,总体流程上还是比较清晰简单的。但是可靠消息最终一致性方案在使用上也是具有比较强的局限性,因为它的异步特性跟有可能出现的高延时性不适合处理一些敏感业务。比如它适合处理消费新增积分场景,但是不合适处理积分兑换礼品的场景。因为如果积分扣减延迟了,那么用户就可能兑换超出本身积分多的多的礼品。所以我们选择分布式事务的时候还需根据场景来进行选择。原创 2025-01-09 11:32:32 · 1012 阅读 · 0 评论 -
ASP.NET CORE 实现微服务 - 分布式事务 - 2PC、3PC、TCC
2PC 既 Two-phase Commit ,中文翻译为二阶段提交。2PC 要求每个事务的参与方都把一个事务抽象成2个阶段。下面大概分析下 2PC 事务的流程。参与方分布式事务中所有需要同时进入事务的业务方。协调器分布式环境下为了对多个事务参与方进行统一的调度管理,我们需要一个调度器。以上简单介绍了 2PC、3PC 分布式事务的原理。我们可以看到 2PC 在理想情况下是可以保证数据一致性的。原创 2025-01-09 11:24:38 · 1157 阅读 · 0 评论 -
ASP.NET Core 实现微服务 -- Polly 服务降级熔断
通过以上文字我们大致了解了什么是服务降级、什么是熔断。并且通过 Polly 演示了如何处理这些情况。最后使用 lemon 大佬的 AspectCore 封装成一个 Attribute 来演示如何通过 AOP 的思想来简化 Polly 的使用。原创 2025-01-09 08:42:36 · 1047 阅读 · 0 评论 -
ASP.NET Core 实现微服务 - Consul 配置中心
以上我们演示了如何把服务的配置迁移到 Consul 的 Key/Value 对象上并且实现了配置的读取及热更新。演示了 Ocelot 网关的路由配置如何迁移到 Consul 的 Key/Value 对象上并且不再写死下游服务的配置信息,而是使用 Consul 的服务发现能力动态获取下游服务的配置信息。通过以上演示我们可以发现整个过程还是非常简单易用的,虽然 Consul 做为配置中心功能相对于 apollo 等功能还不够强大,比如没有版本管理,用户权限,审计等功能,但是对于一些小的微服务项目也已经足够了。原创 2025-01-08 17:51:45 · 1073 阅读 · 0 评论 -
ASP.NET Core 实现微服务 - Elastic APM
我们通过以上内容,介绍了什么是Elastic APM ,如何安装Elastic APM,如何在 ASP.NET Core 程序里集成 Elastic APM 的 sdk ,以及简单介绍了 Kibana 上的展示信息,特别是服务调用链的内容。可以看到Elastic APM 还是非常不错的一款 APM 组件,特别是对 ASP.NET Core 的集成做到了几乎零代码入侵,界面也非常友好。原创 2025-01-08 17:45:48 · 1158 阅读 · 0 评论 -
ASP.NET Core 实现微服务 -- Seq 日志聚合
通过以上内容,我们简单的演示了 Seq 日志聚合工具的安装、与.net core 进行集成,查询日志等功能。Seq 虽然比起 ELK 比较冷门,但是最近跟一些朋友交流下来,发现很多朋友都开始使用 Seq 来做为日志聚合工具了。原创 2025-01-08 17:26:34 · 660 阅读 · 0 评论 -
ASP.NET Core 实现微服务 -- Consul 注册中心
通过以上,我们回顾了服务注册发现的概念。演示了如何通过 docker/docker-compose 环境来部署 Consul 集群。还通过简单的 .NET Core 代码演示了如何注册服务信息到 Consul 集群,如何通过代码获取服务列表并调用它。相信现在大家对服务注册发现、Consul 组件有了一个比较直观的了解。原创 2025-01-08 17:17:45 · 1568 阅读 · 0 评论 -
ASP.NET Core 实现微服务 - Ocelot 网关
本次我们通过几个最简单的web api项目,演示了如何使用 ocelot 网关进行反向代理,限流,聚合等常用功能。可以看到 ocelot 的配置使用还是比较简单的。原创 2025-01-08 17:09:42 · 958 阅读 · 0 评论 -
ASP.NET Core 实现微服务 -- 架构图
以上通过一张微服务架构图,大概讲解了微服务架构常用的分层方案,每一层的意义,为什么要这么分。介绍了常用的微服务组件的作用功能等等。至此我们对微服务架构应该有一个比较全面的了解。但是记住一句话,架构没有固定的模板没有定式,你可以根据自己的情况来划分层次,自己的情况来决定使用哪些组件。原创 2025-01-08 17:00:43 · 1007 阅读 · 0 评论 -
ASP.NET Core实现微服务--什么是微服务
其实微服务并没有统一的标准定义。微服务是一种软件架构的风格。它首先由大神martin fowler提出,2014年3月25号在他的博客上发表了一篇博客来描述了这种微服务的架构。相对于传统的单体(Monolithic)架构应用,微服务把单个进程的应用拆分为多个单独部署的服务。每个服务对外提供一些接口来进行服务间的通讯或者对第三方提供功能。每个独立的服务甚至使用自己独立的存储技术,独立的语言技术栈。原创 2025-01-08 10:51:21 · 1317 阅读 · 0 评论