Ant.SOA微服务框架开源

时间:2023-03-10 05:05:26
Ant.SOA微服务框架开源
框架特色0.Service Management(服务治理)
1.CodeGen Contract First(契约先行)
2.consul服务发现
3.Plugin 可插拔
4.同时支持XML, JSON, Proto-buf(binary)等序列化格式同时支持Restful和RPC调用方式
5.统一的错误处理模型(Unified Error Handling Model)
6.统一的请求验证模型(Unified Request Validation Model)
7.熔断功能
8.支持Aajx, JSONP等Web 2.0调用方式
部署consul
consul.exe agent -dev -advertise=192.168.1.2 -client 192.168.1.2
Ant.SOA微服务框架开源
打开consul ui(http://192.168.1.2:8500/ui)确保访问没有问题
Ant.SOA微服务框架开源
部署服务治理
1.系统的DB
(sql文件在AntServiceStack.Manager\Config\antsoa_20170328.sql)
有2张表 结构如下
Ant.SOA微服务框架开源
services 服务表
Ant.SOA微服务框架开源
nodes 服务节点表
 Ant.SOA微服务框架开源
创建好db后
2.配置环境
Ant.SOA微服务框架开源
配置1步骤中部署的db
Ant.SOA微服务框架开源
配置之前部署的consul地址
Ant.SOA微服务框架开源
打开服务治理系统
Ant.SOA微服务框架开源
如何使用?
1.创建一个服务
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
2.创建一个web服务[TestHelloWorld]
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
新建一个 global.asax
Ant.SOA微服务框架开源
添加soa 框架的引用
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
我们开始写契约(建议新建一个Contract的文件夹)
Ant.SOA微服务框架开源
然后编辑 刚才添加的 HelloWorld.xsd文件将common的引用进来
Ant.SOA微服务框架开源
下面我们开始写接口的契约
首先得安装codegen
Ant.SOA微服务框架开源
搜索 Ant.SOA.CodeGen 安装 [注意目前暂时只支持vs2015 vs2013如果有需要可以修改一下配置重新做一个vsix安装包即可]
Ant.SOA微服务框架开源
假设我们想要下面的接口
接口名称为SayHello
Request类型为Enum字段 0 代表中文 1代表日文
Response类型有一个字段(string)
为了配合codegen使用 有一些约定
1.Request的类型得已Request结尾
2.Response的类型得已Response结尾,必须带上公共的返回字段(因为框架有统一的错误处理模型(Unified Error Handling Model))
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
使用CodeGen 将xsd转成 wsdl文件
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
第一次使用需要从服务治理中心同步一下
填写服务治理中心的访问地址 + Service/GetAllRemoteServices
例如我的服务治理中心的地址为
Ant.SOA微服务框架开源
点击同步后
Ant.SOA微服务框架开源
下一步
Ant.SOA微服务框架开源
下一步
Ant.SOA微服务框架开源
然后一直点击下一步直至结束
Ant.SOA微服务框架开源
然后根据wsdl 生成代码
Ant.SOA微服务框架开源
先生成server端
Ant.SOA微服务框架开源
生成Client
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
ITestHelloWorldService.cs 有一个接口 我们要实现下这个服务
Ant.SOA微服务框架开源
创建一个SoaController.cs 继承 ITestHelloWorld
并实现下功能
Ant.SOA微服务框架开源
然后新建一个ServerHost.cs 继承 AppHostBase
配置服务发现
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
注意 web.config文件里面要配置consul的地址 和 框架指定的 httphandle
如下:
Ant.SOA微服务框架开源
F5启动
就会去consul注册服务
Ant.SOA微服务框架开源
我们刷新服务治理中心的 【服务发现】
Ant.SOA微服务框架开源
已经成功注册服务
框架已经继承了swagger-ui
可以很方便的对接口进行测试
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
到此为止 我们用Ant.soa做的服务已经发布上线了
如果你部署到多太机器 也是都可以成功上线的。
下面在介绍下如何把服务给到别人去使用
之前我们有介绍用codegen生成client端的cs文件
这个就是给到别人使用的契约 一般我们都是给dll文件对吧
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
生成好dll
Ant.SOA微服务框架开源
下面我来搞一个console程序来测试这个client dll 来调用 刚才的服务
Ant.SOA微服务框架开源
app要记得配置soa的服务中心的地址 加上 固定后缀为/antsoa
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
Ant.SOA微服务框架开源
demo下载地址
Ant.SOA微服务框架开源
希望有兴趣的朋友加入我一起来完善这个框架
qq群609142508