SpringCloud学习(一)----Eureka

微服务架构风格图

 Eureka简介

注册发现中心

Eureka来源于古希腊词汇,意为“发现了”。在软件领域, Eureka是Netflix在线影片公司开源的一个服务注册与发现的组件,和其他Netflix 公司的服务组件(例如负载均衡、熔断器、网关等)一起,被Spring Cloud社区整合为Spring Cloud Netflix模块。Eureka是Netflix贡献给Spring Cloud的一个框架! Netflix给Spring cloud 贡献了很多框架。

分布式微服务-----CAP原则

一致性(Consistency):服务器中数据保持一致

可用性(Availability):当一个服务器挂掉时,集群中其他服务器可以继续使用,对外提供服务

分区容错性(Partition tolerance):允许各个原因导致的各个服务器中的数据短暂不同---必须满足

CAP原则指出以上三个要素只能同时实现两点,三者不能同时满足

Eureka为AP(数据可能不一致但是拥有高可用性)     

zookeeper为CP(数据一致但是有服务器宕机时整个服务会有几分钟不能提供服务)

 Eureka快速入门

两种Eureka

1.搭建一个注册中心,提供注册的服务----Eureka-server

2.创建客户端,继续注册----Eureka-client

注意:Eureka-server可以自己注册自己

搭建注册中心

创建一个Eureka依赖的SpringCloud项目

Eureka Server依赖本身提供了web服务

 在pom文件中修改SpringBoot和SpringCloud依赖的版本

 编辑配置文件

server:
  port: 8761  #Eureka 的默认端口是8761
spring:
  application:
    name: eureka-server-a #自定义应用名称,一般使用 -  不要使用特殊字符

在主启动文件上加上注解@EnableEurekaServer

package com.ys;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer  //启动Eureka服务
public class EurekaServerAApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerAApplication.class, args);
    }

}

启动项目,在网页打开

一个应用可以拥有多个实例

 搭建客户端

选择依赖,Eureka Discovery Client 不包含web依赖所以要单独加入

  在pom文件中修改SpringBoot和SpringCloud依赖的版本

编辑配置文件

server:
  port: 8080   #客户端的端口没有要求
spring:
  application:
    name: eureka-client-a
#注册的含义是指将自己的信息(ip,端口(port)等等)发送到(某个地方)
eureka:
  client:
    service-url:    #指定注册地址
      defaultZone: http://localhost:8761/eureka #将信息发送到该地址  注意defaultZone没有提示

在主启动类上添加注解@EnableEurekaClient

package com.ys;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient   //启动客户端服务
public class EurekaClientAApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientAApplication.class, args);
    }

}

 打开网页,查看实例列表,查看是否注册成功

 安装相同的方法再创建一个客户端

最后结果如下

同一个应用创建多个实例

因为前面创建的客户端的例子没有写入其他东西,使用进行复制修改端口即可达到目的

将任意一个客户端的启动文件进行复制

并使用 --server.port:端口号  进行端口的修改 并启动

 查看网页结果

 配置文件详解

 注册中心应该考虑的问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值