【问题标题】:Is there a platform/service agnostic definition for service handoff?是否有服务切换的平台/服务不可知定义?
【发布时间】:2016-05-09 11:30:21
【问题描述】:

我很好奇是否有服务切换定义的规范。例如,如果在 PaaS/IaaS 上提供了一项服务,最终用户需要一个包含服务是什么、可以访问端点的位置、发布的端口以及使用的身份验证的详细信息的哈希值。 (想想 HATEOAS ref_'s)我有几个模型可以看起来像:

对象存储示例

name: myobjstor
family: s3
about: https://aws.amazon.com/documentation/s3
zone: public
protocol:
  spec: http
  host: s3.mysite.com
  port: 443
  tls: true
authentication:
  strategy: oauth2
  username: someuser
  password: somepassword
definition:
  type: swagger
  url: 'https://mysite/swagger.json'

openstack 示例

name: myostack
family: openstack-keystone_v2.1
about: http://developer.openstack.org/api-ref.html
zone: public
protocol:
  spec: http
  host: keystone.mysite.com
  port: 443
  tls: true
authentication:
  strategy: oauth2
  username: someuser
  password: somepassword
definition:
  type: swagger
  url: 'https://mysite/swagger.json'

redis 示例

name: myredis
family: redis
about: http://redis.io/documentation
zone: public
protocol:
  spec: redis
  host: redis.mysite.com
  port: 6379
options:
  db: 0

nfs 示例

name: mynfs
family: nfs
about: http://nfs.sourceforge.net
zone: public
protocol:
  spec: nfsv4
  host: nfs.mysite.com
  ports: 
    - 111
    - 2049

这样的标准是否已经存在?

【问题讨论】:

  • 谁会“使用”这个规范?我可以想到这样一种情况,客户端希望同时访问 HTTP 服务和具有自定义协议的服务。为什么不给他们所有的 REST 服务呢?这就是我看到的趋势。
  • 这将是其余呼吁提供服务的教师。例如,如果客户调用 postgres 服务,则响应将包括端点将在何处使用的信息(ip、端口、协议、身份验证等)。我很好奇是否已经有这种响应的规范/模式。
  • 我们正在围绕名为“通用 puprose 服务激活切换定义”的规范进行 rfc 处理

标签: rest service cloud paas


【解决方案1】:

我建议您查看“服务发现”pattern

有几种工具可以轻松实现,但其中大多数使用键/值对来描述服务,例如请参阅etcd,但看起来 Consul 添加了一些可能对您有用的字段,请参阅here

领事定义示例

{
  "service": {
    "name": "redis",
    "tags": ["master"],
    "address": "127.0.0.1",
    "port": 8000,
    "enableTagOverride": false,
    "checks": [
      {
        "script": "/usr/local/bin/check_redis.py",
        "interval": "10s"
      }
    ]
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多