服务治理(一)

来源:互联网 发布:吉祥网络投票公司 编辑:程序博客网 时间:2024/05/18 01:17

服务治理

RPC的不足:
1. 为了实现跨语言通信,编写IDL,但是一旦当业务发生变化后,需要重新编写IDL,重新生成接口代码
2. 当现场需要更新服务时,如何通知其他服务系统

1、 服务治理处理逻辑
阿里在众多系统的RPC通信的上层再架一层专门进行RPC通信的协调管理,称为服务治理(阿里的Dubbo和taobao的HSF)
1). 当服务提供者能够向外部系统提供调用服务时,它会首先向”服务管理组件”注册这个服务,包括服务名、访问权限、优先级、版本、参数、真实访问路径、有效时间等基本信息。
2). 当某一个服务使用者需要调用服务时,首先向”服务管理组件”询问服务的基本信息。”服务管理组件”验证服务使用者是否有权限进行调用,是否符合调用的前置条件等过滤,最终”服务管理组件”将真实的服务提供者所在的位置返回给服务使用者
3). 服务使用者拿到真实服务提供者的基本信息、调用权限后,再向真实的服务提供者发出调用请求,进行正式的业务调用

2、 服务治理的几个重要元素
服务管理组件、服务提供者、服务使用者

3、 利用thrift和zookeeper简单实现”自定义服务治理”的逻辑:
a. thrift作用;通过客户端与服务端传递要查询的服务名称,通过服务名称反射获取对应的服务对象,然后通过对象调用相关的方法

b. zookeeper的作用: 存储服务与对应的机器的关系配置

c. 客户端先获取zookeeper中的服务信息,然后调用真实的实际服务地址,并获取服务的结果

原创粉丝点击