微服务入门与 .NET 技术栈实践
1. 微服务概述
微服务在协作完成用户请求时,每个微服务都有单一、明确的目的,且对其他微服务的了解尽可能少。例如,购物车微服务对定价或价格计算微服务一无所知,也不了解产品目录微服务中产品的存储方式。这是微服务的核心:每个微服务都有单一的职责。
当用户在电子商务网站将商品添加到购物车时,除了将商品添加到购物车外,还会发生一些其他操作:
1. 推荐引擎更新 :推荐引擎更新其内部模型,以反映用户对该特定产品表现出的高度兴趣。
2. 跟踪服务记录 :跟踪服务在跟踪数据库中记录用户将商品添加到购物车的信息,这些信息日后可用于报告或其他商业智能目的。
这些操作可视为用户请求的副作用,它们并非更新用户购物车请求的直接结果,而是由于商品被添加到购物车而产生的次要影响。这些副作用的触发点是购物车微服务发布的 ItemAddedToShoppingCart 事件。另外两个微服务订阅购物车的事件,并在事件发生时采取必要的操作。这两个订阅者异步响应事件,因此副作用可能与请求的主要处理并行发生,也可能在主要处理完成后发生。
处理将商品添加到购物车的请求总共涉及六个不同的微服务,这些微服务彼此不了解内部情况,其中五个有自己的私有数据存储。部分处理在用户请求的上下文中同步进行,部分则异步进行。这是一个典型的微服务系统,请求通过多个微服务的协作来处理,每个微服务都有单一的职责,并且尽可能相互独立。
2. .NET 微服务技术栈
2.1 Nancy
Nancy(htt
超级会员免费看
订阅专栏 解锁全文
815

被折叠的 条评论
为什么被折叠?



