SOA: 【Service Oriented Architecture 服务导向架构】 面向服务架构,把系统按照实际业务,拆分成刚刚好大小的、合适的、独立部署的模块,每个模块之间相互独立。
ESB: 【Enterprise Service Bus 企业服务总线】 -警用实在平台 连接多个厂家的不同设备
REST: REST就是http+json的形式。
SOAP:通俗理解就是服务间通过http+xml的形式完成数据交换。
RPC : 是基于socket的形式。
Consul:用于实现分布式系统的服务发现与配置 健康检查
业界常用的服务注册与服务发现工具有 ZooKeeper /ˈzuːkiːpə(r)/、etcd、Consul 和 Eureka /juˈriːkə/
Ocelot【/ˈɒs.əl.ɒt/】:路由、请求聚合、服务发现、认证、鉴权、限流熔断
Polly 【/ˈpɒli/】:是一个 .NET 弹性和瞬态故障处理库,允许开发人员以 Fluent 和线程安全的方式来实现重试、断路、超时、隔离和回退策略
static void Main(string[] args)
{
Task.Run(async () =>
{
await Policy.Handle<Exception>().Retry(3).Execute(() => GetSTRRR());
});
Console.ReadKey();
}
private static Task<string> GetSTRRR()
{
Console.WriteLine("D");
throw new Exception("dd");
}
Skywalking-Apache:是一款分布式链路追踪组件
Exceptionless - .Net Core开源日志框架
Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。其服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器
ORM【object-relational mapping 对象关系映射】:Entity Framework 、 NHibernate 、 SqlSugar (国产)、 Dapper、
IoC 最常见以及最合理的实现方式叫做依赖注入(Dependency Injection,简称 DI)
IOC【(Inversion of control )控制反转/反转控制】框架
- Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。
- MEF(Managed Extensibility Framework):是一个用来扩展.NET应用程序的框架,可开发插件系统。
- Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。
- Autofac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。
- Ninject:基于.NET轻量级开源的依赖注入IOC框架
AOP【Aspect oriented programming 面向切面编程】框架
- Castle
- Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。
- NKalore 是一款编程语言,它扩展了C#允许在.net平台使用AOP。NKalore的语法简单、直观,它的编译器是基于Mono C#编译器(MCS)。NKalore目前只能在命令行或#Develop内部使用。NKalore兼容公共语言规范CLS(Common Language Specification),它可以在任何.NET开发环境中使用,包括微软的Visual Studio .NET。
- PostSharp 读取.NET字节模块,转换成对象模型。让插件分析和转换这个模型并写回到MSIL。PostSharp使开发程序分析应用程序容易得像分析代码规则和设计模式,它使程序开发的思想变革为面向方面软件开发(AOSD/AOD)思想。
- AspectDNG 的目标是为.NET开发人员提供简单而功能强大的AOP-GAOP实现。它效仿Java下的开源工具AspectJ 和 Spoon,成熟程度也很接近它们。
- RAIL(Runtime Assembly Instrumentation Library) 开源项目可以在C#程序集加载和运行前进行处理控制调整和重新构建。C#在CLR中,我们已经能够动态加载程序集并且获得程序集中的类和方法,RAIL(Runtime Assembly Instrumentation Library)的出现填补了CLR处理过程中的一些空白。
- SetPoint是一款.NET框架下的全功能(full-featured)AOP引擎.它着重为称为语义切点(semantic pointcuts)的定义依赖RDF/OWL的使用.它的功能为一个IL-level,highly dynamic weaver&LENDL,一个引人注目的定义语言、、、、、、
- DotNetAOP为 CLR language提供AOP 框架基础属性。
- NAop是一个DotNet下的AOP框架。
- AspectSharp是DotNet下的免费AOP框架,它以Dynamic Proxies和XML作为配置文件。