Eureka虽然不再更新,我还是决定跟着DD先学习一下子
对于注册中心的选择,选择适合自己的来吧
开始啦
服务治理: Spring Cloud Eureka
Spring Cloud Eureka 是Spring Cloud Netflix微服务套件中的一部分,基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能
Spring Cloud 通过对Eureka增加了Springboot风格的自动化配置,只需通过简单引入依赖和注解配置就能让springboot构建的微服务应用轻松的域Eureka服务治理体系整合
001服务治理
服务治理主要用来实现各个微服务实例的自动化注册和发现。
服务注册:
服务发现
例如:服务清单
如果有2个提供服务A的进程和B的进程,有各自运行的位置,
这些进程都启动,并向注册中心注册自己的服务之后,注册中就会维护这样一个服务清单,
另外服务注册中心需要以心跳的方式去检查清单中的服务是否可用,而服务提供者也会维护一个心跳,用来持续告诉中心我还活着,这样来防止注册中心执行剔除任务(这种维护心跳叫做服务续约)
当现有服务C 调用服务B的时候,需要向注册中心发起咨询服务请求,问问服务B 的信息或位置之类的,服务注册中心就会将服务B的位置清单返回给服务C,如果是上面的服务清单,就获得了服务B的位置,192.168.0.100:9000、192.168.0.101:9000、192.168.0.102:9000,当服务C 要发起调用的时候,便从清单中以某种轮询策略取出一个位置来进行调用。
当然,实际的框架为了性能等因素,不会采用每次都向服务注册中心获取服务的方式,并且不同的应用场景,在缓存和服务剔除等机制上也会有一些不同的实现策略。
002 Netflix Eureka
Netflix Eureka包含了服务端组件和客户端组件。
Eureka服务端,也称为服务注册中心。支持高可用配置
Eureka客户端,主要处理服务的注册和发现。客户端服务通过注解和参数配置的方式嵌入在客户端应用程序代码中,在应用程序运行是,Eureka客户端向注册中心注册自身提供的服务,并周期性地发送心跳来更新他的服务租约,同时,他也能从服务端查询当前注册的服务信息并把他们缓存到本地并周期性地刷新服务状态
003搭建服务注册中心
Springboot版本我的是2.1.3.RELEASE
Spring Cloud 版本Greenwich.SR1
新建一个springboot基础工程----eureka,
1、 pom中添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2、通过注解@EnableEurekaServer 启动一个服务注册中心提供给其他应用进行对话
@SpringBootApplication
@EnableEurekaServer//启动一个注册中心
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
3、配置application.yml
服务注册中心会将自己作为客户端注册---要禁用这种行为。
eureka.client.register-with-eureka=false
并且由于注册中心的职责就是维护服务实例,他并不需要去检索服务,设置eureka.client.fetch-registry=false
server:
port: 1111
eureka:
client:
sevice-url:
defaultZone: http://localhost:1111/eureka/
register-with-eureka: false
fetch-registry: false
4、访问eureka信息面板 ---http://localhost:1111/
Instances currently registered with Eureka 栏是空的,说明:注册中心还没有注册任何服务。
待续。。。