spring cloud基础学习1—服务发现注册中心(Eureka)

什么是spring Cloud

Spring Cloud是一系列框架的有序集合。由一些列组件(框架)组成,如服务发现注册配置中心Eureka、消息总线springCloudBus、断路器Hystrix、路由网关zuul、分布式配置中心springCloudConfig等。Spring Cloud是基于spring Boot,所以在学习Spring Cloud之前要先掌握Spring Boot。

二:什么是微服务

微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中。顾名思义“微”就是小,微服务也就是小的服务,较传统项目不同,传统项目往往是一个大的系统或者多个模块在一个服务中,任何一个模块更新都会影响其他模块,微服务不同,每个模块使用一个微服务,任何模块改动不会影响其他业务。较soa项目相比,微服务扩展性能高,维护成本更低,所以微服务更适合中小型公司。

三:认识服务注册中心Eureka

Eureka服务注册和发现,Eureka是基于REST(Representational State Transfer,代表性状态传输)的服务,主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移。Register:服务注册 ,Renew:服务续约 ,Fetch Registries:获取注册列表信息 ,Cancel:服务下线 ,Eviction 服务剔除 

用过Zookeeperd的人再回来学习Eureka的时候,会发现Eureka和Zookeeper很像。那为什么我们会放弃Zookeeper选择Eureka呢?CAP是Consistency一致性、Availablity可用性和Partition Tolerance分区容错性的缩写。一般的分布式系统最多满足其中两条。Zookeeper满足的事CP,Eureka满足的是AP,当ZK有一个Leader(领导者),当这个领导者挂了的时候会通过Paxos(ZAB)算法选举出一个新的Leader,但是当出现网络或者硬件等因素的时候,选举速度会变慢,如果此时客户端请求过来,会一直等到选举出新的Leader并且同步信息到Followers后才会响应信息给客户端,这虽然保证了数据的一致性,但是可用性极差,而Eureka没有Leader的概念,每个服务单独运行的,虽然当网络出现问题时,当宕机的服务器重新恢复后,Eureka会再次将其纳入到服务器集群管理之中,虽然不能保证数据的一致性,但是可用性极高,相对现在大数据时代,在高并发下,可用性显然比一致性更重要。

四:创建Eureka Server项目

1 首先创建一个maven工程。

pom.xml



2 启动一个服务注册中心需要使用@EnableEurekaServer注解,代表这是一个Eureka服务。
3 eurka是一个高可用组件,每一个实例注册都需要向eurka server发送心跳,心跳默认30秒,如果eurka server在一定时间未收到心跳默认80秒则会从注册列表剔除该实例,每个eurka server也是一个eurka client,需要指定一个eureka server。

4 启动工程,进入eureka server页面

Instances currently registered with Eureka下显示注册实例


五创建服务提供者

1 创建maven项目

pom.xml



2 创建一个Eureka client 需要使用@EnableEurekaClient注解。


3 在配置文件中配置Eureka server 地址等信息


4 启动后,会在Eureka server 页面看到 service-hi信息


 欢迎大家转载评论,转载借鉴请注明注册及原文链接,大家可以关注公众号:IT兴趣社区 好文章多多。


阅读更多

没有更多推荐了,返回首页