Eureka服务注册与发现

注册中心的创建
一、增长pom文件;
二、修改yml配置文件;
三、添加@EnableEurekaServer注解;
四、启动进入服务注册页面。
微服务注册到注册中心
一、添加yml配置,寻找注册中心地址
二、添加@EnableEurekaClient注解在启动类;
三、启动服务注册页面,新增了一个注册的微服务。
 配置修改:
<wiz_code_mirror>
 
 
 
 
 
 
 
 
 
Eureka: 
 instance: 
  instance-id: microservicecloud-8081 //主机映射名称的修改
  prefer-id-address: true //访问路径能够显示ip
//info内容构建,替换error页面,添加maven的build标签配置后,增长如下配置。
info: 
 app.name: microservice
 company.name: sun
 build.artifact.id: $project.artifactId$
 build.version: $project.version$
 
 
自我保护机制:
好死不如赖活着:宁肯保留错误的服务注册信息,也不盲目注销健康的服务实例。
小心跳数从新恢复到阀值以上时,该节点自动退出自我保护机制。
<wiz_code_mirror>
 
 
 
 
 
 
 
 
 
eureka: 
 server: 
  enable-self-preservation: false//禁用自我保护机制,通常不使用
 
 
服务发现:
一、在启动类上新增注解@EnableDiscoveryClient
二、注入并访问发现的服务
<wiz_code_mirror>
 
 
 
 
 
 
 
 
 
@AutoWired
private DiscoveryClient client;
@GetMapping(value = "/dept/discovery")
public Object discovery(){
 List<String> list = client.getServices();
    List<ServiceInstance> srvList = client.getInstances("MICROSERVICE");
}
 
 
Eureka集群:
一、新增2个Eureka模块,修改hosts配置文件;
二、修改yml配置文件
<wiz_code_mirror>
 
 
 
 
 
 
 
 
 
eureka: 
 client: 
  service-url: 
   #defaultZone: http://localhost:7001/eureka //单机版
   #defaultZone:http://eureka7002.com:7002/eureka/,http://eureka7002.com:7002/eureka/ #集群版
 
 
三、访问任意注册中心,在Ds Replicas 下新增了另外两个集群节点。
Eureka和ZooKeeper比较:
关系型数据库:事务实现了ACID理论;
非关系型数据库:分布式集群系统只能保证CAP原则的两项。
    一、CP原则:Zookeeper实现,一台宕机后,会再次寻找leader,这个时间段没法达到A原则;
    二、CA原则:Eureka实现,平等集群,一台宕机后,当即转发到另外一台上。
                自我保护机制保证高可用,在没心跳的状况下不会中止过时服务。
                通常配合BASE原则使用,保证最终的一致性便可。
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false">数据库

相关文章
相关标签/搜索