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.cspublic 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)返回结果数据给服务中心

解析Sers微服务-NetCore之Serslot相关推荐

  1. 解析Sers微服务-NetCore之HelloWorld

    NetCore之HelloWorld 2020-01-27 18:17 Sers提供了3种c#接入的方式(用户亦可自定义接入),Serslot是对net core2.1 web api的原生支持.无需 ...

  2. Sers微服务架构 初探

    Sers微服务架构协议(Sers 2.0.1/release) Sers为一套跨平台跨语言的开源微服务架构协议. 单机QPS能达15万.目前支持C++.Java.c#. 此版本为v2.0.1版.(Re ...

  3. Sers微服务2.1.1

    # Sers微服务架构协议(Sers 2.1.1/release) Sers为一套跨平台跨语言的开源微服务架构协议. 单机QPS能达15万.目前支持C++.Java.c#. 此版本为v2.1.1版.( ...

  4. Sers微服务快速入门-02.快速接入

    微服务给我们的第一映像是架构复杂,部署起来麻烦.其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的场景面窄.在项目或产品的实际开发中往往随着时间的推进需要实 ...

  5. EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)

    引言 大家好像对分析源码厌倦了,说实在我也会厌倦,不过不看是无法分析其后面的东西,从易到难是一个必要的过程. 今天说下EventBus,前几天园里的大神已经把其解刨事件总线(Event Bus)知多少 ...

  6. Catalog Service - 解析微软微服务架构eShopOnContainers(三)

    上一篇我们说了Identity Service,因为其基于IdentityServer4开发的,所以知识点不是很多,今天我们来看下Catalog Service,今后的讲解都会把不同的.重点的拿出来讲 ...

  7. Identity Service - 解析微软微服务架构eShopOnContainers(二)

    接上一篇,众所周知一个网站的用户登录是非常重要,一站式的登录(SSO)也成了大家讨论的热点.微软在这个Demo中,把登录单独拉了出来,形成了一个Service,用户的注册.登录.找回密码等都在其中进行 ...

  8. Sers微服务快速入门-01.简介

    微服务给我们的第一映像是分布式.架构复杂庞大,部署起来非常麻烦.其实并非如此,不同的架构选型必然带来不同的优点和缺点,没有一劳永逸的方法,配置简单是因为适用的功能场景简单.在项目或产品的实际开发中往往 ...

  9. Sers微服务快速入门-00.目录

    Sers微服务快速入门-00.目录 01.简介 02.快速接入 未完待续

最新文章

  1. HTC与酷派 不是冤家不聚头
  2. 编写一个Zipkin Server
  3. 2021年10月到12月一个月学习总结2
  4. neatdm路径_扫地机还能这么玩 延时摄影看路径规划
  5. 光流(三)--LK算法改进(金字塔LK)
  6. 关于E-Prime 2.0 无法呈现音频的一种解决方案
  7. 解析数论引论 第2章 数论函数和狄利克雷乘积
  8. Android应用双开实现
  9. 【洛谷】P3376 【模板】网络最大流
  10. 智能路由器自建服务器,路由器怎么设置服务器_路由器搭建服务器
  11. 二维码制作方法有哪些?教你简单的二维码制作方法
  12. 唯美烟花特效登录页面,我感觉自己又行了
  13. 一起自学SLAM算法:8.1 Gmapping算法
  14. JeeSite学习记录
  15. 现代无线侦察技术(二):MANA 和已知信标攻击
  16. aps是什么意思_APS系统是什么意思?起什么作用
  17. mac上AnyProxy安装与使用
  18. 2022CPA审计-第一编 审计基本原理【4月27日,20天刷完审计】【题完-人麻-没学会系列】
  19. 面试流程及常见面试题
  20. 七夕给女朋友准备的小惊喜网站制作(html+css+js)

热门文章

  1. php如何实现余额充值,请问应用中实现绑定银行卡并进行消费、充值、提现一般是怎么搞的?...
  2. How to prevent subsequent initialization in Android
  3. 嵌入式linux系统包含几部分,嵌入式Linux操作系统的组成,不包括:()。
  4. 参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》 多目标粒子群 冷热电联供 综合能源系统 运行优化
  5. 年度十大卫星图像排行榜
  6. Accurately Say CocaCola!
  7. 域名升级访问中拿笔记好_赶快看看你的电脑中是否被植入了这个软件
  8. apache httpd.conf配置文件详解
  9. DuiLib 实现tooltip自定义鼠标提示窗口
  10. 什么是首席数据官?通过数据创造业务价值的领导者