博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
注册中心的选择和Eurake服务搭建
阅读量:2049 次
发布时间:2019-04-28

本文共 1749 字,大约阅读时间需要 5 分钟。

注册中心的选择和Eurake服务搭建

在上一篇介绍了微服务的基础架构(),里面也了解到注册中心有Zookeeper和Eurake,那我们在开发的时候选择哪一种作为服务注册中心呢?

客观的来说使用哪种作为注册中心都是可行的,但是还是得根据项目的具体需求来选择。

通过选择注册中心。

1.Zookeeper : cp设计,它保证了一致性和分区容错性,集群搭建的时候,某个节点失效,则会进⾏选举的leader,或者半数以上节点不可用,则无法提供服务,因此可用性没法满足。

2.Eurake : ap设计,无主从节点,一个节点挂了,自动切换其他节点可以使用,保证了可用性,但无法保证一致性。

分布式系统中p是必须要保证的要素,所以只能针对具体场景选择设计模式,

比如
金融系统,有大量的数据需要备份等,需要保证一致性,可选zookeeper
电商系统,需要保证系统响应时间,需要保证系统正常使用,这时候就要考虑系统的可用性,可选eurake。
我个人建议使用eurake,毕竟系统可用性还是挺重要的。

Euarke服务搭建

第一步:创建项目

idea创建项目,选择spring Initializr

在这里插入图片描述
然后下一步,完成maven的坐标配置之后,进入到依赖选择页面,
在这里插入图片描述
选择Cloud Discovery 里面的Eureka Server,这样就会自动给你加上相关Eureka的依赖。

第二步 添加注解 @EnableEurekaServer

Eurake注册服务有两个组件:Eurake Server(服务端)和Eurake Client(客户端)

@EnableEurekaServer用来声明服务为服务端,开启服务间对话。
启动流程:
在这里插入图片描述
Eurake服务端启动提供了注册服务(注册中心),各个其他客户端服务节点启动之后,会注册到注册中心,注册中心列表会存储其他节点的信息。

第三步 添加配置
# 默认的端口server.port=8761# 声明自己是服务端,不需要往自己身上注册eureka.client.register-with-eureka=falseeureka.client.fetch-registry=falseeureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

注意一点registerWithEureka和fetchRegistry,用来声明自己是个服务端,不要需要往自己身上注册。

在这里插入图片描述
这样Eurake服务就完成了,现在还没有消费者提供服务,下篇介绍客户端服务搭建。

Eurake注册服务注意事项
1. 自我保护模式禁止关闭

eureka管理后台出现一串红色字体:是警告,说明有服务上线率低

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE
NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT
BEING EXPIRED JUST TO BE SAFE.
关闭检查⽅法:eureka服务端配置文件加上
server:
enable-self-preservation: false
注意:自我保护模式禁止关闭,默认是开启状态true

2. 客户端为什么只加上注册中心地址就能注册?

这个属于后面的内容,这里先说一下,官网中有明显介绍:

By having spring-cloud-starter-netflix-eureka-client on the classpath, yourapplication automatically registers with the Eureka Server. Configuration isrequired to locate the Eureka server, as shown in the following example

就是说,主要加上注册中心配置,就能默认注册到注册中心上,所以加不加@EnableEurakeClient无所谓。

转载地址:http://onhof.baihongyu.com/

你可能感兴趣的文章
tcp协议端口解释(转载)
查看>>
三次挥手四次挥手(转载)
查看>>
keepalived
查看>>
php生成excel的另一种简单方法
查看>>
零基础子网划分(转载)
查看>>
子网(转载自百度百科)
查看>>
为你的静态资源使用cdn(转载)
查看>>
合并压缩css和Js的方式( 转载)
查看>>
压缩html,可以在输出之前使用(转载)
查看>>
用户中心和discuz的ucenter共通
查看>>
使用opcache为你的网站加速(转载)
查看>>
git push命令每次都要输入用户名和密码的问题处理
查看>>
在网站添加qq客服功能
查看>>
英文技术文档阅读练习——php的早期版本
查看>>
"Notice: unserialize(): Error at offset xx of xxx bytes"错误的处理(转载)
查看>>
windows下c/c++环境开发搭建
查看>>
php中的declare是干什么的——转载
查看>>
三种常见的排序算法
查看>>
ueditor自定义菜单(转载)
查看>>
php页面meta头设置
查看>>