随笔分类 -  eShopOnContainers

摘要:本文通过对云计算、云原生、Service Mesh等概念的追本溯源,带你领略下一代微服务架构Istio的演进历程。 阅读全文
posted @ 2021-01-10 17:52 「圣杰」 阅读(3468) 评论(3) 推荐(4) 编辑
摘要:1. 引言 在最新的eShopOnContainers 3.0 中Ocelot 网关被Envoy Proxy 替换。下面就来简要带大家了解下Envoy,并尝试梳理下为什么要使用Envoy替代Ocelot。 2. Hello Envoy ENVOY IS AN OPEN SOURCE EDGE AND 阅读全文
posted @ 2020-10-19 07:32 「圣杰」 阅读(5620) 评论(13) 推荐(25) 编辑
摘要:# 引言 最近翻看最新3.0 eShopOncontainers源码,发现其在架构选型中补充了 gRPC 进行服务间通信。那就索性也写一篇,作为系列的补充。 # gRPC 老规矩,先来理一下gRPC的基本概念。gRPC是Google开源的RPC框架,比肩dubbo、thrift、brpc。其优势在于 阅读全文
posted @ 2020-07-10 00:08 「圣杰」 阅读(3510) 评论(4) 推荐(9) 编辑
摘要:1. 引言 断断续续,感觉这个系列又要半途而废了。趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云。 2. 先了解下 Helm 读过我上篇文章 "ASP.NET Core 借助 K8S 玩转容器编排" 的同学,想必对K8S有了个大致了 阅读全文
posted @ 2019-04-06 22:06 「圣杰」 阅读(2962) 评论(3) 推荐(5) 编辑
摘要:客户端与微服务的通信永远是一个绕不开的问题,对于小型微服务应用,客户端与微服务可以使用直连的方式进行通信,但对于对于大型的微服务应用我们该如何处理呢? 本文就来梳理一下eShopOnContainers是如何集成Ocelot网关来进行通信的。 阅读全文
posted @ 2019-03-05 14:13 「圣杰」 阅读(3090) 评论(7) 推荐(8) 编辑
摘要:1. 引言 Ordering microservice(订单微服务)就是处理订单的了,它与前面讲到的几个微服务相比要复杂的多。主要涉及以下业务逻辑: 1. 订单的创建、取消、支付、发货 2. 库存的扣减 2. 架构模式 如上图所示,该服务基于CQRS 和DDD来实现。 从项目结构来看,主要包括7个项 阅读全文
posted @ 2019-01-24 09:02 「圣杰」 阅读(5088) 评论(15) 推荐(31) 编辑
摘要:引言 Basket microservice(购物车微服务)主要用于处理购物车的业务逻辑,包括: 1. 购物车商品的CRUD 2. 订阅商品价格更新事件,进行购物车商品同步处理 3. 购物车结算事件发布 4. 订阅订单成功创建事件,进行购物车的清空操作 架构模式 如上图所示,本微服务采用数据驱动的C 阅读全文
posted @ 2019-01-04 11:21 「圣杰」 阅读(2629) 评论(0) 推荐(7) 编辑
摘要:1. 引言 事件总线解决了微服务间如何基于集成事件进行异步通信的问题。然而只有事件总线正常运行,微服务之间基于事件的通信才得以运转。 而现实情况是,总有这样或那样的问题,导致事件总线不稳定或不可用,比如:网络中断,系统断电等等,这都可能导致微服务间的不一致性问题。 那如何解决事件总线故障导致的不一致 阅读全文
posted @ 2018-12-11 12:15 「圣杰」 阅读(4071) 评论(5) 推荐(8) 编辑
摘要:1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布 订阅)模式,你也许就很熟悉。事件总线是对发布 订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。 从上图可知,核心就4个角色: 1. 事件(事件源+事件处理) 2. 阅读全文
posted @ 2018-12-03 08:08 「圣杰」 阅读(7796) 评论(20) 推荐(18) 编辑
摘要:引言 Catalog microservice(目录微服务)维护着所有产品信息,包括库存、价格。所以该微服务的核心业务为: 1. 产品信息的维护 2. 库存的更新 3. 价格的维护 架构模式 如上图所示,本微服务采用简单的数据驱动的CRUD微服务架构,来执行产品信息的创建、读取、更新和删除(CRUD 阅读全文
posted @ 2018-11-28 23:36 「圣杰」 阅读(4976) 评论(0) 推荐(4) 编辑
摘要:首先感谢晓晨Master和EdisonChou的审稿!也感谢正在阅读的您! 引言 通常,服务所公开的资源和 API 必须仅限受信任的特定用户和客户端访问。那进行 API 级别信任决策的第一步就是身份认证——确定用户身份是否可靠。 在微服务场景中,身份认证通常统一处理。一般有两种实现形式: 1. 基于 阅读全文
posted @ 2018-10-22 06:54 「圣杰」 阅读(10690) 评论(11) 推荐(36) 编辑
摘要:环境准备 1. Win10(开启Hyper V) 2. ".NET Core SDK" 3. "Docker for Windows" 4. "VS2017 or VS Code" 5. "Git" 6. "SQL Server Management Studio" (可选) 7. "Redis D 阅读全文
posted @ 2018-10-16 09:06 「圣杰」 阅读(11900) 评论(24) 推荐(17) 编辑
摘要:引言 在微服务大行其道的今天,Java阵营的Spring Boot、Spring Cloud、Dubbo微服务框架可谓是风水水起,也不得不感慨Java的生态圈的火爆。反观国内.NET阵营,微服务却不愠不火。 微软在其官网的架构体系上推出了 "eShopOnContainers" 微服务参考应用,用来 阅读全文
posted @ 2018-10-15 08:55 「圣杰」 阅读(20116) 评论(9) 推荐(44) 编辑