微服务技术之SpringCloud服务发现与注册

今天就来说说微服务技术之SpringCloud服务注册与发现。

我们先来说说RPC远程调用框架核心设计思想:在于注册中心,因为使用注册中心管理每个服务与服务之间的一个依赖关系(服务治理概念)

什么是服务治理

在传统的rpc远程调用框架中,管理每个服务于服务之家依赖关系比较复杂。

我们来画图举一个例子看看

如上图所示:我们有这么一个需求:

订单服务需要调用会员服务查询用户相关信息

我们使用HttpClient技术HttpClient.get("http://192.168.110.1/member");去调用会员服务,

思考一个问题:如果以后服务与服务之间的依赖关系非常多的情况下,服务url管理起来非常复杂,万一写错了也是麻烦事。

在这时候可以使用服务治理技术,管理每个服务与服务与服务之间的依赖关系。

注意:在微服务中:通讯协议采用http协议+JSON

有了上面的列子:我们来继续讲讲原理

任何RPC核心服务就是注册中心

(1)服务注册与发现原理,在任何rpc远程框架中,都会有一个注册中心。

  (2)  注册中心概念:存放服务地址相关信息(接口地址)

  SpringCloud中支持以下三种注册中心:Eureka,Consul(go语言编写),zookeeper

  Dubbo 支持常用两种Redis和Zookeeper

我们来说下两个概念:

服务提供者:提供服务接口的意思

服务消费者:调用别人接口进行使用

一个服务既可以作为提供者,也可以作为消费者

我们来看上图所示:

(1)首先启动注册中心,(eureka注册中心)

   (2)启动会员服务

 (3)会员服务在启动的时候,会把当前服务基本信息。比如服务地址和端口以别名方式注册到注册中心上去

 (4)消费者在调用接口的时候,使用服务别名也就是Serviceid去注册中心上获取实际rpc远程调用地址。

 (5)首先会缓存到jvm内容中,默认情况下eureka每隔30秒更新一次服务调用地址。

注意两个概念

服务注册:将服务信息注册到注册中心上

服务发现:从注册中心上获取服务信息

发布了26 篇原创文章 · 获赞 6 · 访问量 702

猜你喜欢

转载自blog.csdn.net/sdgames/article/details/104207510
今日推荐