第一章注册中心介绍1.1、什么是注册中心
注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式系统中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。简单的来说:服务注册中心的作用就是服务的注册和服务的发现。
1.2、为啥用注册中心
了解了什么是注册中心,那么我们继续谈谈,为什么需要注册中心。在分布式系统中,我们不仅仅是需要在注册中心找到服务和服务地址的映射关系这么简单,我们还需要考虑更多更复杂的问题:
服务注册后,如何及时发现服务宕机后,如何及时下线服务发现时,如何进行路由服务异常时,如何进行降级服务如何有效的水平扩展
这些问题的解决都依赖于注册中心。简单来看,注册中心的功能有点类似于DNS服务器或者负载均衡器,而实际上,注册中心作为微服务的基础组件,可能要更加复杂,也需要更多的灵活性和时效性。所以,我们还需要学习更多SpringCloud微服务组件协同完成应用开发。
1.3、常见的注册中心特性Eureka(会用)Nacos(重点)Consul(了解)Zookeeper(了解)CAPAPCP+APCPCP健康检查ClientBeatTCP/HTTP/MYSQL/ClientBeatTCP/HTTP/gRPC/CmdKeepAlive雪崩保护有有无无自动注销实例支持支持不支持支持访问协议HTTPHTTP/DNSHTTP/DNSTCP监听支持支持支持支持支持多数据中心支持支持支持不支持跨注册中心同步不支持支持支持不支持SpringCloud集成支持支持支持支持第二章Eureka介绍2.1、Eureka的介绍
Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务。SpringCloud将它集成在其子项目SpringCloudNetflix中,实现SpringCloud的服务注册与发现,同时还提供了负载均衡、故障转移等能力。
2.2、Eureka的三种角色EurekaServer:通过Register、Get、Renew等接口提供服务的注册和发现。ServiceProvider:服务提供方,把自身的服务实例注册到EurekaServer中。ServiceConsumer:服务调用方,通过EurekaServer获取服务列表,消费服务。2.3、Eureka的运行流程第三章Eureka入门案例3.1、创建注册中心
(1)在spring-cloud-study下创建一个子模块,名称叫:eureka-server
(2)在eureka-server的pom.xml中,添加以下依赖信息
dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.16/version/dependency/dependencies
(3)创建一个配置文件,名字叫application.yaml,然后把以下这段配置拷贝进去
server:port:spring:application
该名称在集群模式下应该保持一致name:eureka-servereureka:instance
服务注册中心实例的主机名hostname:localhostclient
是否将自己注册到注册中心,默认为true,单实例模式下需要设置为falseregister-with-eureka
alse#是否从注册中心获取服务注册信息,默认为true,单实例模式下需要设置为falsefetch-registry
alse#注册中心对外暴露的注册地址service-url
efaultZone: