.NET培训
美国上市.NET培训机构

400-111-8989

热门课程

5个独特的.Net服务器框架

  • 时间:2016-11-25
  • 发布:.Net培训
  • 来源:NET学习笔记

在实际开发工作中,为了方便调用和提高服务治理效率,有时就需要使用服务框架。今天PPPCloud为大家介绍在.Net开发工作中,5个比较独特的服务框架:

✲ ServiceStack

✲ Hession

✲ Rabbit.Rpc

✲ Dyd.BaseService.ServiceCenter

✲ Redola.Rpc

ServiceStack

有的开发者可能不熟悉ServiceStack,但是它的另外两个组件:ServiceStack.Redis( Redis 访问工具)和ServiceStack.Text(Json序列化工具),想必用过的人就不少了。

ServiceStack就是一服务框架,可以很方便的用来创建服务,服务是基于http的,另外提供了客户端调用, 数据的序列化方式包含Json , xml , 二进制,Protobuf ,并且创建出来的服务带有一定的描述。

在http请求中,请求路径和参数都很关键。利用ServiceStack, 参数即对象,即它要传递的参数都封装到一个类里面, 另外在类上打标签,标签内容就是请求路径,这样客户端在调用的时候,反射出请求路径和参数,即可发起调用。

Hession

Hession是一个序列化工具,同时也是一个服务框架,提供有多语言的实现,包括.net,这个组件虽然在.Net领域比较冷门,但也有它的亮点久。

使用Hession的时候,首先需要定义接口,然后一式两份,服务端来实现这些接口, 客户端引用这些接口,然后客户端使用了RealProxxy类做代理, 所有接口调用最终会调用代理的Invoke方法, 在Invoke方法里面获取要调用的方法的名称, 参数等内容,经过序列化发送到服务端一个统一的url上, 这个url会以hession结尾, 所以需要在web.config中配置一个handle来拦截请求, 拦截到请求后,反序列化参数, 然后通过反射发起调用。

Rabbit.Rpc

在实施上和Hessin的有很多相似之处,也是先定义服务接口,然后一式两份,服务端通过继承接口来实现具体的逻辑。

对于客户端,通过反射提取出接口内的所有方法,以及方法参数及返回值信息,然后采取动态生成代码的方式,生成一份代理类,再动态编译,放入到容器中。 生成的代理类,所有方法都是一个统一的实现,即调用一个Invoke方法把方法和参数发给底层,底层组装发送到服务端。

另外,这个框架同时集成了服务治理,服务注册到Zookeeper, 客户端通过Zoopeeper拿到具体的服务地址进行调用。 这已经不仅仅是一个服务框架,同时包含了服务治理功能。

Dyd.BaseService.ServiceCenter

支持Thrift,支持多种服务通信协议(thrift,自定义协议),管理中心发布服务,服务节点自动注册节点信息,支持服务负载均衡,自动移除故障服务节点。提供服务节点Cpu占用,内存占用,线程,调用次数,连接数等相关数据的监控,记录出错日志。

Redola.Rpc

一个使用了Actor模型的框架,序列化使用protobuf-net,传输方式是基于tcp , tcp框架使用自配置的Cowboy.WebSockets,实现了服务中心功能。

上一篇:4个重要的.net基本
下一篇:.NET开发工具之Excel导出公共类

.NET基础之C# 基本语法

.NET培训机构汇总C#数据类型

5个独特的.Net服务器框架

选择城市和中心
贵州省

广西省

海南省