解析Sers微服务-NetCore之Serslot

NetCore之Serslot

创建时间 2020-01-28 12:00    修改时间 2020-01-28 14:21


1.服务站点的生命周期

介绍Serslot之前,我们先了解一下服务站点的生命周期。

1.1 服务站点启动时

  1. 先使用api加载器(ApiLoader)查找本地提供的api,打包成api接口描述数据(SsApiDesc,json格式)
  2. 通讯层(CL,CommunicationLayer)连接服务中心,连接成功后,调用服务注册接口(/sys/serviceStation/regist)向服务中心注册本地api。

1.2 服务运行中

  1. 服务中心收到api调用请求,查找提供此api的服务站点(若查找到多个,则负载均衡,获取其中一个),通过通讯层向服务站点发送api请求。
  2. 服务站点收到api请求后进行处理,返回处理结果。

1.3 服务站点结束时

  1. 服务中心检测到服务站点结束时,关闭站点提供的api服务。

2.Serslot的使命

  现在我们想把net core web api接入服务中心,要怎么做呢?我们把这中间的服务注册、服务转发等工作全部交给Serslot完成,Serslot就是适配服务中心和net core web api的服务适配器。
  从上篇文档中我们知道把net core web api接入服务中心只需一行c#代码,而这行代码完成了Serslot所有的工作。

// Program.cs
 
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseSerslot()  //----添加代码2
                .UseStartup<Startup>();

那么这行代码究竟做了什么呢?

3.Serslot的具体职责

  第一段介绍了服务站点的生命周期,那么Serslot在这中间能做什么呢?

3.1 服务站点启动时

  1. 首先,Serslot使用api加载器(ApiLoader)查找本地提供的Api(查找项目入口dll中所有ControllerBase的子类)
  2. 打包成api接口描述数据(SsApiDesc,json格式)
  3. 向服务中心注册本地api。

3.2 服务运行中

Serslot在收到api请求后

  1. 把api请求包装成http请求格式
  2. 转发到HttpApplication,让HttpApplication处理
  3. 接受HttpApplication处理后的http结果
  4. 再通过通讯层(CL,CommunicationLayer)返回结果数据给服务中心
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值