skyapi:一个简单的Websocket API,位于SkyDNSetcd的前面,并管理服务的活动进程

  • Y2_896538
    了解作者
  • 10.9KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-25 07:22
    上传日期
Skyapi 一个简单的websocket API,位于SkyDNS / etcd的前面,并管理服务的活动进程。 进程与skyapi建立长期的websocket连接,并提供有关所提供服务,主机/端口以及可选的权重或优先级的信息(有关权重/优先级的更多信息,请参见)。 关闭连接后,该进程的条目将从其服务中删除。 DNS条目 SkyDNS始终具有其服务的根域,并且其所有条目都必须在该域下。 根域是可配置的,但是skyapi也必须知道这一点。 对于其余示例,我们将说根域为turtles.com 。 skyapi将子域下的条目分类。 默认情况下,此子域是services但可以全局配置,也可以基于每个连接进行配置。 可以发送多个类别,以允许子域为多级。 例如, category=services,production会使该条目位于{service}.services.production.tu
skyapi-master.zip
  • skyapi-master
  • main.go
    8.2KB
  • client
  • client.go
    5.8KB
  • LICENSE
    10KB
  • README.md
    2.4KB
内容介绍
# skyapi A simple websocket API which sits in front of SkyDNS/etcd and manages active processes for services. Processes make a long-held websocket connection to skyapi with information about the service they're providing for, their host/port, and optionally weight or priority (See the [SkyDNS docs](https://github.com/skynetservices/skydns) for more on weight/priority). When the connection is closed the entry for that process will be removed from its service. ## DNS Entries SkyDNS always has a root domain it serves, and all of its entries must be under this domain. The root domain is configurable, but skyapi must also know about it. For the rest of the examples we're going to say the root domain is `turtles.com`. skyapi categorizes entries under a sub-domain. By default this sub-domain is `services` but this can be configured both globally and on a per-connection basis. Multiple categories can be sent to allow the sub-domain to be multi-level. For instance, `category=services,production`, would make the entry be under `{service}.services.production.turtles.com`. For example, if a process creates a connection saying it provides the `foo` service then it will be added to the pool under `foo.services.turtles.com`. ## Build go get github.com/mediocregopher/skyapi cd $GOPATH/src/github.com/mediocregopher/skyapi go build ## Usage skyapi listens by default on port 8053. It exposes a single websocket endpoint, `/provide`. This endpoint accepts the following GET parameters: * **service** (Required) - The name of the service being provided * **category** - The category (sub-domain) for the service to be filed under. Defaults to `services`. Can be a comma-delimited list if you want a multi-level sub-domain in left-to-right order. * **host** - The host/ip the process can be reached on. Defaults to the ip the request is coming from * **port** (Required) - The port the process can be reached on * **priority** - The priority the process should be given in its pool. Default 1. * **weight** - The weight the process should be given in its pool. Default 100. For example: `GET /provide?service=foo&host=127.0.0.1&port=9999&priority=1` Once the websocket is created a corresponding DNS entry will be created. The client *should* periodically send websocket pings to the server, and the server will also send pings periodically. If the server's pings to the client fail it will immediately remove the client's entry from the service pool it was providing for.
评论
    相关推荐
    • DNSMonitor:DNS查找的即时可视化
      #DNS 查找的即时可视化 ##1.Description 使用 DNS 查找日志数据进行可视化,可以... 服务端进程:使用php和websocket tect构建动态网站。 立即与网络浏览器通信 前端流程:使用D3.js绘制给定DNS查找的地理图和动态路径
    • mongoose:Mongoose嵌入式Web服务器库-具有TCPUDP,HTTP,WebSocket,MQTT内置协议,异步D
      mongoose:Mongoose嵌入式Web服务器库-具有TCPUDP,HTTP,WebSocket,MQTT内置协议,异步DNS解析器和非阻塞API的多协议嵌入式网络库
    • hubbie:WebSocket管理器
      WebSocket服务器和客户端管理器 为什么? WebSocket客户端对象在其构造函数中使用一个URL,然后仅经历一个打开/关闭周期。 这对于短暂刷新不久的短时间网页可能是不错的选择,但是对于长时间运行的上下文(例如无或...
    • dnsbin:DNS请求的request.bin
      DNS请求的request.bin DNSBin是一个简单的工具,可以测试通过DNS进行的数据渗透,并在环境有很大限制时帮助测试RCE或XXE等漏洞。 该项目分为两个部分,第一个部分是Web服务器及其组件。 它提供了一个基本的Web UI...
    • websocket的代理OverSIP.zip
      Ruby实现的sip的websocket的代理 标签:OverSIP
    • Parking-Assist:基于ESP32的停车辅助系统,使用超声波测距和多LED显示屏
      泊车辅助 基于ESP32的停车辅助系统,使用超声波测距和多LED显示屏这...Websocket界面,用于传递参数 远程登录接口,用于从家庭网络内部调试和/或监视设备状态 支持的ArduinoOTA通过网络下载代码 用于网络地址发现的mDNS
    • radiovis-html5player:使用 WebSocket 的 RadioVis 播放器
      使用 WebSocket 的 RadioVis 播放器 一般架构 该系统分为两部分:服务器和客户端。 服务器是一个运行在任何机器上的简单进程,客户端是一组 javascript/css 文件,可以包含在任何部分中。 您可以在任何设置中使用...
    • Pawl:异步WebSocket客户端
      \ Ratchet \ Client \connect ( 'wss://echo.websocket.org:443' )-> then ( function ( $ conn ) { $ conn -> on ( 'message' , function ( $ msg ) use ( $ conn ) { echo "Received: {$msg}\n" ; $ conn -> ...
    • 螺栓:异步WebSocket客户端
      螺栓 用于PHP的异步WebSocket客户端库。 支持HyBi, 以及Hixie#76 (没有意义)。 它的构建纯粹是为了作为客户端,因为大多数可用的WS客户端也包含服务器,而且非常肿。...$ dns_factory = new React \ Dn
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档