Ant.SOA微服务框架开源_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Ant.SOA微服务框架开源

Ant.SOA微服务框架开源

 2017/3/30 5:32:40  鱼东东  程序员俱乐部  我要评论(0)
  • 摘要:开源地址:https://github.com/yuzd/AntServiceStack框架特色0.ServiceManagement(服务治理)1.CodeGenContractFirst(契约先行)2.consul服务发现3.Plugin可插拔4.同时支持XML,JSON,Proto-buf(binary)等序列化格式同时支持Restful和RPC调用方式5.统一的错误处理模型(UnifiedErrorHandlingModel)6.统一的请求验证模型
  • 标签:服务 开源 Ant
开源地址:https://github.com/yuzd/AntServiceStack  
框架特色
0.Service Management(服务治理) 1.CodeGen Contract First(契约先行) 2.consul服务发现 3.Plugin 可插拔 4.同时支持XMLJSON, Proto-buf(binary)等序列化格式同时支持Restful和RPC调用方式 5.统一的错误处理模型(Unified Error Handling Model) 6.统一的请求验证模型(Unified Request Validation Model) 7.熔断功能 8.支持Aajx, JSONP等Web 2.0调用方式
部署consul 下载地址https://www.consul.io/ consul.exe agent -dev -advertise=192.168.1.2 -client 192.168.1.2 打开consul ui(http://192.168.1.2:8500/ui)确保访问没有问题   部署服务治理 1.系统的DB (sql文件在AntServiceStack.Manager\Config\antsoa_20170328.sql) 有2张表 结构如下

 

services 服务表

 

nodes 服务节点表  

 

创建好db后   2.配置环境 配置1步骤中部署的db

 

配置之前部署的consul地址   打开服务治理系统

 

  如何使用? 1.创建一个服务       2.创建一个web服务[TestHelloWorld]     新建一个 global.asax

 

  添加soa 框架的引用   我们开始写契约(建议新建一个Contract的文件夹)   将https://github.com/yuzd/AntServiceStack/tree/master/AntServiceStack.Common/AntCommonTypes_V1里面的AntSOACommonTypes_V1.1.0.xsd 文件copy进来 然后编辑 刚才添加的 HelloWorld.xsd文件将common的引用进来 下面我们开始写接口的契约 首先得安装codegen   搜索 Ant.SOA.CodeGen 安装 [注意目前暂时只支持vs2015 vs2013如果有需要可以修改一下配置重新做一个vsix安装包即可]   假设我们想要下面的接口 接口名称为SayHello Request类型为Enum字段 0 代表中文 1代表日文 Response类型有一个字段(string) 为了配合codegen使用 有一些约定 1.Request的类型得已Request结尾 2.Response的类型得已Response结尾,必须带上公共的返回字段(因为框架有统一的错误处理模型(Unified Error Handling Model))       使用CodeGen 将xsd转成 wsdl文件   第一次使用需要从服务治理中心同步一下 填写服务治理中心的访问地址 + Service/GetAllRemoteServices 例如我的服务治理中心的地址为 http://localhost/AntServiceStack.Manager/ 那么我填写http://localhost/AntServiceStack.Manager/Service/GetAllRemoteServices 点击同步后 下一步 下一步 然后一直点击下一步直至结束   然后根据wsdl 生成代码 先生成server端   生成Client   ITestHelloWorldService.cs 有一个接口 我们要实现下这个服务 创建一个SoaController.cs 继承 ITestHelloWorld 并实现下功能   然后新建一个ServerHost.cs 继承 AppHostBase 配置服务发现   注意 web.config文件里面要配置consul的地址 和 框架指定的 httphandle 如下: F5启动 就会去consul注册服务   我们刷新服务治理中心的 【服务发现】   已经成功注册服务 框架已经继承了swagger-ui 可以很方便的对接口进行测试       到此为止 我们用Ant.soa做的服务已经发布上线了 如果你部署到多太机器 也是都可以成功上线的。   下面在介绍下如何把服务给到别人去使用 之前我们有介绍用codegen生成client端的cs文件 这个就是给到别人使用的契约 一般我们都是给dll文件对吧   生成好dll 下面我来搞一个console程序来测试这个client dll 来调用 刚才的服务 app要记得配置soa的服务中心的地址 加上 固定后缀为/antsoa       demo下载地址  

 

希望有兴趣的朋友加入我一起来完善这个框架 qq群609142508
发表评论
用户名: 匿名