服务治理之服务管理
2016-11-07
服务治理
如何管理服务
需要考虑的问题:
* 1. 服务信息注册
* 2. 如何保证服务信息一致
服务信息是服务发现很重要的部分,它是包含服务提供者的地址信息和提供服务的接口。 服务信息需要高可用而且随时更新。gateway可以缓存从服务信息。 然而,这些信息最终会变得过时,客户端也无法发现服务实例。 因此,服务信息必须保证是一个一个分布式可用。
目前可以使用的组件有:
etcd
consul
zookeeper
Kubernetes
eureka
最后,根据公司运维等方面考虑选择使用zookeeper
主要实现功能
1. 服务发现
主动注册和被动注册,我使用的是被动注册,因为调用方和服务方都是PHP,主动注册不方便
2. 服务管理
由于是被动注册,需要提供一个注册平台,主要提服务注册、授权、地址等信息管理
3. 通信
异步通信和同步通信,现在只实现同步通信
4. 访问控制
限制调用放key对服务方QPS、接口、有效时长
5. 数据交换编码
目前支持http下json、yar-msgpack相互转换