Silky微服务框架之模块】的更多相关文章

模块的定义 Silky是一个包括多个nuget包构成的模块化的框架,每个模块将程序划分为一个个小的结构,在这个结构中有着自己的逻辑代码和自己的作用域,不会影响到其他的结构. 模块类 一般地,一个模块的定义是通过在该程序集内创建一个派生自 SilkyModule的类,如下所示: public class RpcModule : SilkyModule { } SilkyModule是一个抽象的类,它定义了模块的基础方法,体现了模块在框架中的作用; SilkyModule模块定义的核心代码如下所示:…
目录 服务治理的概念 服务注册与发现 负载均衡 超时 故障转移(失败重试) 熔断保护(断路器) 限流 RPC限流 HTTP限流 1. 添加配置 2. 注册服务 3.启用 AspNetCoreRateLimit 的 相关中间件,实现HTTP限流. 服务回退(服务降级) 在服务端实现回退方法 在消费端实现回退方法 链路跟踪 安全 缓存拦截 开源地址 在线文档 在线示例 服务治理的概念 服务治理是主要针对分布式服务框架.微服务,处理服务调用之间的关系,服务发布和发现(谁是提供者,谁是消费者,要注册到哪…
目录 服务注册中心简介 服务元数据 主机名称(hostName) 服务列表(services) 终结点 时间戳 使用Zookeeper作为服务注册中心 使用Nacos作为服务注册中心 使用Consul作为服务注册中心 开源地址 在线文档 在线示例 服务注册中心简介 在分布式系统中,服务注册中心的作用是将部署服务实例的机器地址以及其它元数据记录到注册中心,服务消费者在有需求的时候,通过查询注册中心,输入提供的服务名,获取到地址,从而发起调用. 在微服务架构下,主要有三种角色:服务提供者(RPC S…
构建服务引擎 在注册Silky微服务应用一节中,我们了解到在ConfigureServices阶段,通过IServiceCollection的扩展方法AddSilkyServices<T>()除了注册必要的服务之外,更主要的是构建了服务引擎(IEngine). 下面,我们学习在IServiceCollection的扩展方法AddSilkyServices<T>()中完成了什么样的工作.如下所示的代码为在包 Silky.Core 的 ServiceCollectionExtensio…
目录 主机的概念 通用主机 web主机 业务主机类型 使用web主机构建微服务应用 使用通用主机构建微服务应用 构建具有websocket能力的微服务应用 构建网关 开源地址 在线文档 主机的概念 silky的主机与.net的主机概念一致.是封装应用资源的对象,用于托管应用和管理应用的生命周期. 通用主机 如果用于托管普通的业务应用,该微服务模块本身并不需要对直接对集群外部提供访问入口.那么,您可以使用.net的通用主机注册silky服务框架..net的通用主机无法提供http请求,也无法配置h…
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. Taurus.MVC 微服务框架 入门开发教程:项目集成:1.服务端:注册中心.网关. Taurus.MVC 微服务框架 入门开发教程:项目集成:2.客户端:ASP.NET(C#)编程语言项目集成:应用中心. Taurus.MVC 微服务框架 入门开发教程:项目集成:3.客户端:其它编程语言项目…
目录 概念 .net的通用主机 .net的web主机 lms的业务主机类型 用于托管业务应用的普通主机 1. 创建一个应用台程序 2. 安装Silky.Lms.NormHost包 3. 注册LMS服务 4. 新增主机必要的配置项 5. 运行主机 5. 托管应用 支持websocket通信的业务主机 接受Http请求的web主机 1. 创建一个空的asp.net web应用 2. 安装Silky.Lms.WebHost包 3. 注册LMS服务 4. 在Startup类中设置swagger文档和启用…
代理主机 silky微服务定义了三种类型的代理主机,开发者可以根据需要选择合适的silky代理主机托管微服务应用.代理主机定义了一个Startup模块,该模块给出了使用该种类型主机所必须依赖的模块. 通用代理主机 该类型的主机一般用于托管业务应用,服务内部之间通过rpc进行通信,不支持与微服务集群与外部进行通信,web代理主机可以通过引用该类型的微服务的应用接口,通过应用接口生成的代理与该微服务进行通信.该类型的微服务使用.net的通用主机进行托管引用.定义的Startup模块如下所示: [De…
一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着岁月的成长,技术也从原来的三层设计到现在的领域驱动设计,从原来的关系型数据库SQL 2000到现在的NOSQL (mongodb,couchbase,redis),从原来基于SOAP协议的web service到现在基于restful 协议的web api,wcf,再到现在rpc微服务.技术的成长也…
1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://github.com/dotnetcore/surging 2. API网关 简介 API 网关是服务提供者的访问入口,主要起到隔离外部访问与内部系统的作用.它主要解决服务消费者的身份认证.监控.负载均衡.缓存.限流等问题. API网关的流行,源于近几年的大型互联网的兴起,从以前的单体应用,到垂直应用架构…